Skip to content

Commit 6e68c5e

Browse files
committed
Updated the use of command buffer
1 parent f4d5711 commit 6e68c5e

File tree

2 files changed

+10
-11
lines changed

2 files changed

+10
-11
lines changed

radio/src/targets/common/arm/stm32/flysky_gimbal_driver.cpp

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ static const stm32_usart_t fsUSART = {
5555
.rxDMA_Channel = FLYSKY_HALL_DMA_Channel,
5656
};
5757

58-
DEFINE_STM32_SERIAL_PORT(FSGimbal, fsUSART, HALLSTICK_BUFF_SIZE, 0);
58+
DEFINE_STM32_SERIAL_PORT(FSGimbal, fsUSART, HALLSTICK_BUFF_SIZE, HALLSTICK_CMD_BUFF_SIZE);
5959

6060
static const etx_serial_port_t _fs_gimbal_serial_port = {
6161
.name = "gimbals",
@@ -66,8 +66,6 @@ static const etx_serial_port_t _fs_gimbal_serial_port = {
6666

6767
static STRUCT_HALL HallProtocol = { 0 };
6868

69-
static uint8_t _fs_hall_command[8] __DMA;
70-
7169
static void* _fs_usart_ctx = nullptr;
7270

7371
static volatile bool _fs_gimbal_detected;
@@ -156,18 +154,18 @@ void _fs_send_cmd(uint8_t id, uint8_t payload)
156154
return;
157155
}
158156

159-
_fs_hall_command[0] = FLYSKY_HALL_PROTOLO_HEAD;
160-
_fs_hall_command[1] = id;
161-
_fs_hall_command[2] = 0x01;
162-
_fs_hall_command[3] = payload;
157+
FSGimbal_TXBuffer[0] = FLYSKY_HALL_PROTOLO_HEAD;
158+
FSGimbal_TXBuffer[1] = id;
159+
FSGimbal_TXBuffer[2] = 0x01;
160+
FSGimbal_TXBuffer[3] = payload;
163161

164-
unsigned short crc = crc16(CRC_1021, _fs_hall_command, 4, 0xffff);
162+
unsigned short crc = crc16(CRC_1021, FSGimbal_TXBuffer, 4, 0xffff);
165163

166-
_fs_hall_command[4] = crc & 0xff;
167-
_fs_hall_command[5] = crc >>8 & 0xff ;
164+
FSGimbal_TXBuffer[4] = crc & 0xff;
165+
FSGimbal_TXBuffer[5] = crc >>8 & 0xff ;
168166

169167
_fs_gimbal_cmd_finished = false;
170-
STM32SerialDriver.sendBuffer(_fs_usart_ctx, _fs_hall_command, 6);
168+
STM32SerialDriver.sendBuffer(_fs_usart_ctx, FSGimbal_TXBuffer, 6);
171169
// TRACE("Flysky Gimbal: Sent command, id = %d, payload = %d", id, payload);
172170
}
173171

radio/src/targets/common/arm/stm32/flysky_gimbal_driver.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
// Max packet size = 1 byte header + 1 byte ID + 1 byte length + 25 bytes payload + 2 bytes CRC = 30 bytes
2727
// using 32 bytes is more than enough
2828
#define HALLSTICK_BUFF_SIZE ( 32 )
29+
#define HALLSTICK_CMD_BUFF_SIZE ( 8 )
2930
#define FLYSKY_HALL_BAUDRATE ( 921600 )
3031
#define FLYSKY_HALL_CHANNEL_COUNT ( 4 )
3132

0 commit comments

Comments
 (0)