コード例 #1
0
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();
}
コード例 #2
0
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();
}