1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- /*
- * peripherial.c
- *
- * Created on: Sep 10, 2024
- * Author: jakubski
- */
- #include "peripherial.h"
- void DbgLEDOn(uint8_t ledNumber)
- {
- HAL_GPIO_WritePin(GPIOD, ledNumber, GPIO_PIN_SET);
- }
- void DbgLEDOff(uint8_t ledNumber)
- {
- HAL_GPIO_WritePin(GPIOD, ledNumber, GPIO_PIN_RESET);
- }
- void DbgLEDToggle(uint8_t ledNumber)
- {
- HAL_GPIO_TogglePin(GPIOD, ledNumber);
- }
- void EnableCurrentSensors(void)
- {
- HAL_GPIO_WritePin(GPIOE, MCU_CS_PWR_EN, GPIO_PIN_SET);
- }
- void DisableCurrentSensors(void)
- {
- HAL_GPIO_WritePin(GPIOE, MCU_CS_PWR_EN, GPIO_PIN_RESET);
- }
- void SelectCurrentSensorGain(CurrentSensor sensor, CurrentSensorGain gain)
- {
- uint8_t gpioOffset = 0;
- switch(sensor)
- {
- case CurrentSensorL1:
- gpioOffset = CURRENT_SENSOR_L1_GPIO_OFFSET;
- break;
- case CurrentSensorL2:
- gpioOffset = CURRENT_SENSOR_L2_GPIO_OFFSET;
- break;
- case CurrentSensorL3:
- gpioOffset = CURRENT_SENSOR_L3_GPIO_OFFSET;
- break;
- default:
- break;
- }
- if(gpioOffset > 0)
- {
- uint16_t gain0Gpio = 1 << gpioOffset;
- uint16_t gain1Gpio = 1 << (gpioOffset + 1);
- uint16_t gpioState = ((uint16_t)gain) & 0x0001;
- HAL_GPIO_WritePin(GPIOE, gain0Gpio, gpioState);
- gpioState = (((uint16_t)gain) >> 1) & 0x0001;
- HAL_GPIO_WritePin(GPIOE, gain1Gpio, gpioState);
- }
- }
|