void ICACHE_FLASH_ATTR dhserial_commands_config(const char *args) { uart_send_str("Wi-Fi SSID: "); uart_send_line(dhsettings_get_wifi_ssid()); uart_send_str("DeviceHive Server: "); uart_send_line(dhsettings_get_devicehive_server()); uart_send_str("DeviceHive DeviceId: "); uart_send_line(dhsettings_get_devicehive_deviceid()); }
// // Permet d'envoyer un entier signé void uart_send_int(int n) { int ten_pow; char str[16]; int str_i = 0; int start_conv = 0; // Cas du 0 if (n == 0) { str[0] = '0'; str[1] = 0; uart_send_str(str); return; } // Négatif ? if ((n & 0x80000000) != 0) { str[str_i++] = '-'; n -= 1; n = ~n; } for (ten_pow = 9; ten_pow >= 0; ten_pow--) { int digit = 0; while (n >= TEN_POW[ten_pow]) { n -= TEN_POW[ten_pow]; digit++; } if (digit > 0) { str[str_i++] = (char)(digit + 48); if (start_conv == 0) { int zero_pad_i; for (zero_pad_i = 0; zero_pad_i < ten_pow; zero_pad_i++) { str[str_i + zero_pad_i] = '0'; } str[str_i + zero_pad_i] = 0; start_conv = 1; } } else if (start_conv == 1) { str_i++; } } uart_send_str(str); }
void ICACHE_FLASH_ATTR dhserial_commands_uname(const char *args) { char digitBuff[32]; uart_send_line("DeviceHive ESP8266 firmware "FIRMWARE_VERSION" [Built: "__TIME__" "__DATE__"]"); uart_send_line("Created by Nikolay Khabarov."); uart_send_str("ChipID: 0x"); snprintf(digitBuff, sizeof(digitBuff), "%X", system_get_chip_id()); uart_send_str(digitBuff); uart_send_str(", SDK version: "); uart_send_str(system_get_sdk_version()); uart_send_line(""); }
LOCAL void ICACHE_FLASH_ATTR nslookup_res(const char *name, ip_addr_t *ip, void *arg) { char ipstr[16]; if (ip == NULL) { uart_send_line("FAILED"); } else { sprintIp(ipstr, ip); uart_send_str("Host "); uart_send_str(name); uart_send_str(" IP is "); uart_send_line(ipstr); } }
LOCAL void ICACHE_FLASH_ATTR ping_done_cb(void* arg, void *pdata) { char digitbuf[16]; struct ping_option *pingopt = (struct ping_option *)arg; if(dhserial_get_mode() == SM_OUTPUT_MODE) { uart_send_str("Total sent: "); snprintf(digitbuf, sizeof(digitbuf), "%d", mSent); uart_send_str(digitbuf); uart_send_str(", received: "); snprintf(digitbuf, sizeof(digitbuf), "%d", mRecieved); uart_send_str(digitbuf); uart_send_str(", lost: "); snprintf(digitbuf, sizeof(digitbuf), "%d", mLost); uart_send_str(digitbuf); if(mRecieved) { uart_send_str(", average time: "); snprintf(digitbuf, sizeof(digitbuf), "%d", mTotalDelay/mRecieved); uart_send_str(digitbuf); uart_send_line(" ms"); } else { uart_send_line(""); } dhserial_set_mode(SM_NORMAL_MODE, 0, 0); } mIsCommandWorking = 0; }
void print_uint(uint16_t uart, uint32_t x, int ndigits) { char buf[10]; uart_send_str(uart,itoh(buf,x)+(8-ndigits)); }
LOCAL void ICACHE_FLASH_ATTR ping_cb(void* arg, void *pdata) { char digitbuf[16]; struct ping_option *pingopt = (struct ping_option *)arg; struct ping_resp *pingresp = (struct ping_resp *)pdata; if(dhserial_get_mode() == SM_OUTPUT_MODE) { mSent++; if(pingresp->ping_err == 0) { mRecieved++; mTotalDelay += pingresp->resp_time; snprintf(digitbuf, sizeof(digitbuf), "%d", pingresp->bytes); uart_send_str(digitbuf); uart_send_str(" bytes received from "); sprintIp(digitbuf, (const struct ip_addr *)&pingopt->ip); uart_send_str(digitbuf); uart_send_str(" in "); snprintf(digitbuf, sizeof(digitbuf), "%d", pingresp->resp_time); uart_send_str(digitbuf); uart_send_str(" ms, icmp_seq = "); snprintf(digitbuf, sizeof(digitbuf), "%d", mSent); uart_send_line(digitbuf); } else { mLost++; uart_send_str("Request timed out, icmp_seq = "); snprintf(digitbuf, sizeof(digitbuf), "%d", mSent); uart_send_line(digitbuf); } } }
void set_rtc() { uart_send_str("Insert actual date in format \"dd/mm/yyyy hh:mm:ss\". Example: 15/06/2009 13:45:30"); }
void functC(){ int cptC = 0; uart_send_str("funcC\n"); if(cptC == 15){ return; }else{ cptC++; } }
void funcB(){ int cptB = 1; while(1) { cptB += 2; uart_send_str("funcB\n"); if(cptB>150000000){ cptB=0; } } }
void funcA() { int cptA = 0; sys_wait(3); while(1) { cptA ++; uart_send_str("funcA\n"); if(cptA>1500000){ cptA = 0; } } }
void print_cpu_info(uint16_t uart) { char buf[100]; int i; for (i = 0; i < 3; i++) { buf_100[0] = 0; strcat(buf_100,"UID "); strcat(buf_100,itoh(buf,i)+7); strcat(buf_100,": "); strcat(buf_100,itoh(buf,UNIQUE_ID->UID[i])); strcat(buf_100,"\r\n"); uart_send_str(uart,buf_100); } buf_100[0] = 0; strcat(buf_100,"MEMSIZE "); strcat(buf_100,itoh(buf,MEMSIZE)+4); strcat(buf_100,"\r\n"); uart_send_str(uart,buf_100); }
void uart_adc_send(uint32_t adc1, uint32_t adc2, uint32_t adc3){ uart_send_str(_u2s(adc1), 4); uart_send_str(",", 1); uart_send_str(_u2s(adc2), 4); uart_send_str(",", 1); uart_send_str(_u2s(adc3), 4); uart_send_str("\n", 1); }
void ICACHE_FLASH_ATTR dhserial_commands_status(const char *args) { uint8 mac[6]; char digitBuff[32]; if(!wifi_get_macaddr(STATION_IF, mac)) { uart_send_line("Failed to get mac address"); } else { struct station_config stationConfig; system_print_meminfo(); if(!wifi_station_get_config(&stationConfig)) { uart_send_line("Could not get station config"); os_memset(&stationConfig, 0, sizeof(stationConfig)); } uart_send_str("Network adapter "); sprintMac(digitBuff, mac); uart_send_str(digitBuff); switch(wifi_station_get_connect_status()) { case STATION_IDLE: uart_send_line(" is in idle"); break; case STATION_CONNECTING: uart_send_str(" is connecting to "); uart_send_line(stationConfig.ssid); break; case STATION_WRONG_PASSWORD: uart_send_str(" has wrong password for "); uart_send_line(stationConfig.ssid); break; case STATION_NO_AP_FOUND: uart_send_str(" can not find AP with SSID "); uart_send_line(stationConfig.ssid); break; case STATION_CONNECT_FAIL: uart_send_str(" has fail while connecting to "); uart_send_line(stationConfig.ssid); break; case STATION_GOT_IP: { uart_send_str(" is connected to "); uart_send_line(stationConfig.ssid); struct ip_info info; if(!wifi_get_ip_info(STATION_IF, &info)) { uart_send_line("Failed to get ip info"); } else { uart_send_str("IP: "); sprintIp(digitBuff, &info.ip); uart_send_str(digitBuff); uart_send_str(", netmask: "); sprintIp(digitBuff, &info.netmask); uart_send_str(digitBuff); uart_send_str(", gateway: "); sprintIp(digitBuff, &info.gw); uart_send_line(digitBuff); } break; } default: uart_send_line("is in unknown state"); break; } uart_send_str("DeviceHive: "); switch(dhconnector_get_state()) { case CS_DISCONNECT: uart_send_line("connection is not established."); break; case CS_GETINFO: uart_send_line("getting info from server."); break; case CS_REGISTER: uart_send_line("registering device."); break; case CS_POLL: uart_send_line("successfully connected to server."); break; default: uart_send_line("unknown state"); break; } } uart_send_str("Free heap size: "); snprintf(digitBuff, sizeof(digitBuff), "%d", system_get_free_heap_size()); uart_send_str(digitBuff); uart_send_line(" bytes."); }
void ICACHE_FLASH_ATTR dhserial_commands_debug(const char *args) { uart_send_line("Debug output enabled. Press 'q' for exit."); dhserial_set_mode(SM_DEBUG_MODE, 0, 0); uart_send_str(dhserial_get_debug_ouput()); }