diff options
Diffstat (limited to '.pio/libdeps/esp32-s3-n16r8/RF24/utility/Template')
5 files changed, 281 insertions, 0 deletions
diff --git a/.pio/libdeps/esp32-s3-n16r8/RF24/utility/Template/RF24_arch_config.h b/.pio/libdeps/esp32-s3-n16r8/RF24/utility/Template/RF24_arch_config.h new file mode 100644 index 0000000..2cfd75a --- /dev/null +++ b/.pio/libdeps/esp32-s3-n16r8/RF24/utility/Template/RF24_arch_config.h @@ -0,0 +1,76 @@ +/* + * Copyright (C) 2011 J. Coliz <maniacbug@ymail.com> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * version 2 as published by the Free Software Foundation. + */ + +/** + * @file RF24_arch_config.h + * General defines and includes for RF24/Linux + */ + +/** + * Example of RF24_arch_config.h for RF24 portability + * + * @defgroup Porting_General Porting: General + * @{ + */ + +#ifndef RF24_UTILITY_TEMPLATE_RF24_ARCH_CONFIG_H_ +#define RF24_UTILITY_TEMPLATE_RF24_ARCH_CONFIG_H_ + +#define RF24_LINUX + +#include <stddef.h> +#include "spi.h" +#include "gpio.h" +#include "compatibility.h" +#include <stdint.h> +#include <stdio.h> +#include <time.h> +#include <string.h> +#include <sys/time.h> + +#define _BV(x) (1 << (x)) +#define _SPI spi + +#ifdef RF24_DEBUG + #define IF_RF24_DEBUG(x) ({ x; }) +#else + #define IF_RF24_DEBUG(x) +#endif + +// Avoid spurious warnings +#if !defined(NATIVE) && defined(ARDUINO) + #undef PROGMEM + #define PROGMEM __attribute__((section(".progmem.data"))) + #undef PSTR + #define PSTR(s) (__extension__({static const char __c[] PROGMEM = (s); &__c[0]; })) +#endif + +typedef uint16_t prog_uint16_t; +typedef uint16_t rf24_gpio_pin_t; +#define PSTR(x) (x) +#define printf_P printf +#define strlen_P strlen +#define PROGMEM +#define pgm_read_word(p) (*(const unsigned short*)(p)) +#define PRIPSTR "%s" +#define pgm_read_byte(p) (*(const unsigned char*)(p)) + +// Function, constant map as a result of migrating from Arduino +#define LOW GPIO::OUTPUT_LOW +#define HIGH GPIO::OUTPUT_HIGH +#define INPUT GPIO::DIRECTION_IN +#define OUTPUT GPIO::DIRECTION_OUT +#define digitalWrite(pin, value) GPIO::write(pin, value) +#define pinMode(pin, direction) GPIO::open(pin, direction) +#define delay(millisec) __msleep(millisec) +#define delayMicroseconds(usec) __usleep(usec) +#define millis() __millis() + +/**@}*/ + +#endif // RF24_UTILITY_TEMPLATE_RF24_ARCH_CONFIG_H_ diff --git a/.pio/libdeps/esp32-s3-n16r8/RF24/utility/Template/compatibility.h b/.pio/libdeps/esp32-s3-n16r8/RF24/utility/Template/compatibility.h new file mode 100644 index 0000000..49c33e1 --- /dev/null +++ b/.pio/libdeps/esp32-s3-n16r8/RF24/utility/Template/compatibility.h @@ -0,0 +1,36 @@ +/** + * @file compatibility.h + * Class declaration for SPI helper files + */ + +/** + * Example of compatibility.h class declaration for timing functions portability + * + * @defgroup Porting_Timing Porting: Timing + * @{ + */ + +#ifndef RF24_UTILITY_TEMPLATE_COMPATIBLITY_H_ +#define RF24_UTILITY_TEMPLATE_COMPATIBLITY_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include <stdint.h> + +void __msleep(int millisec); + +void __usleep(int microsec); + +void __start_timer(); + +uint32_t __millis(); + +#ifdef __cplusplus +} +#endif + +/**@}*/ + +#endif // RF24_UTILITY_TEMPLATE_COMPATIBLITY_H_ diff --git a/.pio/libdeps/esp32-s3-n16r8/RF24/utility/Template/gpio.h b/.pio/libdeps/esp32-s3-n16r8/RF24/utility/Template/gpio.h new file mode 100644 index 0000000..9164646 --- /dev/null +++ b/.pio/libdeps/esp32-s3-n16r8/RF24/utility/Template/gpio.h @@ -0,0 +1,67 @@ +/** + * @file gpio.h + * Class declaration for SPI helper files + */ + +/** + * Example of gpio.h class declaration for GPIO portability + * + * @defgroup Porting_GPIO Porting: GPIO + * @{ + */ +#ifndef RF24_UTILITY_TEMPLATE_GPIO_H_ +#define RF24_UTILITY_TEMPLATE_GPIO_H_ + +#include <cstdio> + +#ifndef DOXYGEN_FORCED +// exclude this line from the docs to prevent displaying in the list of classes +class GPIO +#endif +{ + +public: + /* Constants */ + static const int DIRECTION_OUT = 1; + static const int DIRECTION_IN = 0; + + static const int OUTPUT_HIGH = 1; + static const int OUTPUT_LOW = 0; + + GPIO(); + + /** + * Similar to Arduino pinMode(pin,mode); + * @param port + * @param DDR + */ + static void open(int port, int DDR); + + /** + * + * @param port + */ + static void close(int port); + + /** + * Similar to Arduino digitalRead(pin); + * @param port + */ + static int read(int port); + + /** + * Similar to Arduino digitalWrite(pin,state); + * @param port + * @param value + */ + static void write(int port, int value); + +#ifndef DOXYGEN_FORCED + // exclude this line from the docs to prevent warnings docs generators + virtual ~GPIO(); +#endif +}; + +/**@}*/ + +#endif // RF24_UTILITY_TEMPLATE_GPIO_H_ diff --git a/.pio/libdeps/esp32-s3-n16r8/RF24/utility/Template/includes.h b/.pio/libdeps/esp32-s3-n16r8/RF24/utility/Template/includes.h new file mode 100644 index 0000000..2dd2412 --- /dev/null +++ b/.pio/libdeps/esp32-s3-n16r8/RF24/utility/Template/includes.h @@ -0,0 +1,28 @@ +/** + * @file includes.h + * Configuration defines for RF24/Linux + */ + +/** + * Example of includes.h for RF24 Linux portability + * + * @defgroup Porting_Includes Porting: Includes + * @{ + */ + +#ifndef RF24_UTILITY_INCLUDES_H_ +#define RF24_UTILITY_INCLUDES_H_ + +/** + * Define a specific platform for this configuration + */ +#define RF24_TEMPLATE + +/** + * Load the correct configuration for this platform + */ +#include "Template/RF24_arch_config.h" + +/**@}*/ + +#endif // RF24_UTILITY_INCLUDES_H_ diff --git a/.pio/libdeps/esp32-s3-n16r8/RF24/utility/Template/spi.h b/.pio/libdeps/esp32-s3-n16r8/RF24/utility/Template/spi.h new file mode 100644 index 0000000..c4432a3 --- /dev/null +++ b/.pio/libdeps/esp32-s3-n16r8/RF24/utility/Template/spi.h @@ -0,0 +1,74 @@ +/** + * @file spi.h + * Class declaration for SPI helper files + */ + +/** + * Example of spi.h class declaration for SPI portability + * + * @defgroup Porting_SPI Porting: SPI + * @{ + */ +#ifndef RF24_UTILITY_TEMPLATE_SPI_H_ +#define RF24_UTILITY_TEMPLATE_SPI_H_ + +#include <stdint.h> + +#ifndef DOXYGEN_FORCED +// exclude this line from the docs to prevent displaying in the list of classes +class SPI +#endif +{ + +public: + /** + * SPI constructor + */ + SPI(); + + /** + * Start SPI + */ + void begin(int busNo); + + /** + * Transfer a single byte + * @param tx_ Byte to send + * @return Data returned via spi + */ + uint8_t transfer(uint8_t tx_); + + /** + * Transfer a buffer of data + * @param txBuf Transmit buffer + * @param rxBuf Receive buffer + * @param len Length of the data + */ + void transfernb(char* txBuf, char* rxBuf, uint32_t len); + + /** + * Transfer a buffer of data without an rx buffer + * @param buf Pointer to a buffer of data + * @param len Length of the data + */ + void transfern(char* buf, uint32_t len); + +#ifndef DOXYGEN_FORCED + // exclude this line from the docs to prevent warnings docs generators + virtual ~SPI(); +#endif + +private: + /** SPI bus */ + int bus; + /** SPI Mode set */ + uint8_t mode; + /** SPI word size */ + uint8_t bits; + /** SPI speed */ + uint32_t speed; +}; + +/**@}*/ + +#endif // RF24_UTILITY_TEMPLATE_SPI_H_ |
