initial commit
first build, test
This commit is contained in:
92
Core/Src/board.c
Normal file
92
Core/Src/board.c
Normal file
@@ -0,0 +1,92 @@
|
||||
/*
|
||||
* board.c
|
||||
*
|
||||
* Created on: Apr 15, 2024
|
||||
* Author: colorbass
|
||||
*/
|
||||
#include "main.h"
|
||||
#include "board.h"
|
||||
|
||||
extern ADC_HandleTypeDef hadc1;
|
||||
|
||||
//TODO:
|
||||
//TEMP READ
|
||||
//LOCK_FB
|
||||
//GBT_TEMP_SENSORS
|
||||
//USB
|
||||
|
||||
void GBT_Lock(uint8_t state){
|
||||
if(state){//LOCK
|
||||
HAL_GPIO_WritePin(LOCK_A_GPIO_Port, LOCK_A_Pin, 1);
|
||||
HAL_Delay(50);
|
||||
HAL_GPIO_WritePin(LOCK_A_GPIO_Port, LOCK_A_Pin, 0);
|
||||
}else{ //UNLOCK
|
||||
HAL_GPIO_WritePin(LOCK_B_GPIO_Port, LOCK_B_Pin, 1);
|
||||
HAL_Delay(50);
|
||||
HAL_GPIO_WritePin(LOCK_B_GPIO_Port, LOCK_B_Pin, 0);
|
||||
}
|
||||
}
|
||||
uint8_t GBT_LockGetState(){
|
||||
return HAL_GPIO_ReadPin(LOCK_FB_GPIO_Port, LOCK_FB_Pin);
|
||||
|
||||
}
|
||||
|
||||
|
||||
void RELAY_Write(relay_t num, uint8_t state){
|
||||
if(num==RELAY_AUX)HAL_GPIO_WritePin(RELAY_AUX_GPIO_Port, RELAY_AUX_Pin, state);
|
||||
if(num==RELAY_CC)HAL_GPIO_WritePin(RELAY_CC_GPIO_Port, RELAY_CC_Pin, state);
|
||||
|
||||
}
|
||||
|
||||
uint8_t GetBoardTemp(){
|
||||
//TODO
|
||||
// HAL_ADC_Start(&hadc1); // start the adc
|
||||
//
|
||||
// HAL_ADC_PollForConversion(&hadc1, 100); // poll for conversion
|
||||
//
|
||||
// adc_val = HAL_ADC_GetValue(&hadc1); // get the adc value
|
||||
//
|
||||
// HAL_ADC_Stop(&hadc1); // stop adc
|
||||
return 0;
|
||||
}
|
||||
|
||||
void Init_Peripheral(){
|
||||
HAL_ADCEx_Calibration_Start(&hadc1);
|
||||
RELAY_Write(RELAY_AUX, 0);
|
||||
RELAY_Write(RELAY_CC, 1);
|
||||
|
||||
}
|
||||
|
||||
uint8_t GBT_ReadTemp(){
|
||||
//TODO
|
||||
return 0;
|
||||
}
|
||||
|
||||
void ADC_Select_Channel(uint32_t ch) {
|
||||
ADC_ChannelConfTypeDef conf = {
|
||||
.Channel = ch,
|
||||
.Rank = 1,
|
||||
.SamplingTime = ADC_SAMPLETIME_28CYCLES_5,
|
||||
};
|
||||
if (HAL_ADC_ConfigChannel(&hadc1, &conf) != HAL_OK) {
|
||||
Error_Handler();
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t SW_GetAddr(){
|
||||
if(!HAL_GPIO_ReadPin(ADDR_0_GPIO_Port, ADDR_0_Pin)){
|
||||
if(!HAL_GPIO_ReadPin(ADDR_1_GPIO_Port, ADDR_1_Pin)){
|
||||
return 0x23;
|
||||
}else{
|
||||
return 0x21;
|
||||
}
|
||||
|
||||
}else{
|
||||
if(!HAL_GPIO_ReadPin(ADDR_1_GPIO_Port, ADDR_1_Pin)){
|
||||
return 0x22;
|
||||
}else{
|
||||
return 0x20;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user