Here is the code. I did not include calling statement like #include <.....>
/---------------------- Computation of RSSI---------------------------------/
/* This assumes that the CC2420 is always on and "stable" */
static void
setting_frq(int c)
{
int f;
f = c + 302 + 0x4000;
FASTSPI_SETREG(CC2420_FSCTRL, f);
FASTSPI_STROBE(CC2420_SRXON);
}
//RSSI
static int do_rssi(void)
{
int channel = 26;
int RSSIvalue;
setting_frq(channel + 55);
RSSIvalue = cc2420_rssi();
return RSSIvalue;
}
PROCESS(process_test, "This is a test");
AUTOSTART_PROCESSES(&process_test);
static void
recv_from(struct test_conn *c, rimeaddr_t *origine, uint8_t seqno)
{
extern rimeaddr_t rimeaddr_node_addr;
printf("node %d.%d: send to node %d.%d:sequence Num(%u):'%.*s'\n",
origine->u8[0],origine->u8[1],
rimeaddr_node_addr.u8[0],rimeaddr_node_addr.u8[1], seqno,
rimebuf_datalen(),
(char *)rimebuf_dataptr());
}
static const struct test_callbacks test_call = {recv_from};
static struct test_conn test_conn;
/--------------------This contains the code of the process--------------------/
PROCESS_THREAD(process_broadcasting, ev, data)
{
PROCESS_EXITHANDLER(test_close(&test_conn)
PROCESS_BEGIN();
test_open(&test_conn, 200, &test_call);
rime_mac->off(0);
cc2420_on();
SENSORS_ACTIVATE(battery_sensor);
while(1) {
static struct etimer et;
static unsigned rh;
unsigned Temperature;
uint16_t volt;
int len, rssi;
etimer_set(&et, CLOCK_SECOND * 5);
PROCESS_WAIT_EVENT_UNTIL(etimer_expired(&et));
rh = sht11_humidity();
volt = battery_sensor.value(0);
Temperature = (unsigned) (-39.60 + 0.01 * sht11_temp());
rssi = do_rssi();
/------ Battery voltage calculation formula
V(Battery Voltage) = v(Voltage Reference) * 1024 / ADC
Where: v = 1.223 ------/
rimebuf_clear();
len = snprintf((char )rimebuf_dataptr(), RIMEBUF_SIZE,
"temperature(C);RSSI(dBm);ADC value(V);humid: %u %d %d.%dV %u%%",
Temperature,
rssi,(volt / 819), ((10 * volt / 819) % 10),
(unsigned) (-4 + 0.0405rh - 2.8e-6*(rh*rh)));
rimebuf_set_datalen(len);
}
PROCESS_END();
}
/---------------------------------------------------------------------------/
Thanks.
Regards.