Commit c9da6829 authored by Henrik Brix Andersen's avatar Henrik Brix Andersen Committed by Carles Cufi
Browse files

modules: canopennode: use zephyr/dsp/types.h for float32_t/float64_t

Include the zephyr/dsp/types.h header for float32_t/float64_t type
definitions to avoid conflicts with other subsystems including this header.

Add compile-time asserts to ensure the typedefs meet the requirements of
the CANopenNode module.

Fixes: #63896

Signed-off-by: default avatarHenrik Brix Andersen <hebad@vestas.com>
parent 85fb2873
Loading
Loading
Loading
Loading
+4 −2
Changes for modules/canopennode/CO_driver_target.h: 4 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ extern "C" {
#include <zephyr/types.h>
#include <zephyr/device.h>
#include <zephyr/toolchain.h>
#include <zephyr/dsp/types.h> /* float32_t, float64_t */

/* Use static variables instead of calloc() */
#define CO_USE_GLOBALS
@@ -46,12 +47,13 @@ extern "C" {
#endif

typedef bool          bool_t;
typedef float         float32_t;
typedef long double   float64_t;
typedef char          char_t;
typedef unsigned char oChar_t;
typedef unsigned char domain_t;

BUILD_ASSERT(sizeof(float32_t) >= 4);
BUILD_ASSERT(sizeof(float64_t) >= 8);

typedef struct canopen_rx_msg {
	uint8_t data[8];
	uint16_t ident;