BOOL net_sms_handle_paramsq(char *caller, char *command, char *arguments) { unsigned char k, splen, msglen; char *p, *s; if (sys_features[FEATURE_CARBITS]&FEATURE_CB_SOUT_SMS) return FALSE; net_send_sms_start(caller); net_puts_rom("Params:"); msglen=7; for (k=0; k<PARAM_MAX; k++) { p = par_get(k); if (*p != 0) { s = stp_i(net_scratchpad, "\n", k); s = stp_s(s, ":", p); splen = s - net_scratchpad; if((msglen+splen) > 160) { // SMS becomes too long, finish & start next: net_send_sms_finish(); delay100(20); net_send_sms_start(caller); net_puts_rom("Params:"); msglen=7+splen; } net_puts_ram(net_scratchpad); } } return TRUE; }
BOOL net_sms_handle_gprsq(char *caller, char *command, char *arguments) { char *s; if (sys_features[FEATURE_CARBITS]&FEATURE_CB_SOUT_SMS) return FALSE; net_send_sms_start(caller); s = stp_rom(net_scratchpad, "GPRS:"); s = stp_s(s, "\r\n APN:", par_get(PARAM_GPRSAPN)); s = stp_s(s, "\r\n User:"******"\r\n Password:"******"\r\n GSM:", car_gsmcops); if (!inputs_gsmgprs()) s = stp_rom(s, "\r\n GPRS: DISABLED"); else if (net_msg_serverok) s = stp_rom(s, "\r\n GPRS: OK\r\n Server: Connected OK"); else if (net_state == NET_STATE_READY) s = stp_rom(s, "\r\n GSM: OK\r\n Server: Not connected"); else { s = stp_x(s, "\r\n GSM/GPRS: Not connected (0x", net_state); s = stp_rom(s, ")"); } net_puts_ram(net_scratchpad); return TRUE; }
BOOL net_sms_handle_gsmlockq(char *caller, char *command, char *arguments) { char *p; if (sys_features[FEATURE_CARBITS]&FEATURE_CB_SOUT_SMS) return FALSE; net_send_sms_start(caller); net_puts_rom("GSMLOCK: "); p = par_get(PARAM_GSMLOCK); if (*p == 0) { net_puts_rom("(none)\r\n"); } else { net_puts_ram(p); net_puts_rom("\r\n"); } stp_s(net_scratchpad, "Current: ", car_gsmcops); net_puts_ram(net_scratchpad); return TRUE; }
void net_send_sms_ram(char* number, const char* message) { if (sys_features[FEATURE_CARBITS]&FEATURE_CB_SOUT_SMS) return; net_send_sms_start(number); net_puts_ram(message); net_send_sms_finish(); }
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_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_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_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; }
void net_send_sms_rom(char* number, static const rom char* message) { #ifdef OVMS_SUPPRESS_OUTGOING_SMS return; #endif net_send_sms_start(number); net_puts_rom(message); net_puts_rom("\x1a"); }
BOOL net_sms_handle_pass(char *caller, char *command, char *arguments) { // Password may not be empty: if (*arguments == 0) { net_send_sms_start(caller); net_puts_rom(NET_MSG_INVALID); return TRUE; } par_set(PARAM_MODULEPASS, arguments); if (sys_features[FEATURE_CARBITS]&FEATURE_CB_SOUT_SMS) return FALSE; net_send_sms_start(caller); net_puts_rom(NET_MSG_PASSWORD); 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_register(char *caller, char *command, char *arguments) { par_set(PARAM_REGPHONE, caller); if (sys_features[FEATURE_CARBITS]&FEATURE_CB_SOUT_SMS) return FALSE; net_send_sms_start(caller); net_puts_rom(NET_MSG_REGISTERED); return TRUE; }
void net_sms_alarm(char* number) { char *p; if (sys_features[FEATURE_CARBITS]&FEATURE_CB_SOUT_SMS) return; delay100(2); net_send_sms_start(number); net_puts_rom(NET_MSG_ALARM); net_send_sms_finish(); }
void net_sms_valettrunk(char* number) { char *p; if (sys_features[FEATURE_CARBITS]&FEATURE_CB_SOUT_SMS) return; delay100(2); net_send_sms_start(number); net_puts_rom(NET_MSG_VALETTRUNK); net_send_sms_finish(); }
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; }
BOOL net_sms_handle_passq(char *caller, char *command, char *arguments) { char *p = par_get(PARAM_MODULEPASS); if (sys_features[FEATURE_CARBITS]&FEATURE_CB_SOUT_SMS) return FALSE; net_send_sms_start(caller); stp_s(net_scratchpad, "Module password: ", p); net_puts_ram(net_scratchpad); return TRUE; }
BOOL net_sms_handle_registerq(char *caller, char *command, char *arguments) { char *p = par_get(PARAM_REGPHONE); if (sys_features[FEATURE_CARBITS]&FEATURE_CB_SOUT_SMS) return FALSE; net_send_sms_start(caller); stp_s(net_scratchpad, "Registered number: ", p); net_puts_ram(net_scratchpad); return TRUE; }
void net_sms_gps(char* number) { delay100(2); net_send_sms_start(number); net_puts_rom(NET_MSG_GOOGLEMAPS); format_latlon(car_latitude,net_scratchpad); net_puts_ram(net_scratchpad); net_puts_rom(","); format_latlon(car_longitude,net_scratchpad); net_puts_ram(net_scratchpad); net_puts_rom("\x1a"); }
void net_sms_stat(char* number) { char *p; #ifdef OVMS_SUPPRESS_OUTGOING_SMS return; #endif delay100(2); net_send_sms_start(number); switch (car_chargemode) { case 0x00: net_puts_rom("Standard - "); // Charge Mode Standard break; case 0x01: net_puts_rom("Storage - "); // Storage break; case 0x03: net_puts_rom("Range - "); // Range break; case 0x04: net_puts_rom("Performance - "); // Performance } switch (car_chargestate) { case 0x01: net_puts_rom("Charging"); // Charge State Charging break; case 0x02: net_puts_rom("Charging, Topping off"); // Topping off break; case 0x04: net_puts_rom("Charging Done"); // Done break; default: net_puts_rom("Charging Stopped"); // Stopped } net_puts_rom(" \rIdeal Range: "); // Ideal Range p = par_get(PARAM_MILESKM); if (*p == 'M') // Kmh or Miles sprintf(net_scratchpad, (rom far char*)"%u mi", car_idealrange); // Miles else sprintf(net_scratchpad, (rom far char*)"%u Km", (unsigned int) (((float) car_idealrange * 1.609))+0.5); // Kmh net_puts_ram(net_scratchpad); net_puts_rom(" \rSOC: "); sprintf(net_scratchpad, (rom far char*)"%u%%", car_SOC); // 95% net_puts_ram(net_scratchpad); net_puts_rom("\x1a"); }
BOOL net_sms_stat(char* number) { if (sys_features[FEATURE_CARBITS]&FEATURE_CB_SOUT_SMS) return FALSE; delay100(2); net_send_sms_start(number); net_prep_stat(net_scratchpad); cr2lf(net_scratchpad); net_puts_ram(net_scratchpad); return TRUE; }
void net_sms_alert(char* number, alert_type alert) { if (sys_features[FEATURE_CARBITS]&(FEATURE_CB_SOUT_SMS|FEATURE_CB_SVALERTS)) return; delay100(2); net_send_sms_start(number); net_prep_alert(net_scratchpad, alert); cr2lf(net_scratchpad); net_puts_ram(net_scratchpad); net_send_sms_finish(); }
void net_sms_socalert(char* number) { char *s; delay100(10); net_send_sms_start(number); s = stp_i(net_scratchpad, "ALERT!!! CRITICAL SOC LEVEL APPROACHED (", car_SOC); // 95% s = stp_rom(s, "% SOC)"); net_puts_ram(net_scratchpad); net_send_sms_finish(); delay100(5); }
BOOL net_sms_handle_vehicleq(char *caller, char *command, char *arguments) { char *s; if (sys_features[FEATURE_CARBITS]&FEATURE_CB_SOUT_SMS) return FALSE; net_send_sms_start(caller); s = stp_rom(net_scratchpad, "Vehicle:"); s = stp_vehicletype(s); net_puts_ram(net_scratchpad); return TRUE; }
void net_sms_params(char* number) { unsigned char k; char *p; net_send_sms_start(number); net_puts_rom("Params:"); for (k=0;k<PARAM_MAX;k++) { sprintf(net_scratchpad, (rom far char*)" %u:", k); net_puts_ram(net_scratchpad); net_puts_ram(par_get(k)); } net_puts_rom("\x1a"); }
BOOL net_sms_handle_vehicleq(char *caller, char *command, char *arguments) { char *s; if (sys_features[FEATURE_CARBITS]&FEATURE_CB_SOUT_SMS) return FALSE; net_send_sms_start(caller); s = stp_rom(net_scratchpad, "Vehicle:"); s = stp_s(s, "\r\n VehicleType: ", par_get(PARAM_VEHICLETYPE)); net_puts_ram(net_scratchpad); return TRUE; }
BOOL net_sms_handle_help(char *caller, char *command, char *arguments) { int k; if (sys_features[FEATURE_CARBITS]&FEATURE_CB_SOUT_SMS) return FALSE; net_send_sms_start(caller); net_puts_rom("Commands:"); for (k=0; sms_cmdtable[k][0] != 0; k++) { net_puts_rom(" "); net_puts_rom(sms_cmdtable[k]+1); } return TRUE; }
BOOL net_sms_ctp(char* number, char *arguments) { char *p; if (sys_features[FEATURE_CARBITS]&FEATURE_CB_SOUT_SMS) return FALSE; delay100(2); net_send_sms_start(number); net_prep_ctp(net_scratchpad, arguments); cr2lf(net_scratchpad); net_puts_ram(net_scratchpad); return TRUE; }
BOOL net_sms_handle_diag(char *caller, char *command, char *arguments) { char *s; if (sys_features[FEATURE_CARBITS] & FEATURE_CB_SOUT_SMS) return FALSE; net_send_sms_start(caller); s = stp_rom(net_scratchpad, "DIAG:"); s = stp_i(s, "\n RED Led:", led_code[OVMS_LED_RED]); s = stp_i(s, "\n GRN Led:", led_code[OVMS_LED_GRN]); s = stp_x(s, "\n NET State:0x", net_state); if (car_12vline > 0) { s = stp_l2f(s, "\n 12V Line:", car_12vline, 1); s = stp_l2f(s, " ref=", car_12vline_ref, 1); } #ifndef OVMS_NO_CRASHDEBUG /* DEBUG / QA stats: output crash counter and decode last reason: */ s = stp_i(s, "\n Crashes:", debug_crashcnt); if (debug_crashreason) { s = stp_rom(s, "\n ..last:"); if (debug_crashreason & 0x01) s = stp_rom(s, " BOR"); // Brown Out Reset if (debug_crashreason & 0x02) s = stp_rom(s, " POR"); // Power On Reset if (debug_crashreason & 0x04) s = stp_rom(s, " PD"); // Power-Down Detection if (debug_crashreason & 0x08) s = stp_rom(s, " TO"); // Watchdog Timeout if (debug_crashreason & 0x10) s = stp_rom(s, " RI"); // Reset Instruction if (debug_crashreason & 0x20) s = stp_rom(s, " STKFUL"); // Stack overflow if (debug_crashreason & 0x40) s = stp_rom(s, " STKUNF"); // Stack underflow s = stp_i(s, " - ", debug_checkpoint); } #endif // OVMS_NO_CRASHDEBUG net_puts_ram(net_scratchpad); return TRUE; }
BOOL net_sms_handle_temps(char *caller, char *command, char *arguments) { char *s; s = stp_i(net_scratchpad, "Temperatures:\r\n Ambient: ", car_ambient_temp); s = stp_i(s, "C\r\n PEM: ", car_tpem); s = stp_i(s, "C\r\n Motor: ", car_tmotor); s = stp_i(s, "C\r\n Battery: ", car_tbattery); s = stp_rom(s, "C"); if ((car_stale_ambient==0)||(car_stale_temps==0)) s = stp_rom(s, "\r\n (stale)"); net_send_sms_start(caller); net_puts_ram(net_scratchpad); return TRUE; }