void net_msg_cmd_do(void) { CHECKPOINT(0x44) delay100(2); // commands 40-49 are special AT commands, thus, disable net_msg here if ((net_msg_cmd_code < 40) || (net_msg_cmd_code > 49)) net_msg_start(); // Execute cmd: ask car module to execute first: if ((vehicle_fn_commandhandler == NULL)|| (! vehicle_fn_commandhandler(TRUE, net_msg_cmd_code,net_msg_cmd_msg))) { // Car module does not feel responsible, fall back to standard: if( !net_msg_cmd_exec() ) { // No standard as well => return "unimplemented" STP_UNIMPLEMENTED(net_scratchpad, net_msg_cmd_code); net_msg_encode_puts(); } } // terminate IPSEND by Ctrl-Z (should this be disabled for commands 40-49 as well?) net_msg_send(); #ifdef OVMS_ACCMODULE acc_handle_msg(TRUE, net_msg_cmd_code, net_msg_cmd_msg); #endif // clear command net_msg_cmd_code = 0; net_msg_cmd_msg[0] = 0; }
BOOL net_sms_handle_unvalet(char *caller, char *command, char *arguments) { if (vehicle_fn_commandhandler != NULL) vehicle_fn_commandhandler(FALSE, 23, arguments); net_send_sms_start(caller); net_puts_rom(NET_MSG_UNVALET); return TRUE; }
BOOL net_sms_handle_lock(char *caller, char *command, char *arguments) { if (vehicle_fn_commandhandler != NULL) vehicle_fn_commandhandler(FALSE, 20, arguments); net_send_sms_start(caller); net_puts_rom(NET_MSG_LOCK); return TRUE; }
BOOL net_sms_handle_homelink(char *caller, char *command, char *arguments) { if (vehicle_fn_commandhandler != NULL) vehicle_fn_commandhandler(FALSE, 24, arguments); net_send_sms_start(caller); net_puts_rom(NET_MSG_HOMELINK); return TRUE; }
BOOL net_sms_handle_cooldown(char *caller, char *command, char *arguments) { if (vehicle_fn_commandhandler != NULL) vehicle_fn_commandhandler(FALSE, 25, NULL); net_send_sms_start(caller); net_puts_rom(NET_MSG_COOLDOWN); return TRUE; }
BOOL net_sms_handle_chargestop(char *caller, char *command, char *arguments) { if (vehicle_fn_commandhandler != NULL) vehicle_fn_commandhandler(FALSE, 12, NULL); net_notify_suppresscount = 30; // Suppress notifications for 30 seconds net_send_sms_start(caller); net_puts_rom(NET_MSG_CHARGESTOP); return TRUE; }
BOOL net_sms_handle_chargestart(char *caller, char *command, char *arguments) { if (vehicle_fn_commandhandler != NULL) vehicle_fn_commandhandler(FALSE, 11, NULL); net_notify_suppresscount = 0; // Enable notifications net_send_sms_start(caller); net_puts_rom(NET_MSG_CHARGESTART); return TRUE; }
BOOL net_sms_handle_cooldown(char *caller, char *command, char *arguments) { if (vehicle_fn_commandhandler != NULL) vehicle_fn_commandhandler(FALSE, 25, NULL); net_send_sms_start(caller); net_puts_rom(NET_MSG_COOLDOWN); #ifdef OVMS_ACCMODULE acc_handle_msg(FALSE, 25, NULL); #endif return TRUE; }
// Set charge mode (params: 0=standard, 1=storage,3=range,4=performance) and optional current limit BOOL net_sms_handle_chargemode(char *caller, char *command, char *arguments) { char mode[2]; if (arguments == NULL) return FALSE; strupr(arguments); if (vehicle_fn_commandhandler != NULL) { mode[0] = '0' + string_to_mode(arguments); mode[1] = 0; vehicle_fn_commandhandler(FALSE, 10, mode); arguments = net_sms_nextarg(arguments); if (arguments != NULL) vehicle_fn_commandhandler(FALSE, 15, arguments); } net_send_sms_start(caller); net_puts_rom(NET_MSG_CHARGEMODE); return TRUE; }