avr_bl: use ms for stopbit, use low speed for less noise
#define CMD_BOOTSIGN 0x08
#define START_BIT_TIMEOUT_MS 10
-#define START_BIT_TIMEOUT (10000 * TICKS_PER_US)
#define BIT_TIME (SYS_CLOCK_FREQ_HZ / 19200)
#define BIT_TIME_HALF (BIT_TIME / 2)
@@ -60,7 +59,7 @@ static void esc_set_input(gpio_pins_t pin) {
gpio_init.Mode = LL_GPIO_MODE_INPUT;
gpio_init.OutputType = LL_GPIO_OUTPUT_OPENDRAIN;
gpio_init.Pull = LL_GPIO_PULL_UP;
- gpio_init.Speed = LL_GPIO_SPEED_FREQ_HIGH;
+ gpio_init.Speed = LL_GPIO_SPEED_FREQ_LOW;
gpio_pin_init(&gpio_init, pin);
}
@@ -69,16 +68,16 @@ static void esc_set_output(gpio_pins_t pin) {
gpio_init.Mode = LL_GPIO_MODE_OUTPUT;
gpio_init.OutputType = LL_GPIO_OUTPUT_PUSHPULL;
gpio_init.Pull = LL_GPIO_PULL_NO;
- gpio_init.Speed = LL_GPIO_SPEED_FREQ_HIGH;
+ gpio_init.Speed = LL_GPIO_SPEED_FREQ_LOW;
gpio_pin_init(&gpio_init, pin);
}
static uint8_t serial_read(gpio_pins_t pin, uint8_t *bt) {
- uint32_t start_time = time_cycles();
+ uint32_t start_time = time_millis();
while (esc_is_high(pin)) {
// check for startbit begin
- if (time_cycles() - start_time >= START_BIT_TIMEOUT) {
+ if (time_millis() - start_time >= START_BIT_TIMEOUT_MS) {
return 0;
}
}
