2525 *
2626 * \author Gabriel Mariano Marcelino <gabriel.mm8@gmail.com>
2727 *
28- * \version 0.1.7
28+ * \version 0.1.11
2929 *
3030 * \date 08/06/2017
3131 *
@@ -112,7 +112,7 @@ void beacon_deinit()
112112
113113void beacon_run ()
114114{
115- debug_print_event (DEBUG_INFO , "Running...\n\r" );
115+ debug_print_event_from_module (DEBUG_INFO , BEACON_MODULE_NAME , "Running main loop ...\n\r" );
116116
117117// if (!antenna_is_released())
118118// {
@@ -161,7 +161,7 @@ void beacon_enter_hibernation()
161161{
162162 if (!beacon .hibernation )
163163 {
164- debug_print_event (DEBUG_INFO , "Entering in hibernation mode...\n\r" );
164+ debug_print_event_from_module (DEBUG_INFO , BEACON_MODULE_NAME , "Entering in hibernation mode...\n\r" );
165165
166166 radio_sleep ();
167167
@@ -173,7 +173,7 @@ void beacon_enter_hibernation()
173173
174174void beacon_leave_hibernation ()
175175{
176- debug_print_event (DEBUG_INFO , "Leaving hibernation mode...\n\r" );
176+ debug_print_event_from_module (DEBUG_INFO , BEACON_MODULE_NAME , "Leaving hibernation mode...\n\r" );
177177
178178 radio_wake_up ();
179179
@@ -201,6 +201,8 @@ uint8_t beacon_get_tx_period()
201201
202202void beacon_set_energy_level ()
203203{
204+ uint8_t last_energy_level = beacon .energy_level ;
205+
204206 if ((beacon .obdh .errors == 0 ) && (!beacon .obdh .is_dead ))
205207 {
206208 beacon .energy_level = beacon .obdh .buffer .data [OBDH_PKT_ENERGY_LEVEL_POS ];
@@ -213,10 +215,22 @@ void beacon_set_energy_level()
213215 {
214216 beacon .energy_level = SATELLITE_ENERGY_LEVEL_5 ;
215217 }
218+
219+ if (last_energy_level != beacon .energy_level )
220+ {
221+ debug_print_event_from_module (DEBUG_INFO , BEACON_MODULE_NAME , "Changing energy level from " );
222+ debug_print_dec (last_energy_level );
223+ debug_print_msg (" to " );
224+ debug_print_dec (beacon .energy_level );
225+ debug_print_msg ("!\n\r" );
226+ }
216227}
217228
218229void beacon_check_devices_status ()
219230{
231+ bool last_obdh_status = beacon .obdh .is_dead ;
232+ bool last_eps_status = beacon .eps .is_dead ;
233+
220234 if ((time_get_seconds () - beacon .obdh .time_last_valid_pkt ) <= OBDH_TIMEOUT_SEC )
221235 {
222236 beacon .obdh .is_dead = false;
@@ -245,11 +259,21 @@ void beacon_check_devices_status()
245259
246260 // Antenna connection status
247261 // Radio status
262+
263+ if (last_obdh_status != beacon .obdh .is_dead )
264+ {
265+ debug_print_event_from_module (DEBUG_ERROR , BEACON_MODULE_NAME , "The OBDH module is not responding!\n\r" );
266+ }
267+
268+ if (last_eps_status != beacon .eps .is_dead )
269+ {
270+ debug_print_event_from_module (DEBUG_ERROR , BEACON_MODULE_NAME , "The EPS module is not responding!\n\r" );
271+ }
248272}
249273
250274void beacon_gen_pkt_payload ()
251275{
252- debug_print_event (DEBUG_INFO , "Generating packet payload from " );
276+ debug_print_event_from_module (DEBUG_INFO , BEACON_MODULE_NAME , "Generating packet payload from " );
253277
254278 if (!buffer_empty (& beacon .pkt_payload ))
255279 {
@@ -286,20 +310,24 @@ void beacon_gen_pkt_payload()
286310
287311void beacon_gen_ngham_pkt (uint8_t * ngham_pkt_str , uint16_t * ngham_pkt_str_len )
288312{
313+ debug_print_event_from_module (DEBUG_INFO , BEACON_MODULE_NAME , "Generating a NGHam packet...\n\r" );
314+
289315 beacon_gen_pkt_payload ();
290-
316+
291317 NGHam_TX_Packet ngham_packet ;
292-
318+
293319 ngham_tx_pkt_gen (& ngham_packet , beacon .pkt_payload .data , beacon .pkt_payload .size );
294320 ngham_encode (& ngham_packet , ngham_pkt_str , ngham_pkt_str_len );
295321}
296322
297323void beacon_gen_ax25_pkt (uint8_t * ax25_pkt_str , uint16_t * ax25_pkt_str_len )
298324{
325+ debug_print_event_from_module (DEBUG_INFO , BEACON_MODULE_NAME , "Generating a AX.25 packet...\n\r" );
326+
299327 beacon_gen_pkt_payload ();
300-
328+
301329 AX25_Packet ax25_packet ;
302-
330+
303331 ax25_beacon_pkt_gen (& ax25_packet , beacon .pkt_payload .data , beacon .pkt_payload .size );
304332 ax25_encode (& ax25_packet , ax25_pkt_str , ax25_pkt_str_len );
305333}
@@ -310,15 +338,17 @@ void beacon_send_ngham_pkt()
310338 {
311339 if (beacon .can_transmit )
312340 {
341+ debug_print_event_from_module (DEBUG_INFO , BEACON_MODULE_NAME , "Transmitting a NGHam packet...\n\r" );
342+
313343 uint8_t ngham_pkt_str [256 ];
314344 uint16_t ngham_pkt_str_len ;
315-
345+
316346 beacon_gen_ngham_pkt (ngham_pkt_str , & ngham_pkt_str_len );
317-
347+
318348 beacon .transmitting = true;
319-
349+
320350 radio_write (ngham_pkt_str + 8 , ngham_pkt_str_len - 8 ); // 8: Removing preamble and sync word from the NGHam packet
321-
351+
322352 beacon .transmitting = false;
323353 }
324354 }
@@ -330,15 +360,17 @@ void beacon_send_ax25_pkt()
330360 {
331361 if (beacon .can_transmit )
332362 {
333- beacon . transmitting = true ;
334-
363+ debug_print_event_from_module ( DEBUG_INFO , BEACON_MODULE_NAME , "Transmitting a AX.25 packet...\n\r" ) ;
364+
335365 uint8_t ax25_pkt_str [256 ];
336366 uint16_t ax25_pkt_str_len ;
337-
367+
338368 beacon_gen_ax25_pkt (ax25_pkt_str , & ax25_pkt_str_len );
339-
369+
370+ beacon .transmitting = true;
371+
340372 radio_write (ax25_pkt_str , ax25_pkt_str_len );
341-
373+
342374 beacon .transmitting = false;
343375 }
344376 }
@@ -556,7 +588,7 @@ void beacon_process_radio_pkt()
556588 {
557589 uint8_t i = 0 ;
558590
559- debug_print_event (DEBUG_INFO , "Shutdown command received from " );
591+ debug_print_event_from_module (DEBUG_INFO , BEACON_MODULE_NAME , "Shutdown command received from " );
560592 for (i = 0 ; i < 6 ; i ++ )
561593 {
562594 debug_print_byte (data [i ]);
0 commit comments