Merge pull request #260 from MichaelBell/badger2040-fixes

Badger2040 C++ library and example fixes
pull/273/head
Philip Howard 2022-03-04 13:35:08 +00:00 zatwierdzone przez GitHub
commit 459dc4aa91
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
3 zmienionych plików z 18 dodań i 4 usunięć

Wyświetl plik

@ -56,6 +56,9 @@ int main() {
}
badger.update();
while (badger.is_busy()) {
sleep_ms(10);
}
badger.halt();
}

Wyświetl plik

@ -54,6 +54,10 @@ int main() {
badger.text("(press any button to wake up.)", 10, 70, 0.4f);
badger.update();
while (badger.is_busy()) {
sleep_ms(10);
}
badger.halt();
// proof we halted, the LED will not turn on

Wyświetl plik

@ -33,6 +33,10 @@ namespace pimoroni {
gpio_set_dir(D, GPIO_IN);
gpio_set_pulls(D, false, true);
gpio_set_function(E, GPIO_FUNC_SIO);
gpio_set_dir(E, GPIO_IN);
gpio_set_pulls(E, false, true);
gpio_set_function(USER, GPIO_FUNC_SIO);
gpio_set_dir(USER, GPIO_IN);
gpio_set_pulls(USER, false, true);
@ -41,11 +45,11 @@ namespace pimoroni {
gpio_set_dir(VBUS_DETECT, GPIO_IN);
gpio_put(VBUS_DETECT, 1);
/*
// read initial button states
uint32_t mask = (1UL << A) | (1UL << B) | (1UL << C) | (1UL << D) | (1UL << E);
_wake_button_states |= gpio_get_all() & mask;
/*
// wait for button to be released before continuing
while(gpio_get_all() & mask) {
tight_loop_contents();
@ -184,7 +188,11 @@ namespace pimoroni {
void Badger2040::update_button_states() {
uint32_t mask = (1UL << A) | (1UL << B) | (1UL << C) | (1UL << D) | (1UL << E);
_button_states |= gpio_get_all() & mask;
_button_states = gpio_get_all() & mask;
}
uint32_t Badger2040::button_states() {
return _button_states;
}
bool Badger2040::is_busy() {
@ -335,7 +343,6 @@ namespace pimoroni {
}
void Badger2040::wait_for_press() {
_button_states = 0;
update_button_states();
while(_button_states == 0) {
update_button_states();
@ -347,4 +354,4 @@ namespace pimoroni {
tight_loop_contents();
}
}
}
}