Merge remote-tracking branch 'origin/sl-android/issue-521-esc-debug-cleanup'
This commit is contained in:
commit
e67783f313
@ -1,7 +1,9 @@
|
|||||||
#include "esc_backend.h"
|
#include "esc_backend.h"
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "stm32f7xx_hal.h"
|
#include "stm32f7xx_hal.h"
|
||||||
|
#ifdef DEBUG_MOTOR_TEST
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Hoverboard ESC Backend Implementation
|
* Hoverboard ESC Backend Implementation
|
||||||
@ -25,7 +27,11 @@ typedef struct __attribute__((packed)) {
|
|||||||
uint16_t checksum;
|
uint16_t checksum;
|
||||||
} hoverboard_cmd_t;
|
} hoverboard_cmd_t;
|
||||||
|
|
||||||
UART_HandleTypeDef huart2; /* non-static: accessed by jetson_uart.c raw test */
|
#ifdef DEBUG_MOTOR_TEST
|
||||||
|
UART_HandleTypeDef huart2; /* non-static: exposed for jetson_uart.c R command */
|
||||||
|
#else
|
||||||
|
static UART_HandleTypeDef huart2;
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Backend vtable instance */
|
/* Backend vtable instance */
|
||||||
static const esc_backend_t hoverboard_backend;
|
static const esc_backend_t hoverboard_backend;
|
||||||
@ -66,6 +72,7 @@ static void hoverboard_backend_init(void) {
|
|||||||
huart2.Init.OverSampling = UART_OVERSAMPLING_16;
|
huart2.Init.OverSampling = UART_OVERSAMPLING_16;
|
||||||
HAL_UART_Init(&huart2);
|
HAL_UART_Init(&huart2);
|
||||||
|
|
||||||
|
#ifdef DEBUG_MOTOR_TEST
|
||||||
/* Diagnostic: report UART5 register state on USART6 after init */
|
/* Diagnostic: report UART5 register state on USART6 after init */
|
||||||
{
|
{
|
||||||
extern void jetson_uart_send(const uint8_t *data, uint16_t len);
|
extern void jetson_uart_send(const uint8_t *data, uint16_t len);
|
||||||
@ -87,13 +94,16 @@ static void hoverboard_backend_init(void) {
|
|||||||
HAL_Delay(100);
|
HAL_Delay(100);
|
||||||
jetson_uart_send((uint8_t*)diag, n);
|
jetson_uart_send((uint8_t*)diag, n);
|
||||||
}
|
}
|
||||||
|
#endif /* DEBUG_MOTOR_TEST */
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Send motor command via hoverboard protocol.
|
* Send motor command via hoverboard protocol.
|
||||||
* Called at ~50Hz from motor_driver_update().
|
* Called at ~50Hz from motor_driver_update().
|
||||||
*/
|
*/
|
||||||
|
#ifdef DEBUG_MOTOR_TEST
|
||||||
static volatile uint32_t hover_tx_count = 0;
|
static volatile uint32_t hover_tx_count = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
static void hoverboard_backend_send(int16_t speed, int16_t steer) {
|
static void hoverboard_backend_send(int16_t speed, int16_t steer) {
|
||||||
hoverboard_cmd_t cmd;
|
hoverboard_cmd_t cmd;
|
||||||
@ -102,6 +112,7 @@ static void hoverboard_backend_send(int16_t speed, int16_t steer) {
|
|||||||
cmd.speed = speed;
|
cmd.speed = speed;
|
||||||
cmd.checksum = cmd.start ^ cmd.steer ^ cmd.speed;
|
cmd.checksum = cmd.start ^ cmd.steer ^ cmd.speed;
|
||||||
|
|
||||||
|
#ifdef DEBUG_MOTOR_TEST
|
||||||
HAL_StatusTypeDef rc = HAL_UART_Transmit(&huart2, (uint8_t *)&cmd, sizeof(cmd), 5);
|
HAL_StatusTypeDef rc = HAL_UART_Transmit(&huart2, (uint8_t *)&cmd, sizeof(cmd), 5);
|
||||||
hover_tx_count++;
|
hover_tx_count++;
|
||||||
|
|
||||||
@ -113,6 +124,9 @@ static void hoverboard_backend_send(int16_t speed, int16_t steer) {
|
|||||||
(unsigned long)hover_tx_count, (int)rc, speed, steer);
|
(unsigned long)hover_tx_count, (int)rc, speed, steer);
|
||||||
jetson_uart_send((uint8_t*)dbg, n);
|
jetson_uart_send((uint8_t*)dbg, n);
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
HAL_UART_Transmit(&huart2, (uint8_t *)&cmd, sizeof(cmd), 5);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@ -177,6 +177,7 @@ static void process_line(const char *buf, uint8_t len) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef DEBUG_MOTOR_TEST
|
||||||
/* GPIO test: reconfigure PC12 as plain GPIO output, set HIGH for 10s, then restore UART */
|
/* GPIO test: reconfigure PC12 as plain GPIO output, set HIGH for 10s, then restore UART */
|
||||||
case 'X': {
|
case 'X': {
|
||||||
GPIO_InitTypeDef gpio = {0};
|
GPIO_InitTypeDef gpio = {0};
|
||||||
@ -252,6 +253,7 @@ static void process_line(const char *buf, uint8_t len) {
|
|||||||
HAL_UART_Transmit(&huart6, (uint8_t*)ack, 7, 10);
|
HAL_UART_Transmit(&huart6, (uint8_t*)ack, 7, 10);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
#endif /* DEBUG_MOTOR_TEST */
|
||||||
|
|
||||||
case '?': {
|
case '?': {
|
||||||
/* Status dump for debugging */
|
/* Status dump for debugging */
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user