mirror of
https://github.com/DarkFlippers/unleashed-firmware
synced 2024-11-26 22:40:25 +00:00
0154018363
* FBT: cdefines to env, libs order * API: strtod, modf, itoa, calloc * Apps: elk js * Apps: mjs * JS: scripts as assets * mjs: composite resolver * mjs: stack trace * ELK JS example removed * MJS thread, MJS lib modified to support script interruption * JS console UI * Module system, BadUSB bindings rework * JS notifications, simple dialog, BadUSB demo * Custom dialogs, dialog demo * MJS as system library, some dirty hacks to make it compile * Plugin-based js modules * js_uart(BadUART) module * js_uart: support for byte array arguments * Script icon and various fixes * File browser: multiple extensions filter, running js scripts from app loader * Running js scripts from archive browser * JS Runner as system app * Example scripts moved to /ext/apps/Scripts * JS bytecode listing generation * MJS builtin printf cleanup * JS examples cleanup * mbedtls version fix * Unused lib cleanup * Making PVS happy & TODOs cleanup * TODOs cleanup #2 * MJS: initial typed arrays support * JS: fix mem leak in uart destructor Co-authored-by: SG <who.just.the.doctor@gmail.com> Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
89 lines
No EOL
2 KiB
C
89 lines
No EOL
2 KiB
C
#ifndef CS_COMMON_PLATFORM_H_
|
|
#define CS_COMMON_PLATFORM_H_
|
|
|
|
/*
|
|
* For the "custom" platform, includes and dependencies can be
|
|
* provided through mg_locals.h.
|
|
*/
|
|
#define CS_P_CUSTOM 0
|
|
#define CS_P_UNIX 1
|
|
#define CS_P_WINDOWS 2
|
|
#define CS_P_ESP32 15
|
|
#define CS_P_ESP8266 3
|
|
#define CS_P_CC3100 6
|
|
#define CS_P_CC3200 4
|
|
#define CS_P_CC3220 17
|
|
#define CS_P_MSP432 5
|
|
#define CS_P_TM4C129 14
|
|
#define CS_P_MBED 7
|
|
#define CS_P_WINCE 8
|
|
#define CS_P_NXP_LPC 13
|
|
#define CS_P_NXP_KINETIS 9
|
|
#define CS_P_NRF51 12
|
|
#define CS_P_NRF52 10
|
|
#define CS_P_PIC32 11
|
|
#define CS_P_RS14100 18
|
|
#define CS_P_STM32 16
|
|
#define CS_P_FLIPPER 19
|
|
/* Next id: 20 */
|
|
|
|
#ifndef CS_PLATFORM
|
|
#define CS_PLATFORM CS_P_FLIPPER
|
|
#endif
|
|
|
|
#ifndef CS_PLATFORM
|
|
#error "CS_PLATFORM is not specified and we couldn't guess it."
|
|
#endif
|
|
|
|
#define MG_NET_IF_SOCKET 1
|
|
#define MG_NET_IF_SIMPLELINK 2
|
|
#define MG_NET_IF_LWIP_LOW_LEVEL 3
|
|
#define MG_NET_IF_PIC32 4
|
|
#define MG_NET_IF_NULL 5
|
|
|
|
#define MG_SSL_IF_OPENSSL 1
|
|
#define MG_SSL_IF_MBEDTLS 2
|
|
#define MG_SSL_IF_SIMPLELINK 3
|
|
|
|
#if CS_PLATFORM == CS_P_FLIPPER
|
|
#include "platforms/platform_flipper.h"
|
|
#endif
|
|
|
|
/* Common stuff */
|
|
|
|
#if !defined(PRINTF_LIKE)
|
|
#if defined(__GNUC__) || defined(__clang__) || defined(__TI_COMPILER_VERSION__)
|
|
#define PRINTF_LIKE(f, a) __attribute__((format(printf, f, a)))
|
|
#else
|
|
#define PRINTF_LIKE(f, a)
|
|
#endif
|
|
#endif
|
|
|
|
#if !defined(WEAK)
|
|
#if(defined(__GNUC__) || defined(__clang__) || defined(__TI_COMPILER_VERSION__)) && \
|
|
!defined(_WIN32)
|
|
#define WEAK __attribute__((weak))
|
|
#else
|
|
#define WEAK
|
|
#endif
|
|
#endif
|
|
|
|
#ifdef __GNUC__
|
|
#define NORETURN __attribute__((noreturn))
|
|
#define NOINLINE __attribute__((noinline))
|
|
#define WARN_UNUSED_RESULT __attribute__((warn_unused_result))
|
|
#define NOINSTR __attribute__((no_instrument_function))
|
|
#define DO_NOT_WARN_UNUSED __attribute__((unused))
|
|
#else
|
|
#define NORETURN
|
|
#define NOINLINE
|
|
#define WARN_UNUSED_RESULT
|
|
#define NOINSTR
|
|
#define DO_NOT_WARN_UNUSED
|
|
#endif /* __GNUC__ */
|
|
|
|
#ifndef ARRAY_SIZE
|
|
#define ARRAY_SIZE(array) (sizeof(array) / sizeof(array[0]))
|
|
#endif
|
|
|
|
#endif /* CS_COMMON_PLATFORM_H_ */ |