mirror of
https://github.com/Klipper3d/klipper.git
synced 2025-07-08 15:37:31 -06:00
build: Define DECL_CONSTANT mechanism for defining exported constants
Add a DECL_CONSTANT macro to allow the firmware to define constants that are to be exported to the host during the "identify" phase. This replaces the existing hardcoded mechanism of scanning the Kconfig header file for certain constants. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
parent
4e8674d5df
commit
fe95ea221b
11 changed files with 54 additions and 37 deletions
|
@ -15,6 +15,10 @@
|
|||
// Flags for command handler declarations.
|
||||
#define HF_IN_SHUTDOWN 0x01 // Handler can run even when in emergency stop
|
||||
|
||||
// Declare a constant exported to the host
|
||||
#define DECL_CONSTANT(NAME, VALUE) \
|
||||
_DECL_CONSTANT(NAME, VALUE)
|
||||
|
||||
// Send an output message (and declare a static message type for it)
|
||||
#define output(FMT, args...) \
|
||||
_sendf(_DECL_OUTPUT(FMT) , ##args )
|
||||
|
@ -59,6 +63,11 @@ extern const uint32_t command_identify_size;
|
|||
= "_DECL_COMMAND " __stringify(FUNC) " " __stringify(FLAGS) " " MSG; \
|
||||
void __visible FUNC(uint32_t*)
|
||||
|
||||
#define _DECL_CONSTANT(NAME, VALUE) \
|
||||
char __PASTE(_DECLC_ ## NAME ## _, __LINE__) [] \
|
||||
__visible __section(".compile_time_request") \
|
||||
= "_DECL_CONSTANT " __stringify(NAME) " " __stringify(VALUE)
|
||||
|
||||
// Create a compile time request and return a unique (incrementing id)
|
||||
// for that request.
|
||||
#define _DECL_REQUEST_ID(REQUEST, ID_SECTION) ({ \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue