You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
	
	
		
			
				
					
						
							|  |  |  | /*
 | 
					
						
							|  |  |  |  * led.c | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  *  Created on: 19/08/2015 | 
					
						
							|  |  |  |  *      Author: Robert Fisk | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * This Source Code Form is subject to the terms of the Mozilla Public | 
					
						
							|  |  |  |  * License, v. 2.0. If a copy of the MPL was not distributed with this | 
					
						
							|  |  |  |  * file, You can obtain one at https://mozilla.org/MPL/2.0/.
 | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include "led.h"
 | 
					
						
							|  |  |  | #include "board_config.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | uint16_t    FaultLedBlinkRate       = 0; | 
					
						
							|  |  |  | uint16_t    FaultLedBlinkCounter    = 0; | 
					
						
							|  |  |  | uint8_t     FaultLedState           = 0; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void LED_Init(void) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     //RUN_LED_ON;
 | 
					
						
							|  |  |  |     FAULT_LED_ON; | 
					
						
							|  |  |  |     HAL_Delay(STARTUP_FLASH_DELAY); | 
					
						
							|  |  |  |     //RUN_LED_OFF;
 | 
					
						
							|  |  |  |     FAULT_LED_OFF; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void LED_Fault_SetBlinkRate(uint16_t newBlinkRate) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     FaultLedBlinkRate = newBlinkRate; | 
					
						
							|  |  |  |     if (newBlinkRate == 0) | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         FaultLedState = 0; | 
					
						
							|  |  |  |         FAULT_LED_OFF; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void LED_DoBlinks(void) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     if (FaultLedBlinkRate > 0) | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         FaultLedBlinkCounter++; | 
					
						
							|  |  |  |         if (FaultLedBlinkCounter >= FaultLedBlinkRate) | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             FaultLedBlinkCounter = 0; | 
					
						
							|  |  |  |             if (FaultLedState) | 
					
						
							|  |  |  |             { | 
					
						
							|  |  |  |                 FaultLedState = 0; | 
					
						
							|  |  |  |                 FAULT_LED_OFF; | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |             else | 
					
						
							|  |  |  |             { | 
					
						
							|  |  |  |                 FaultLedState = 1; | 
					
						
							|  |  |  |                 FAULT_LED_ON; | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 |