Uart working

This commit is contained in:
2024-09-15 19:29:07 +03:00
parent 419c55d807
commit cad6b45c5d
21 changed files with 1187 additions and 697 deletions

View File

@ -10,21 +10,21 @@
#define START_ADR_SHOT (START_ADR_STAT+STAT_BLOCKSIZE)
#define SHOT_BLOCKSIZE 10
#define MAX_NUMBER_SHOTS 255
#define MAX_SHOT_COUNT 256
#define START_ADR_PROGRAM (START_ADR_SHOT + (SHOT_BLOCKSIZE*MAX_NUMBER_SHOTS))
#define PROGRAM_BLOCKSIZE 203
#define MAX_NUMBER_PROGRAMS 100
#define MAX_NUMBER_SHOTS_IN_PROGRAMS \
(PROGRAM_BLOCKSIZE-sizeof(ProgramHeader)) /sizeof(ProgramShot) // 100
#define START_ADR_PROGRAM (START_ADR_SHOT + (SHOT_BLOCKSIZE*MAX_SHOT_COUNT))
#define PROGRAM_BLOCKSIZE 67
#define MAX_PROGRAM_COUNT 256
#define MAX_SHOT_COUNT_IN_PROGRAMS \
(PROGRAM_BLOCKSIZE-sizeof(ProgramHeader)) /sizeof(ProgramShot) //
#define START_ADR_MACRO (START_ADR_PROGRAM + (PROGRAM_BLOCKSIZE*MAX_NUMBER_PROGRAMS))
#define MACRO_BLOCKSIZE 81
#define MAX_NUMBER_MACRO 100
#define MAX_NUMBER_PROGRAMS_IN_MACRO \
(MACRO_BLOCKSIZE-sizeof(MacroHeader)) /sizeof(MacroProgram) // 20
#define START_ADR_MACRO (START_ADR_PROGRAM + (PROGRAM_BLOCKSIZE*MAX_PROGRAM_COUNT))
#define MACRO_BLOCKSIZE 129
#define MAX_MACRO_COUNT 100
#define MAX_PROGRAM_COUNT_IN_MACRO \
(MACRO_BLOCKSIZE-sizeof(MacroHeader)) /sizeof(MacroProgram) //
#define MEMORY_END (START_ADR_MACRO + (MACRO_BLOCKSIZE*MAX_NUMBER_MACRO))
#define MEMORY_END (START_ADR_MACRO + (MACRO_BLOCKSIZE*MAX_MACRO_COUNT))
typedef enum MemoryStatus {
EEPROM_FAIL,
@ -58,7 +58,7 @@ typedef struct ProgramShot {
typedef struct Program {
ProgramHeader header;
ProgramShot shots[MAX_NUMBER_SHOTS_IN_PROGRAMS];
ProgramShot shots[MAX_SHOT_COUNT_IN_PROGRAMS];
} Program;
typedef struct MacroHeader {
@ -74,7 +74,7 @@ typedef struct MacroProgram {
typedef struct Macro {
MacroHeader header;
MacroProgram programs[MAX_NUMBER_PROGRAMS_IN_MACRO];
MacroProgram programs[MAX_PROGRAM_COUNT_IN_MACRO];
} Macro;
typedef struct ServoSetting {

View File

@ -1,13 +0,0 @@
/*
* GlobalDefines.h
*
* Created on: Aug 25, 2024
* Author: DashyFox
*/
#ifndef INC_GLOBALDEFINES_H_
#define INC_GLOBALDEFINES_H_
#define UART_BUFFER_SIZE 64
#endif /* INC_GLOBALDEFINES_H_ */

View File

@ -9,3 +9,4 @@
void print(char* str);
void int_to_str(int number, char *str, int base);
void printNumber(long int number);
void printHexBuffer(uint8_t *buffer, uint16_t size);

View File

@ -30,6 +30,7 @@ void stopShooting();
void setPos(uint8_t axial, uint8_t horizontal, uint8_t vertical);
void setPosSingle(ServoMap servo, uint8_t value);
void setPosDefault();
// 0 .. 100

View File

@ -0,0 +1,42 @@
/*
* UART3_CMD_Handler.h
*
* Created on: Sep 12, 2024
* Author: DashyFox
*/
#ifndef INC_UART3_CMD_HANDLER_H_
#define INC_UART3_CMD_HANDLER_H_
#include "stm32f1xx_hal.h"
void UART3_SaveShot(uint8_t *dataPtr, uint8_t len);
void UART3_SaveProgram(uint8_t *dataPtr, uint8_t len);
void UART3_SaveMacro(uint8_t *dataPtr, uint8_t len);
void UART3_StartMacro(uint8_t *dataPtr, uint8_t len);
void UART3_StartProgram(uint8_t *dataPtr, uint8_t len);
void UART3_StartShot(uint8_t *dataPtr, uint8_t len);
void UART3_Stop(uint8_t *dataPtr, uint8_t len);
void UART3_DeleteShot(uint8_t *dataPtr, uint8_t len);
void UART3_DeleteProgram(uint8_t *dataPtr, uint8_t len);
void UART3_DeleteMacro(uint8_t *dataPtr, uint8_t len);
void UART3_DeleteAllData(uint8_t *dataPtr, uint8_t len);
void UART3_GetDeviceStatus(uint8_t *dataPtr, uint8_t len);
void UART3_SetServoOffset(uint8_t *dataPtr, uint8_t len);
void UART3_GetServoOffset(uint8_t *dataPtr, uint8_t len);
void UART3_SetServoMaxAngle(uint8_t *dataPtr, uint8_t len);
void UART3_GetServoMaxAngle(uint8_t *dataPtr, uint8_t len);
void UART3_MoveServoToInitialPosition(uint8_t *dataPtr, uint8_t len);
void UART3_SetStartupDelay(uint8_t *dataPtr, uint8_t len);
void UART3_GetStartupDelay(uint8_t *dataPtr, uint8_t len);
void UART3_SetMinRollerSpeed(uint8_t *dataPtr, uint8_t len);
void UART3_GetMinRollerSpeed(uint8_t *dataPtr, uint8_t len);
void UART3_SetMinScrewSpeed(uint8_t *dataPtr, uint8_t len);
void UART3_GetMinScrewSpeed(uint8_t *dataPtr, uint8_t len);
void UART3_SetServoInvertFlag(uint8_t *dataPtr, uint8_t len);
void UART3_GetServoInvertFlag(uint8_t *dataPtr, uint8_t len);
void UART3_ReadStatistics(uint8_t *dataPtr, uint8_t len);
void UART3_ResetStatistics(uint8_t *dataPtr, uint8_t len);
#endif /* INC_UART3_CMD_HANDLER_H_ */

20
Core/Inc/UART3_Handler.h Normal file
View File

@ -0,0 +1,20 @@
/*
* UART3_Handler.h
*
* Created on: Sep 12, 2024
* Author: DashyFox
*/
#ifndef INC_UART3_HANDLER_H_
#define INC_UART3_HANDLER_H_
#include "stm32f1xx_hal.h"
#define UART_BUFFER_SIZE 256
extern uint8_t uart_rx_buffer[UART_BUFFER_SIZE];
void UART3_START();
void UART3_Handler();
#endif /* INC_UART3_HANDLER_H_ */

View File

@ -42,7 +42,7 @@
/*#define HAL_CORTEX_MODULE_ENABLED */
/*#define HAL_CRC_MODULE_ENABLED */
/*#define HAL_DAC_MODULE_ENABLED */
/*#define HAL_DMA_MODULE_ENABLED */
#define HAL_DMA_MODULE_ENABLED
/*#define HAL_ETH_MODULE_ENABLED */
/*#define HAL_FLASH_MODULE_ENABLED */
#define HAL_GPIO_MODULE_ENABLED

View File

@ -57,6 +57,7 @@ void PendSV_Handler(void);
void SysTick_Handler(void);
void EXTI0_IRQHandler(void);
void EXTI1_IRQHandler(void);
void DMA1_Channel3_IRQHandler(void);
void USB_LP_CAN1_RX0_IRQHandler(void);
void TIM3_IRQHandler(void);
void I2C1_EV_IRQHandler(void);