66 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| 
 | |
| #include "button.h"
 | |
| #include "../../mcc_generated_files/pin_manager.h"
 | |
| 
 | |
| void Button_init(Button* me, uint8_t id, bool isPullUp)
 | |
| {
 | |
|     me->id = id;
 | |
|     me->isPullUp = isPullUp;
 | |
| }
 | |
| 
 | |
| /**
 | |
|  * @brief Initialize the Driver
 | |
|  * 
 | |
|  */
 | |
| void Button_initHW(Button* me)
 | |
| {
 | |
| }
 | |
| 
 | |
| //read the state of the button
 | |
| //maybe you have to adjust the 
 | |
| //low level calls
 | |
| uint8_t Button_read(Button* me)
 | |
| {
 | |
|     uint8_t value = LOW;
 | |
|     switch (me->id)
 | |
|     {
 | |
|         case 1:
 | |
|             value = IO_RA7_GetValue();
 | |
|         break;
 | |
|         case 2:
 | |
|         break;
 | |
|         case 3:
 | |
|         break;
 | |
|         case 4:
 | |
|         break;
 | |
|         case 5:
 | |
|         break;
 | |
|         case 6:
 | |
|         break;
 | |
|         case 7:
 | |
|         break;
 | |
|         case 8:
 | |
|         break;
 | |
|         case 9:
 | |
|         break;
 | |
|         case 10:
 | |
|         break;    
 | |
|     }
 | |
|     if (me->isPullUp == true)
 | |
|     {
 | |
|         value=value==LOW?HIGH:LOW;
 | |
|     }
 | |
|     return value;
 | |
|   }
 | |
| 
 | |
| //id getter
 | |
| uint8_t Button_getId(Button* me)
 | |
| {
 | |
|     return me->id;
 | |
| }
 | |
| 
 | |
| //id setter
 | |
| void Button_setId(Button* me, uint8_t id)
 | |
| {
 | |
|     me->id = id;
 | |
| } |