Move doc comments to header

This commit is contained in:
jazzpi 2022-06-12 15:15:53 +02:00
parent e503dbe632
commit 36c6bf2997
2 changed files with 43 additions and 51 deletions

View File

@ -16,13 +16,50 @@
typedef enum { BQ_COMM_OK, BQ_COMM_ERR_HAL, BQ_COMM_ERR_CRC } BQ_Comm_Status; typedef enum { BQ_COMM_OK, BQ_COMM_ERR_HAL, BQ_COMM_ERR_CRC } BQ_Comm_Status;
/**
* @brief Defines UART and DMA Handle
*
* Always call the init routine before using any other function of the libary.
*/
void init_BQCom(UART_HandleTypeDef* uarthandle); void init_BQCom(UART_HandleTypeDef* uarthandle);
/**
* @brief Calculate CRC according to BQ spec.
*
* @param message_buffer Message buffer, including two bytes for the CRC. The
* CRC will be written to the last two bytes.
* @param bufferlength The length of message_buffer, including the two bytes for
* the CRC.
*
* @return 0 if the buffer is to small
* @return 1 if the function was successful
*/
uint16_t Calculate_CRC(uint8_t* message_buffer, uint16_t bufferlength); uint16_t Calculate_CRC(uint8_t* message_buffer, uint16_t bufferlength);
/**
* @brief Checks if the CRC is correct
*
* @return 0 if the Buffer is too small or the CRC is incorrect
* @return 1 if the CRC is correct
*/
uint16_t Check_CRC(uint8_t* message_buffer, uint16_t bufferlength); uint16_t Check_CRC(uint8_t* message_buffer, uint16_t bufferlength);
/**
* @brief Writes data to a register of the BQ76.
*
* @param registeraddress specifies the register. Address definitions are
* available in BQ_Register_Definitions.h
* @param registersize defines the register size in bytes.
* @param data defines the data written to the BQ
*/
uint32_t BQ_Write_Register(uint8_t registeraddress, uint8_t registersize, uint32_t BQ_Write_Register(uint8_t registeraddress, uint8_t registersize,
uint32_t data); uint32_t data);
/**
* @brief Read the data of a register specified by its address
*
* @param registeraddress specifies the register. Address definitions are
* available in BQ_Register_Definitions.h
* @param registersize defines the register size in bytes.
*/
uint8_t BQ_Read_Register(uint8_t registeraddress, uint8_t registersize, uint8_t BQ_Read_Register(uint8_t registeraddress, uint8_t registersize,
uint32_t* data); uint32_t* data);
/** /**
@ -32,9 +69,14 @@ uint8_t BQ_Read_Register(uint8_t registeraddress, uint8_t registersize,
* Buffer size should be 2xMeasured Voltages * Buffer size should be 2xMeasured Voltages
*/ */
BQ_Comm_Status BQ_ReadMeasurements(uint8_t* buffer, uint8_t bufferlength); BQ_Comm_Status BQ_ReadMeasurements(uint8_t* buffer, uint8_t bufferlength);
uint8_t Communication_Reset();
/**
* @brief Hardware layer implementation of the UART transmit
*/
uint8_t BQ_UART_Transmit(uint8_t* message_buffer, uint16_t bufferlength); uint8_t BQ_UART_Transmit(uint8_t* message_buffer, uint16_t bufferlength);
/**
* @brief Hardware layer implementation of the UART receive
*/
uint8_t BQ_UART_Receive(uint8_t* message_buffer, uint16_t bufferlength); uint8_t BQ_UART_Receive(uint8_t* message_buffer, uint16_t bufferlength);
#endif #endif

View File

@ -39,21 +39,8 @@ const uint16_t crc16_table[256] = {
0x4540, 0x8701, 0x47C0, 0x4680, 0x8641, 0x8201, 0x42C0, 0x4380, 0x8341, 0x4540, 0x8701, 0x47C0, 0x4680, 0x8641, 0x8201, 0x42C0, 0x4380, 0x8341,
0x4100, 0x81C1, 0x8081, 0x4040}; 0x4100, 0x81C1, 0x8081, 0x4040};
/* Defines UART and DMA Handle
* Always use the Init Routine before using any other function of the Libary
*
*
*/
void init_BQCom(UART_HandleTypeDef* uarthandle) { bq_uart = uarthandle; } void init_BQCom(UART_HandleTypeDef* uarthandle) { bq_uart = uarthandle; }
/* Input Message Buffer with the Last two Bytes set to 0. The Last Bytes will be
* the CRC after use of the Function
*
* Returns 0 if the buffer is to small
*
* Returns 1 if the Function was successfull
*
*/
uint16_t Calculate_CRC(uint8_t* message_buffer, uint16_t bufferlength) { uint16_t Calculate_CRC(uint8_t* message_buffer, uint16_t bufferlength) {
uint16_t wCRC = 0; uint16_t wCRC = 0;
@ -74,13 +61,6 @@ uint16_t Calculate_CRC(uint8_t* message_buffer, uint16_t bufferlength) {
return 1; return 1;
} }
/*Checks if the CRC is correct
*
* Returns 0 if the Buffer is too small or the CRC is incorrect
*
* Returns 1 if the CRC is correct
*/
uint16_t Check_CRC(uint8_t* message_buffer, uint16_t bufferlength) { uint16_t Check_CRC(uint8_t* message_buffer, uint16_t bufferlength) {
uint16_t wCRC = 0; uint16_t wCRC = 0;
@ -106,17 +86,6 @@ uint16_t Check_CRC(uint8_t* message_buffer, uint16_t bufferlength) {
} }
} }
/* Writes data to a register of the BQ76
*
* registeraddress specifies the register
* Makros are available in BQ_Register_Definitions.h
*
* registersize defines the register size in bytes
*
* data defines the data written to the BQ
*
*/
uint32_t BQ_Write_Register(uint8_t registeraddress, uint8_t registersize, uint32_t BQ_Write_Register(uint8_t registeraddress, uint8_t registersize,
uint32_t data) { uint32_t data) {
uint8_t message[registersize + 5]; uint8_t message[registersize + 5];
@ -136,13 +105,6 @@ uint32_t BQ_Write_Register(uint8_t registeraddress, uint8_t registersize,
return 1; return 1;
} }
/*Read the Data of a Register specified by its Address
*
* Makros for register names are available in BQ_Register_Definitions.h
*
* registersize defines the register size in bytes
*/
uint8_t BQ_Read_Register(uint8_t registeraddress, uint8_t registersize, uint8_t BQ_Read_Register(uint8_t registeraddress, uint8_t registersize,
uint32_t* data) { uint32_t* data) {
uint8_t message[6] = {0}; uint8_t message[6] = {0};
@ -210,26 +172,14 @@ BQ_Comm_Status BQ_ReadMeasurements(uint8_t* buffer, uint8_t bufferlength) {
return BQ_COMM_OK; return BQ_COMM_OK;
} }
/* Hardware Layer Implementation of the UART Transmit
*
*/
uint8_t BQ_UART_Transmit(uint8_t* message_buffer, uint16_t bufferlength) { uint8_t BQ_UART_Transmit(uint8_t* message_buffer, uint16_t bufferlength) {
HAL_StatusTypeDef uartstate = HAL_StatusTypeDef uartstate =
HAL_UART_Transmit(bq_uart, message_buffer, bufferlength, BQUARTTIMEOUT); HAL_UART_Transmit(bq_uart, message_buffer, bufferlength, BQUARTTIMEOUT);
return (uint8_t)uartstate; return (uint8_t)uartstate;
} }
/* Hardware Layer Implementation of the UART Receive
*
*/
uint8_t BQ_UART_Receive(uint8_t* message_buffer, uint16_t bufferlength) { uint8_t BQ_UART_Receive(uint8_t* message_buffer, uint16_t bufferlength) {
HAL_StatusTypeDef uartstate = HAL_StatusTypeDef uartstate =
HAL_UART_Receive(bq_uart, message_buffer, bufferlength, BQUARTTIMEOUT); HAL_UART_Receive(bq_uart, message_buffer, bufferlength, BQUARTTIMEOUT);
return (uint8_t)uartstate; return (uint8_t)uartstate;
} }
/*Resets the Communication Interface of the BQ76
*
*
*/
uint8_t Communication_Reset() { return 0; }