void ping_init(protocol_t protocol, uint8_t channr, radio_address_t addr){ protocol_id = protocol; r_address = addr; cc1100_set_packet_handler(protocol, ping_handler); cc1100_set_channel(channr); cc1100_set_address(r_address); init_payload(); }
void ping(radio_address_t addr, uint8_t channr){ cc1100_set_packet_handler(protocol_id, pong_handler); cc1100_set_channel(channr); cc1100_set_address(r_address); while(1){ start = swtimer_now(); int trans_ok = cc1100_send_csmaca(addr, protocol_id,2,pipa->payload,sizeof(pipa->payload)); if(trans_ok < 0) print_failed(); ktimer_wait(500000); } }
void _cc110x_get_set_channel_handler(int argc, char **argv) { if (argc > 1) { int16_t a = atoi(argv[1]); printf("[cc110x] Setting channel %i...", a); cc1100_set_channel(a); if (cc1100_get_channel() == a) { puts("OK"); } else { puts("Error!"); } } else { printf("[cc1100] Got address: %i\n", cc1100_get_channel()); } }
/* * @brief Sets the radio channel for any transceiver device * * @param t The transceiver device * @param channel The channel to be set * * @return The radio channel AFTER calling the set command, -1 on error */ static int32_t set_channel(transceiver_type_t t, void *channel) { /* cppcheck: c is read depending on enabled modules */ /* cppcheck-suppress unreadVariable */ uint8_t c = *((uint8_t *)channel); switch (t) { case TRANSCEIVER_CC1100: #if (defined(MODULE_CC110X) || defined(MODULE_CC110X_LEGACY)) return cc110x_set_channel(c); #elif MODULE_CC110X_LEGACY_CSMA return cc1100_set_channel(c); #else return -1; #endif #ifdef MODULE_CC2420 case TRANSCEIVER_CC2420: return cc2420_set_channel(c); #endif #ifdef MODULE_MC1322X case TRANSCEIVER_MC1322X: maca_set_channel(c); return c; ///< TODO: should be changed!implement get channel #endif #ifdef MODULE_NATIVENET case TRANSCEIVER_NATIVE: return nativenet_set_channel(c); #endif #ifdef MODULE_AT86RF231 case TRANSCEIVER_AT86RF231: return at86rf231_set_channel(c); #endif default: return -1; } }