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());
}
Beispiel #2
0
//
// 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;
}
Beispiel #6
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");


}
Beispiel #9
0
void functC(){
	int cptC = 0;
  	uart_send_str("funcC\n"); 
	if(cptC == 15){
		return;
	}else{
		cptC++;
	}
}
Beispiel #10
0
void funcB(){
	int	cptB = 1;
	while(1) {
		cptB += 2;
  		uart_send_str("funcB\n"); 
		if(cptB>150000000){
			cptB=0;
		}
	}
}
Beispiel #11
0
void funcA() {
	int	cptA = 0;
	sys_wait(3);
	while(1) {
		cptA ++;
  		uart_send_str("funcA\n"); 
		if(cptA>1500000){
			cptA = 0;
		}
	}
}
Beispiel #12
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());
}