Skip to content

Commit

Permalink
[core] Split reboot reasons due to wakeup (#254)
Browse files Browse the repository at this point in the history
* Updates to break out wakeup reasons.

Per #234

* Update cores/common/base/api/lt_device.h

Co-authored-by: Kuba Szczodrzyński <[email protected]>

* fix clang-format

* Fix formatting of python files.

* Update lt_device.h

---------

Co-authored-by: Kuba Szczodrzyński <[email protected]>
  • Loading branch information
cap9qd and kuba2k2 authored Feb 25, 2024
1 parent b78c938 commit cf52021
Show file tree
Hide file tree
Showing 5 changed files with 71 additions and 47 deletions.
20 changes: 11 additions & 9 deletions builder/utils/cores.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,15 +89,17 @@ def env_add_arduino_libraries(env: Environment, queue, name: str, path: str) ->
srcs=[
"+<**/*.c*>",
],
includes=[
"!<*/.>",
"!<*/*>",
]
if name.startswith("common")
else [
"!<.>",
"!<*>",
],
includes=(
[
"!<*/.>",
"!<*/*>",
]
if name.startswith("common")
else [
"!<.>",
"!<*>",
]
),
)
return True

Expand Down
6 changes: 4 additions & 2 deletions cores/beken-72xx/base/api/lt_device.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,12 @@ lt_reboot_reason_t lt_get_reboot_reason() {
case RESET_SOURCE_CRASH_UNUSED:
case RESET_SOURCE_CRASH_PER_XAT0:
return REBOOT_REASON_CRASH;
case RESET_SOURCE_DEEPPS_USB:
return REBOOT_REASON_SLEEP_USB;
case RESET_SOURCE_DEEPPS_GPIO:
return REBOOT_REASON_SLEEP_GPIO;
case RESET_SOURCE_DEEPPS_RTC:
case RESET_SOURCE_DEEPPS_USB:
return REBOOT_REASON_SLEEP;
return REBOOT_REASON_SLEEP_RTC;
default:
return REBOOT_REASON_UNKNOWN;
}
Expand Down
8 changes: 6 additions & 2 deletions cores/common/base/api/lt_device.c
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,12 @@ const char *lt_get_reboot_reason_name(lt_reboot_reason_t reason) {
return "WDT Reset";
case REBOOT_REASON_CRASH:
return "Crash";
case REBOOT_REASON_SLEEP:
return "Sleep Wakeup";
case REBOOT_REASON_SLEEP_GPIO:
return "Sleep Wakeup (GPIO)";
case REBOOT_REASON_SLEEP_RTC:
return "Sleep Wakeup (RTC)";
case REBOOT_REASON_SLEEP_USB:
return "Sleep Wakeup (USB)";
case REBOOT_REASON_DEBUGGER:
return "Debugger";
default:
Expand Down
46 changes: 27 additions & 19 deletions cores/common/base/api/lt_device.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,32 +4,40 @@

#include <libretiny.h>

#define RESET_REASON_UNKNOWN REBOOT_REASON_UNKNOWN
#define RESET_REASON_POWER REBOOT_REASON_POWER
#define RESET_REASON_BROWNOUT REBOOT_REASON_BROWNOUT
#define RESET_REASON_HARDWARE REBOOT_REASON_HARDWARE
#define RESET_REASON_SOFTWARE REBOOT_REASON_SOFTWARE
#define RESET_REASON_WATCHDOG REBOOT_REASON_WATCHDOG
#define RESET_REASON_CRASH REBOOT_REASON_CRASH
#define RESET_REASON_SLEEP REBOOT_REASON_SLEEP
#define RESET_REASON_MAX REBOOT_REASON_MAX
#define RESET_REASON_UNKNOWN REBOOT_REASON_UNKNOWN
#define RESET_REASON_POWER REBOOT_REASON_POWER
#define RESET_REASON_BROWNOUT REBOOT_REASON_BROWNOUT
#define RESET_REASON_HARDWARE REBOOT_REASON_HARDWARE
#define RESET_REASON_SOFTWARE REBOOT_REASON_SOFTWARE
#define RESET_REASON_WATCHDOG REBOOT_REASON_WATCHDOG
#define RESET_REASON_CRASH REBOOT_REASON_CRASH
#define RESET_REASON_SLEEP_GPIO REBOOT_REASON_SLEEP_GPIO
#define RESET_REASON_SLEEP_RTC REBOOT_REASON_SLEEP_RTC
#define RESET_REASON_SLEEP_USB REBOOT_REASON_SLEEP_USB
#define RESET_REASON_MAX REBOOT_REASON_MAX

/**
* @brief Reset reason enumeration.
*/
typedef enum {
REBOOT_REASON_UNKNOWN = 1,
REBOOT_REASON_POWER = 2,
REBOOT_REASON_BROWNOUT = 3,
REBOOT_REASON_HARDWARE = 4,
REBOOT_REASON_SOFTWARE = 5,
REBOOT_REASON_WATCHDOG = 6,
REBOOT_REASON_CRASH = 7,
REBOOT_REASON_SLEEP = 8,
REBOOT_REASON_DEBUGGER = 9,
REBOOT_REASON_MAX = 10,
REBOOT_REASON_UNKNOWN = 1,
REBOOT_REASON_POWER = 2,
REBOOT_REASON_BROWNOUT = 3,
REBOOT_REASON_HARDWARE = 4,
REBOOT_REASON_SOFTWARE = 5,
REBOOT_REASON_WATCHDOG = 6,
REBOOT_REASON_CRASH = 7,
REBOOT_REASON_SLEEP_GPIO = 8,
REBOOT_REASON_SLEEP_RTC = 9,
REBOOT_REASON_SLEEP_USB = 10,
REBOOT_REASON_DEBUGGER = 11,
REBOOT_REASON_MAX = 12,
} lt_reboot_reason_t;

// RESET_REASON_SLEEP deprecated, kept for compatibility
#define RESET_REASON_SLEEP REBOOT_REASON_SLEEP_GPIO
#define REBOOT_REASON_SLEEP REBOOT_REASON_SLEEP_GPIO

/**
* @brief Debugging mode enumeration.
*/
Expand Down
38 changes: 23 additions & 15 deletions docs/scripts/write_boards.py
Original file line number Diff line number Diff line change
Expand Up @@ -285,12 +285,14 @@ def write_families(supported: list[Family]):
docs = get_readme_family_link(family)
row = [
# Title
"[{}]({})".format(
family.description,
docs,
)
if docs
else family.description,
(
"[{}]({})".format(
family.description,
docs,
)
if docs
else family.description
),
# Name
family.is_supported and f"`{family.name}`" or "`-`",
# Code
Expand All @@ -301,16 +303,22 @@ def write_families(supported: list[Family]):
family.id,
),
# Arduino Core
"✔️"
if family in supported and family.is_supported and family.has_arduino_core
else "❌",
(
"✔️"
if family in supported
and family.is_supported
and family.has_arduino_core
else "❌"
),
# Source SDK
"[`{}`]({})".format(
family.target_package,
f"https://github.com/libretiny-eu/{family.target_package}",
)
if family.target_package
else "-",
(
"[`{}`]({})".format(
family.target_package,
f"https://github.com/libretiny-eu/{family.target_package}",
)
if family.target_package
else "-"
),
]
rows.append(row)
md.add_table(header, *rows)
Expand Down

0 comments on commit cf52021

Please sign in to comment.