B10A_router_leds.c
00001 #include <includes.h>
00002
00003
00004 volatile unsigned short b10a_red_can1_time = 0, b10a_green_can1_time = 0;
00005 volatile unsigned short b10a_red_can2_time = 0, b10a_green_can2_time = 0;
00006 volatile unsigned short b10a_red_can3_time = 0, b10a_green_can3_time = 0;
00007 volatile unsigned short b10a_red_can4_time = 0, b10a_green_can4_time = 0;
00008
00009 volatile unsigned short b10a_red_mcu_time = 0, b10a_green_mcu_time = 0, b10a_blue_mcu_time = 0;
00010
00011
00012 volatile short unsigned int b10a_can1_packet_rate = 0;
00013 volatile short unsigned int b10a_can2_packet_rate = 0;
00014 volatile short unsigned int b10a_can3_packet_rate = 0;
00015 volatile short unsigned int b10a_can4_packet_rate = 0;
00016
00018 void b10a_can_packet_count(unsigned short chan)
00019 {
00020 if (chan == 1) {++b10a_can1_packet_rate;}
00021 else if (chan == 2) {++b10a_can2_packet_rate;}
00022 else if (chan == 3) {++b10a_can3_packet_rate;}
00023 else if (chan == 4) {++b10a_can4_packet_rate;}
00024 }
00026
00028 void b10a_update_mcu_leds(void)
00029 {
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054 {
00055 if (b10a_red_mcu_time > 0)
00056 {
00057 --b10a_red_mcu_time;
00058 MCU_LED_RED_ON;
00059 }
00060 else
00061 {
00062 MCU_LED_RED_OFF;
00063 }
00064
00065 if (b10a_green_mcu_time > 0)
00066 {
00067 --b10a_green_mcu_time;
00068 MCU_LED_GREEN_ON;
00069 }
00070 else
00071 {
00072 MCU_LED_GREEN_OFF;
00073 }
00074
00075 if (b10a_blue_mcu_time > 0)
00076 {
00077 --b10a_blue_mcu_time;
00078 MCU_LED_BLUE_ON;
00079 }
00080 else
00081 {
00082 MCU_LED_BLUE_OFF;
00083 }
00084
00085 }
00086 }
00088
00090
00091 void b10a_blink_red_can_led(unsigned short chan)
00092 {
00093 const unsigned short red_blink_time = 50;
00094
00095 if (chan == 1) {b10a_red_can1_time = red_blink_time;}
00096 else if (chan == 2) {b10a_red_can2_time = red_blink_time;}
00097 else if (chan == 3) {b10a_red_can3_time = red_blink_time;}
00098 else if (chan == 4) {b10a_red_can4_time = red_blink_time;}
00099 }
00100
00101 void b10a_blink_green_can_led(unsigned short chan)
00102 {
00103 const unsigned short green_blink_time = 50;
00104
00105 if (chan == 1) {b10a_green_can1_time = green_blink_time;}
00106 else if (chan == 2) {b10a_green_can2_time = green_blink_time;}
00107 else if (chan == 3) {b10a_green_can3_time = green_blink_time;}
00108 else if (chan == 4) {b10a_green_can4_time = green_blink_time;}
00109 }
00110
00111 void b10a_mcu_red_led_blink(short unsigned int time)
00112 {
00113 b10a_red_mcu_time = time;
00114 }
00115
00116 void b10a_mcu_green_led_blink(short unsigned int time)
00117 {
00118 b10a_green_mcu_time = time;
00119 }
00120
00121 void b10a_mcu_blue_led_blink(short unsigned int time)
00122 {
00123 b10a_blue_mcu_time = time;
00124 }
00125
00126
00128 void b10a_update_can_leds(void)
00129 {
00130 static short unsigned int i = 0;
00131
00132 if (b10a_red_can1_time > 0)
00133 {
00134 --b10a_red_can1_time;
00135 CAN1_LED_RED_ON;
00136 }
00137 else
00138 {
00139 CAN1_LED_RED_OFF;
00140 }
00141
00142 if (b10a_green_can1_time > 0)
00143 {
00144 --b10a_green_can1_time;
00145 CAN1_LED_GREEN_ON;
00146 }
00147 else
00148 {
00149 CAN1_LED_GREEN_OFF;
00150 }
00151
00152 if (b10a_red_can2_time > 0)
00153 {
00154 --b10a_red_can2_time;
00155 CAN2_LED_RED_ON;
00156 }
00157 else
00158 {
00159 CAN2_LED_RED_OFF;
00160 }
00161
00162 if (b10a_green_can2_time > 0)
00163 {
00164 --b10a_green_can2_time;
00165 CAN2_LED_GREEN_ON;
00166 }
00167 else
00168 {
00169 CAN2_LED_GREEN_OFF;
00170 }
00171
00172 if (b10a_red_can3_time > 0)
00173 {
00174 --b10a_red_can3_time;
00175 CAN3_LED_RED_ON;
00176 }
00177 else
00178 {
00179 CAN3_LED_RED_OFF;
00180 }
00181
00182 if (b10a_green_can3_time > 0)
00183 {
00184 --b10a_green_can3_time;
00185 CAN3_LED_GREEN_ON;
00186 }
00187 else
00188 {
00189 CAN3_LED_GREEN_OFF;
00190 }
00191
00192 if (b10a_red_can4_time > 0)
00193 {
00194 --b10a_red_can4_time;
00195 CAN4_LED_RED_ON;
00196 }
00197 else
00198 {
00199 CAN4_LED_RED_OFF;
00200 }
00201
00202 if (b10a_green_can4_time > 0)
00203 {
00204 --b10a_green_can4_time;
00205 CAN4_LED_GREEN_ON;
00206 }
00207 else
00208 {
00209 CAN4_LED_GREEN_OFF;
00210 }
00211
00212
00213
00214 ++i;
00215 if (i >= 10)
00216 {
00217 i = 0;
00218 if (b10a_can1_packet_rate > 0){b10a_green_can1_time = (b10a_can1_packet_rate >> 3);}
00219 if (b10a_can2_packet_rate > 0){b10a_green_can2_time = (b10a_can2_packet_rate >> 3);}
00220 if (b10a_can3_packet_rate > 0){b10a_green_can3_time = (b10a_can3_packet_rate >> 3);}
00221 if (b10a_can4_packet_rate > 0){b10a_green_can4_time = (b10a_can4_packet_rate >> 3);}
00222
00223
00224
00225
00226 b10a_can1_packet_rate = 0;
00227 b10a_can2_packet_rate = 0;
00228 b10a_can3_packet_rate = 0;
00229 b10a_can4_packet_rate = 0;
00230 }
00231 }