14
14
* See the License for the specific language governing permissions and
15
15
* limitations under the License.
16
16
*/
17
- #if !defined(MBED_CONF_RTOS_PRESENT)
18
- #error [NOT_SUPPORTED] LORADIO test cases require a RTOS to run.
19
- #else
20
17
21
18
#include " utest.h"
22
19
#include " unity.h"
23
20
#include " greentea-client/test_env.h"
24
21
25
22
#include " Semaphore.h"
26
- #include " ThisThread.h"
27
23
28
24
#include " mbed_trace.h"
29
25
#define TRACE_GROUP " RTST"
30
26
31
27
#include " LoRaRadio.h"
32
28
33
- #define SX1272 0xFF
34
- #define SX1276 0xEE
35
-
36
- #ifndef MBED_CONF_LORA_RADIO
37
- #error [NOT_SUPPORTED] Lora radio is not set
38
- #else
39
-
40
- #if (MBED_CONF_LORA_RADIO == SX1272)
29
+ #if COMPONENT_SX1272
41
30
#include " SX1272_LoRaRadio.h"
42
- #elif (MBED_CONF_LORA_RADIO == SX1276)
31
+ #elif COMPONENT_SX1276
43
32
#include " SX1276_LoRaRadio.h"
33
+ #elif COMPONENT_SX126X
34
+ #include " SX126X_LoRaRadio.h"
44
35
#else
45
- #error Lora radio is not configured
36
+ #error [NOT_SUPPORTED] Lora radio is not configured
46
37
#endif
47
38
48
39
using namespace utest ::v1;
@@ -64,39 +55,34 @@ static volatile event_t received_event;
64
55
65
56
static void tx_done ()
66
57
{
67
- rtos::ThisThread::sleep_for (2 );
68
58
TEST_ASSERT_EQUAL (EV_NONE, received_event);
69
59
received_event = EV_TX_DONE;
70
60
TEST_ASSERT_EQUAL (osOK, event_sem.release ());
71
61
}
72
62
73
63
static void tx_timeout ()
74
64
{
75
- rtos::ThisThread::sleep_for (2 );
76
65
TEST_ASSERT_EQUAL (EV_NONE, received_event);
77
66
received_event = EV_TX_TIMEOUT;
78
67
TEST_ASSERT_EQUAL (osOK, event_sem.release ());
79
68
}
80
69
81
70
static void rx_done (const uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr)
82
71
{
83
- rtos::ThisThread::sleep_for (2 );
84
72
TEST_ASSERT_EQUAL (EV_NONE, received_event);
85
73
received_event = EV_RX_DONE;
86
74
TEST_ASSERT_EQUAL (osOK, event_sem.release ());
87
75
}
88
76
89
77
static void rx_timeout ()
90
78
{
91
- rtos::ThisThread::sleep_for (2 );
92
79
TEST_ASSERT_EQUAL (EV_NONE, received_event);
93
80
received_event = EV_RX_TIMEOUT;
94
81
TEST_ASSERT_EQUAL (osOK, event_sem.release ());
95
82
}
96
83
97
84
static void rx_error ()
98
85
{
99
- rtos::ThisThread::sleep_for (2 );
100
86
TEST_ASSERT_EQUAL (EV_NONE, received_event);
101
87
received_event = EV_RX_ERROR;
102
88
TEST_ASSERT_EQUAL (osOK, event_sem.release ());
@@ -124,11 +110,11 @@ void test_set_tx_config()
124
110
125
111
TEST_ASSERT_EQUAL (RF_IDLE, radio->get_status ());
126
112
127
- radio->set_tx_config (MODEM_LORA, 13 , 0 ,
128
- 0 , 7 ,
129
- 1 , 8 ,
130
- false , true , false ,
131
- 0 , false , 100 );
113
+ radio->set_tx_config (MODEM_LORA, 13 , 0 , // modem, power, fdev,
114
+ 0 , 7 , // bandwidth, datarate,
115
+ 1 , 8 , // coderate, preamble_len,
116
+ false , true , false , // fix_len, crc_on, freq_hop_on,
117
+ 0 , false , 1000 ); // hop_period, iq_inverted, timeout
132
118
radio->send (buffer, sizeof (buffer));
133
119
134
120
TEST_ASSERT_EQUAL (RF_TX_RUNNING, radio->get_status ());
@@ -205,12 +191,12 @@ utest::v1::status_t test_setup(const size_t number_of_cases)
205
191
206
192
utest::v1::status_t case_setup_handler (const Case *const source, const size_t index_of_case)
207
193
{
208
- #if (MBED_CONF_LORA_RADIO == SX1272)
194
+ #if COMPONENT_SX1272
209
195
radio = new SX1272_LoRaRadio ();
210
-
211
- #elif (MBED_CONF_LORA_RADIO == SX1276)
196
+ #elif COMPONENT_SX1276
212
197
radio = new SX1276_LoRaRadio ();
213
-
198
+ #elif COMPONENT_SX126X
199
+ radio = new SX126X_LoRaRadio ();
214
200
#endif
215
201
216
202
TEST_ASSERT (radio);
@@ -224,12 +210,14 @@ utest::v1::status_t case_teardown_handler(const Case *const source, const size_t
224
210
{
225
211
radio->sleep ();
226
212
227
- #if (MBED_CONF_LORA_RADIO == SX1272)
213
+ #if COMPONENT_SX1272
228
214
delete static_cast <SX1272_LoRaRadio *>(radio);
229
215
230
- #elif (MBED_CONF_LORA_RADIO == SX1276)
216
+ #elif COMPONENT_SX1276
231
217
delete static_cast <SX1276_LoRaRadio *>(radio);
232
218
219
+ #elif COMPONENT_SX126X
220
+ delete static_cast <SX126X_LoRaRadio *>(radio);
233
221
#endif
234
222
radio = NULL ;
235
223
@@ -251,6 +239,3 @@ int main()
251
239
{
252
240
return !Harness::run (specification);
253
241
}
254
-
255
- #endif // (MBED_CONF_LORA_RADIO)
256
- #endif // !defined(MBED_CONF_RTOS_PRESENT)
0 commit comments