@@ -1,2 +1,2 | |||
|
1 | 1 | 3081d1f9bb20b2b64a192585337a292a9804e0c5 LFR_basic-parameters |
|
2 | ad7698268954c5d3d203a3b3ad09fcdf2d536472 header/lfr_common_headers | |
|
2 | fa4fff498e7a3208f9f7ba469d6e25c84fe6ad71 header/lfr_common_headers |
@@ -39,6 +39,7 void timer_set_clock_divider(unsigned ch | |||
|
39 | 39 | rtems_isr watchdog_isr( rtems_vector_number vector ); |
|
40 | 40 | void watchdog_configure(void); |
|
41 | 41 | void watchdog_stop(void); |
|
42 | void watchdog_reload(void); | |
|
42 | 43 | void watchdog_start(void); |
|
43 | 44 | |
|
44 | 45 | // SERIAL LINK |
@@ -61,6 +62,7 void get_v_e1_e2_f3( unsigned char *spac | |||
|
61 | 62 | void get_cpu_load( unsigned char *resource_statistics ); |
|
62 | 63 | void set_hk_lfr_sc_potential_flag( bool state ); |
|
63 | 64 | void set_hk_lfr_mag_fields_flag( bool state ); |
|
65 | void set_sy_lfr_watchdog_enabled( bool state ); | |
|
64 | 66 | void set_hk_lfr_calib_enable( bool state ); |
|
65 | 67 | void set_hk_lfr_reset_cause( enum lfr_reset_cause_t lfr_reset_cause ); |
|
66 | 68 | void hk_lfr_le_me_he_update(); |
@@ -86,6 +86,10 rtems_isr watchdog_isr( rtems_vector_num | |||
|
86 | 86 | rtems_status_code status_code; |
|
87 | 87 | |
|
88 | 88 | status_code = rtems_event_send( Task_id[TASKID_DUMB], RTEMS_EVENT_12 ); |
|
89 | ||
|
90 | PRINTF("watchdog_isr *** this is the end, exit(0)\n"); | |
|
91 | ||
|
92 | exit(0); | |
|
89 | 93 | } |
|
90 | 94 | |
|
91 | 95 | void watchdog_configure(void) |
@@ -200,6 +204,8 rtems_task load_task(rtems_task_argument | |||
|
200 | 204 | |
|
201 | 205 | watchdog_start(); |
|
202 | 206 | |
|
207 | set_sy_lfr_watchdog_enabled( true ); | |
|
208 | ||
|
203 | 209 | while(1){ |
|
204 | 210 | status = rtems_rate_monotonic_period( watchdog_period_id, WATCHDOG_PERIOD ); |
|
205 | 211 | watchdog_reload(); |
@@ -645,6 +651,18 void set_hk_lfr_mag_fields_flag( bool st | |||
|
645 | 651 | } |
|
646 | 652 | } |
|
647 | 653 | |
|
654 | void set_sy_lfr_watchdog_enabled( bool state ) | |
|
655 | { | |
|
656 | if (state == true) | |
|
657 | { | |
|
658 | housekeeping_packet.lfr_status_word[1] = housekeeping_packet.lfr_status_word[1] | 0x10; // [0001 0000] | |
|
659 | } | |
|
660 | else | |
|
661 | { | |
|
662 | housekeeping_packet.lfr_status_word[1] = housekeeping_packet.lfr_status_word[1] & 0xef; // [1110 1111] | |
|
663 | } | |
|
664 | } | |
|
665 | ||
|
648 | 666 | void set_hk_lfr_calib_enable( bool state ) |
|
649 | 667 | { |
|
650 | 668 | if (state == true) |
@@ -349,6 +349,7 rtems_task link_task( rtems_task_argumen | |||
|
349 | 349 | { |
|
350 | 350 | status = rtems_task_wake_after( 10 ); // monitor the link each 100ms |
|
351 | 351 | status = ioctl(fdSPW, SPACEWIRE_IOCTRL_GET_LINK_STATUS, &linkStatus); // get the link status |
|
352 | watchdog_reload(); | |
|
352 | 353 | } |
|
353 | 354 | |
|
354 | 355 | status = spacewire_stop_and_start_link( fdSPW ); |
General Comments 0
You need to be logged in to leave comments.
Login now