potion_party_leds/main/shared.h

51 lines
990 B
C

///
//
// shared.h contains some shared settings and functionality
//
///
#ifndef _shared_h
#define _shared_h
#include <stdint.h>
// wifi configuration
#define SSID "ESP8266"
#define PASSW "XR-Lab2023"
static const char* APP_TAG="CINEKID_LEDS";
// print a line with the app tag as a prefix to easilly separate our own logging from system logging
#define LOGLN(...) do {\
printf("%s | ", APP_TAG);\
printf(__VA_ARGS__);\
printf("\n");\
} while(0)
static inline
int min(int a, int b) { return a < b ? a : b; }
static inline
int max(int a, int b) { return a > b ? a : b; }
static inline
int clamp(int x, int mi, int ma) {
return max(mi, min(ma, x));
}
#define GLOBAL(__a) (uint8_t)(__a|0xE0)
struct result_t {
uint8_t is_ok;
union {
void* ok;
const char* error;
};
};
typedef struct result_t Result;
#define PARSE_ERR(__err) (Result){.is_ok=0,.error=__err}
#define PARSE_OK(__result) (Result){.is_ok=1,.ok=__result}
#endif // !_shared_h