Update such that tests pass for v1.2
This includes minor updates for the th different MCU variant, and bugfixes. Resolves #7
This commit is contained in:
@@ -36,12 +36,13 @@ using BSP::ReturnCode;
|
||||
using BSP::SystemTimer;
|
||||
|
||||
static BSP::Schedule::LowPowerTaskScheduler<1> g_sched;
|
||||
static BSP::GpioDriver g_gpioa(GPIOA);
|
||||
#if defined(BOARD_WATCH)
|
||||
static BSP::UsartDriver g_test_uart(USART2, g_sched);
|
||||
static BSP::GpioPin g_tx_pin(g_gpioa, 9);
|
||||
#elif defined(BOARD_DEVBOARD)
|
||||
static BSP::UsartDriver g_test_uart(USART1, g_sched);
|
||||
#endif
|
||||
static BSP::GpioDriver g_gpioa(GPIOA);
|
||||
|
||||
static BSP::time_t get_time() {
|
||||
BSP::time_t time;
|
||||
@@ -54,10 +55,14 @@ static BSP::time_t get_time() {
|
||||
return time;
|
||||
}
|
||||
|
||||
|
||||
[[noreturn]] void main() {
|
||||
|
||||
g_gpioa.enable();
|
||||
|
||||
#if defined(BOARD_WATCH)
|
||||
g_tx_pin.configure_alternate_function(4);
|
||||
#endif
|
||||
|
||||
g_test_uart.init();
|
||||
|
||||
g_test_uart.tx_blocking(test_start_text);
|
||||
@@ -77,7 +82,6 @@ static BSP::time_t get_time() {
|
||||
g_test_uart.tx_blocking(buffer);
|
||||
now = get_time();
|
||||
}
|
||||
|
||||
g_test_uart.tx_blocking("STOP\r\n");
|
||||
g_test_uart.tx_blocking(test_pass_text);
|
||||
|
||||
|
||||
@@ -33,16 +33,22 @@
|
||||
using BSP::Time;
|
||||
|
||||
static BSP::Schedule::LowPowerTaskScheduler<1> g_sched;
|
||||
static BSP::GpioDriver g_gpioa(GPIOA);
|
||||
#if defined(BOARD_WATCH)
|
||||
static BSP::UsartDriver g_test_uart(USART2, g_sched);
|
||||
static BSP::GpioPin g_tx_pin(g_gpioa, 9);
|
||||
#elif defined(BOARD_DEVBOARD)
|
||||
static BSP::UsartDriver g_test_uart(USART1, g_sched);
|
||||
#endif
|
||||
static BSP::GpioDriver g_gpioa(GPIOA);
|
||||
|
||||
[[noreturn]] void main() {
|
||||
|
||||
g_gpioa.enable();
|
||||
|
||||
#if defined(BOARD_WATCH)
|
||||
g_tx_pin.configure_alternate_function(4);
|
||||
#endif
|
||||
|
||||
g_test_uart.init();
|
||||
|
||||
g_test_uart.tx_blocking(test_start_text);
|
||||
|
||||
@@ -37,16 +37,19 @@ using BSP::ReturnCode;
|
||||
using BSP::SystemTimer;
|
||||
|
||||
static BSP::Schedule::LowPowerTaskScheduler<1> g_sched;
|
||||
static BSP::GpioDriver g_gpioa(GPIOA);
|
||||
static BSP::GpioDriver g_gpiob(GPIOB);
|
||||
|
||||
#if defined(BOARD_WATCH)
|
||||
static BSP::UsartDriver g_test_uart(USART2, g_sched);
|
||||
static BSP::GpioPin g_tx_pin(g_gpioa, 9);
|
||||
static BSP::LptimPwm g_test_lptim(LPTIM1);
|
||||
static BSP::GpioPin g_lptim_pin(g_gpioa, 7);
|
||||
#elif defined(BOARD_DEVBOARD)
|
||||
static BSP::UsartDriver g_test_uart(USART1, g_sched);
|
||||
static BSP::LptimPwm g_test_lptim(LPTIM2);
|
||||
#endif
|
||||
static BSP::GpioDriver g_gpioa(GPIOA);
|
||||
static BSP::GpioDriver g_gpiob(GPIOB);
|
||||
static BSP::GpioPin g_lptim_pin(g_gpiob, 2);
|
||||
#endif
|
||||
|
||||
static BSP::time_t get_time() {
|
||||
BSP::time_t time;
|
||||
@@ -63,6 +66,15 @@ static BSP::time_t get_time() {
|
||||
|
||||
g_gpioa.enable();
|
||||
g_gpiob.enable();
|
||||
|
||||
#if defined(BOARD_WATCH)
|
||||
g_tx_pin.configure_alternate_function(4);
|
||||
g_lptim_pin.configure_alternate_function(1);
|
||||
#elif defined(BOARD_DEVBOARD)
|
||||
g_lptim_pin.configure_alternate_function(1);
|
||||
#endif
|
||||
|
||||
// TODO: Fix LPTIM pin init for the L030 model
|
||||
g_lptim_pin.configure_alternate_function(1);
|
||||
|
||||
g_test_uart.init();
|
||||
|
||||
@@ -33,16 +33,22 @@
|
||||
using BSP::Time;
|
||||
|
||||
static BSP::Schedule::LowPowerTaskScheduler<1> g_sched;
|
||||
static BSP::GpioDriver g_gpioa(GPIOA);
|
||||
#if defined(BOARD_WATCH)
|
||||
static BSP::UsartDriver g_test_uart(USART2, g_sched);
|
||||
static BSP::GpioPin g_tx_pin(g_gpioa, 9);
|
||||
#elif defined(BOARD_DEVBOARD)
|
||||
static BSP::UsartDriver g_test_uart(USART1, g_sched);
|
||||
#endif
|
||||
static BSP::GpioDriver g_gpioa(GPIOA);
|
||||
|
||||
[[noreturn]] void main() {
|
||||
|
||||
g_gpioa.enable();
|
||||
|
||||
#if defined(BOARD_WATCH)
|
||||
g_tx_pin.configure_alternate_function(4);
|
||||
#endif
|
||||
|
||||
g_test_uart.init();
|
||||
|
||||
g_test_uart.tx_blocking(test_start_text);
|
||||
|
||||
@@ -39,13 +39,13 @@ using BSP::SystemTimer;
|
||||
using BSP::time_t;
|
||||
|
||||
static BSP::Schedule::LowPowerTaskScheduler<1> g_sched;
|
||||
static BSP::GpioDriver g_gpioa(GPIOA);
|
||||
#if defined(BOARD_WATCH)
|
||||
static BSP::UsartDriver g_test_uart(USART2, g_sched);
|
||||
static BSP::GpioPin g_tx_pin(g_gpioa, 9);
|
||||
#elif defined(BOARD_DEVBOARD)
|
||||
static BSP::UsartDriver g_test_uart(USART1, g_sched);
|
||||
#endif
|
||||
static BSP::GpioDriver g_gpioa(GPIOA);
|
||||
static BSP::GpioPin g_test_pin(g_gpioa, 6);
|
||||
|
||||
static time_t get_time() {
|
||||
time_t time;
|
||||
@@ -66,9 +66,12 @@ static time_t get_time() {
|
||||
BSP::LowPower::init();
|
||||
|
||||
g_gpioa.enable();
|
||||
g_test_pin.configure_alternate_function(1);
|
||||
g_test_uart.init();
|
||||
|
||||
#if defined(BOARD_WATCH)
|
||||
g_tx_pin.configure_alternate_function(4);
|
||||
#endif
|
||||
|
||||
g_test_uart.init();
|
||||
g_test_uart.tx_blocking(test_start_text);
|
||||
|
||||
const time_t end = get_time() + Time::millis(5100);
|
||||
|
||||
@@ -39,13 +39,13 @@ using BSP::WallClockTime;
|
||||
using BSP::RtcDriver;
|
||||
|
||||
static BSP::Schedule::LowPowerTaskScheduler<1> g_sched;
|
||||
static BSP::GpioDriver g_gpioa(GPIOA);
|
||||
#if defined(BOARD_WATCH)
|
||||
static BSP::UsartDriver g_test_uart(USART2, g_sched);
|
||||
static BSP::GpioPin g_tx_pin(g_gpioa, 9);
|
||||
#elif defined(BOARD_DEVBOARD)
|
||||
static BSP::UsartDriver g_test_uart(USART1, g_sched);
|
||||
#endif
|
||||
static BSP::GpioDriver g_gpioa(GPIOA);
|
||||
static BSP::GpioPin g_test_pin(g_gpioa, 6);
|
||||
static char buffer[128] = {0};
|
||||
|
||||
void run_case(unsigned int hours, unsigned int minutes, unsigned int seconds) {
|
||||
@@ -90,7 +90,11 @@ void run_case(unsigned int hours, unsigned int minutes, unsigned int seconds) {
|
||||
BSP::LowPower::init();
|
||||
|
||||
g_gpioa.enable();
|
||||
g_test_pin.configure_alternate_function(1);
|
||||
|
||||
#if defined(BOARD_WATCH)
|
||||
g_tx_pin.configure_alternate_function(4);
|
||||
#endif
|
||||
|
||||
g_test_uart.init();
|
||||
|
||||
g_test_uart.tx_blocking(test_start_text);
|
||||
|
||||
@@ -39,13 +39,13 @@ using BSP::SystemTimer;
|
||||
using BSP::time_t;
|
||||
|
||||
static BSP::Schedule::LowPowerTaskScheduler<1> g_sched;
|
||||
static BSP::GpioDriver g_gpioa(GPIOA);
|
||||
#if defined(BOARD_WATCH)
|
||||
static BSP::UsartDriver g_test_uart(USART2, g_sched);
|
||||
static BSP::GpioPin g_tx_pin(g_gpioa, 9);
|
||||
#elif defined(BOARD_DEVBOARD)
|
||||
static BSP::UsartDriver g_test_uart(USART1, g_sched);
|
||||
#endif
|
||||
static BSP::GpioDriver g_gpioa(GPIOA);
|
||||
static BSP::GpioPin g_test_pin(g_gpioa, 6);
|
||||
|
||||
static time_t get_time() {
|
||||
time_t time;
|
||||
@@ -99,7 +99,9 @@ static void stop_for(time_t delay) {
|
||||
BSP::LowPower::init();
|
||||
|
||||
g_gpioa.enable();
|
||||
g_test_pin.configure_alternate_function(1);
|
||||
#if defined(BOARD_WATCH)
|
||||
g_tx_pin.configure_alternate_function(4);
|
||||
#endif
|
||||
g_test_uart.init();
|
||||
|
||||
g_test_uart.tx_blocking(test_start_text);
|
||||
|
||||
@@ -33,16 +33,22 @@
|
||||
using BSP::Time;
|
||||
|
||||
static BSP::Schedule::LowPowerTaskScheduler<1> g_sched;
|
||||
static BSP::GpioDriver g_gpioa(GPIOA);
|
||||
#if defined(BOARD_WATCH)
|
||||
static BSP::UsartDriver g_test_uart(USART2, g_sched);
|
||||
static BSP::GpioPin g_tx_pin(g_gpioa, 9);
|
||||
#elif defined(BOARD_DEVBOARD)
|
||||
static BSP::UsartDriver g_test_uart(USART1, g_sched);
|
||||
#endif
|
||||
static BSP::GpioDriver g_gpioa(GPIOA);
|
||||
|
||||
[[noreturn]] void main() {
|
||||
|
||||
g_gpioa.enable();
|
||||
|
||||
#if defined(BOARD_WATCH)
|
||||
g_tx_pin.configure_alternate_function(4);
|
||||
#endif
|
||||
|
||||
g_test_uart.init();
|
||||
|
||||
g_test_uart.tx_blocking(test_start_text);
|
||||
|
||||
@@ -38,13 +38,13 @@ using BSP::SystemTimer;
|
||||
using BSP::time_t;
|
||||
|
||||
static BSP::Schedule::LowPowerTaskScheduler<1> g_sched;
|
||||
static BSP::GpioDriver g_gpioa(GPIOA);
|
||||
#if defined(BOARD_WATCH)
|
||||
static BSP::UsartDriver g_test_uart(USART2, g_sched);
|
||||
static BSP::GpioPin g_tx_pin(g_gpioa, 9);
|
||||
#elif defined(BOARD_DEVBOARD)
|
||||
static BSP::UsartDriver g_test_uart(USART1, g_sched);
|
||||
#endif
|
||||
static BSP::GpioDriver g_gpioa(GPIOA);
|
||||
static BSP::GpioPin g_test_pin(g_gpioa, 6);
|
||||
|
||||
static time_t get_time() {
|
||||
time_t time;
|
||||
@@ -87,10 +87,10 @@ static void stop_for(time_t delay) {
|
||||
static void fail_if_wakeup(time_t delay) {
|
||||
uint32_t pre_wakeups = BSP::RtcDriver::get_wakeup_count();
|
||||
time_t before = get_time();
|
||||
while (before + delay > get_time() || BSP::RtcDriver::get_wakeup_count() != pre_wakeups) {}
|
||||
while (before + delay > get_time() && BSP::RtcDriver::get_wakeup_count() == pre_wakeups) {}
|
||||
|
||||
if (BSP::RtcDriver::get_wakeup_count() != pre_wakeups) {
|
||||
g_test_uart.tx_blocking("Got unexpected wakeup IRQ");
|
||||
g_test_uart.tx_blocking("Got unexpected wakeup IRQ\r\n");
|
||||
g_test_uart.tx_blocking(test_fail_text);
|
||||
TEST_SPIN();
|
||||
}
|
||||
@@ -102,9 +102,12 @@ static void fail_if_wakeup(time_t delay) {
|
||||
SystemTimer::set_timer(BSP::RtcDriver::get_system_timer());
|
||||
|
||||
g_gpioa.enable();
|
||||
g_test_pin.configure_alternate_function(1);
|
||||
g_test_uart.init();
|
||||
|
||||
#if defined(BOARD_WATCH)
|
||||
g_tx_pin.configure_alternate_function(4);
|
||||
#endif
|
||||
|
||||
g_test_uart.init();
|
||||
g_test_uart.tx_blocking(test_start_text);
|
||||
|
||||
for (uint32_t i = 0; i <= 100; i++) {
|
||||
|
||||
Reference in New Issue
Block a user