contiki-os / contiki

The official git repository for Contiki, the open source OS for the Internet of Things
http://www.contiki-os.org/
Other
3.71k stars 2.58k forks source link

CC1310 CANNOT transmit data to air, but tx return status is right #2482

Open gxp1993 opened 6 years ago

gxp1993 commented 6 years ago

Problem 1: rf-core transmit fails The Radio Layer Interface have transmitted data to the M0 and received the rf-core state is 0x3400, which means data was already transmitted successfully. And the return from rdc showed the count of successful transmitted was increased(when transmitting continuously). But we didn't find any data in the air (Air interface) during the process.

Problem 2: rf-core receive fails (https://github.com/contiki-os/contiki prop-mode.c https://github.com/contiki-os/contiki/blob/master/cpu/cc26xx-cc13xx/rf-core/prop-mode.c rf-core.c https://github.com/contiki-os/contiki/blob/master/cpu/cc26xx-cc13xx/rf-core/rf-core.c)

  1. When rx state is working properly, rf_core_is_accessible() should return 1 (PRCMrfReady, register address 0x4008200 offset 01), the value in smartrf_ssettings_cmd_prop_rx_adc.status is 2;
  2. When rx state is abnormal, the rf-core couldn't receive the data, and rf_core_is_accessible () will return 0, the value of smartrf_settings_cmd_prop_rx_adv.status is 0. In that case, should use NETSTACK_RAIO.set_value(RADIO_PARAM_POWER_MOADIO_POWER_MODE_ON) (set_value in prop-mode.c) to restore, use rf_core_power_up to electrified rf-core. Problem analysis: After the data transmitted, call the rf_cmd_prop_rx to switch to rx state, but there is not any judge that the function is executed successfully. If the switching core state fails will cause this problem. Plus, we found a post on github showing that 1310 will crash under heavy traffic(https://github.com/contiki-os/contiki/issues/1878). The solution that TI given is process 6lowpan with MSP430+1310, and 1310 only process data under the MAC layer. Other Sub1G chip that TI released like cc1350 use the M4 core. So I wonder cc1310 can process the 6lowpan expectably.
bbhagasra1 commented 4 years ago

Problem 1: Is RX working in this condition? and this is permanent in a Hardware?