PROCESS_THREAD(nodetest_process, ev, data) { uint16_t tmp; char tempstr[32]; uint32_t adc = 0; const uint8_t gain = 32; static struct etimer et; PROCESS_BEGIN(); broadcast_open(&broadcast, 129, &broadcast_call); printf("Initiating stcn75\r\n"); stcn75_init(); lmp_init(); lmp_setup(); while(1) { /* Delay 2-4 seconds */ etimer_set(&et, CLOCK_SECOND * 2 + random_rand() % (CLOCK_SECOND * 2)); //etimer_set(&et, CLOCK_SECOND); PROCESS_WAIT_EVENT_UNTIL(etimer_expired(&et)); //Reading ic temp stcn75_read(&tmp); //Reading probe temp if(lmp_read_data(ADC_DONE, 1) == 0xFF){ printf("ADC data NOT Avlaiable\r\n"); }else { adc = lmp_read_data(ADC_DOUT, 3); } //Converting ic tmp and RAWadc/gain data to string adc = adc/gain; adc = adc << 8; adc |= tmp; snprintf(tempstr, sizeof(tempstr), "%d", adc); //Transmitting string packetbuf_copyfrom(tempstr, strlen(tempstr)+1); broadcast_send(&broadcast); printf("broadcast message sent, data: %s\n\r",tempstr); // playing with RADIO settings... // printf("power: %d\r\n",rf230_get_txpower()); //printf("return: %d\r\n",rf230_cw_on()); //rf230_cw_off(); } PROCESS_END(); }
PROCESS_THREAD(gatewaytest_process, ev, data) { static struct etimer et; PROCESS_BEGIN(); char tempstr[32]; uint16_t tmp; broadcast_open(&broadcast, 129, &broadcast_call); printf("Initiating em4325\r\n"); em_init(); stcn75_init(); while(1) { etimer_set(&et, CLOCK_SECOND); PROCESS_WAIT_EVENT_UNTIL(etimer_expired(&et)); //leds_toggle(LEDS_ALL); //read em mem //printf("read em status: %x\r\n",em_get_status()); //printf("mem: %x ", em_read_word(0x2c)); //write em mem //printf("write status: %x\r\n",em_write_word(0x2C,0xacab)); //read gateway temp //stcn75_read(&tmp); //printf("onboard temp: %dC \r\n",tmp); //Send hello /* packetbuf_copyfrom("Hello", 6); broadcast_send(&broadcast); printf("broadcast message sent\n\r"); */ } PROCESS_END(); }