added support for ESP32 (untested)

This commit is contained in:
Chester 2021-03-14 15:38:59 +01:00
parent f6841f9f47
commit b076743f54
5 changed files with 71 additions and 32 deletions

View file

@ -13,6 +13,7 @@
*/
#include "WaterMeter.h"
#include "hwconfig.h"
WaterMeter::WaterMeter()
{
@ -37,7 +38,7 @@ inline void WaterMeter::waitMiso(void)
}
// write a single register of CC1101
void WaterMeter::writeReg(uint8 regAddr, uint8 value)
void WaterMeter::writeReg(uint8_t regAddr, uint8_t value)
{
selectCC1101(); // Select CC1101
waitMiso(); // Wait until MISO goes low
@ -47,7 +48,7 @@ void WaterMeter::writeReg(uint8 regAddr, uint8 value)
}
// send a strobe command to CC1101
void WaterMeter::cmdStrobe(uint8 cmd)
void WaterMeter::cmdStrobe(uint8_t cmd)
{
selectCC1101(); // Select CC1101
delayMicroseconds(5);
@ -58,9 +59,9 @@ void WaterMeter::cmdStrobe(uint8 cmd)
}
// read CC1101 register (status or configuration)
uint8 WaterMeter::readReg(uint8 regAddr, uint8 regType)
uint8_t WaterMeter::readReg(uint8_t regAddr, uint8_t regType)
{
uint8 addr, val;
uint8_t addr, val;
addr = regAddr | regType;
selectCC1101(); // Select CC1101
@ -73,9 +74,9 @@ uint8 WaterMeter::readReg(uint8 regAddr, uint8 regType)
}
//
void WaterMeter::readBurstReg(uint8 * buffer, uint8 regAddr, uint8 len)
void WaterMeter::readBurstReg(uint8_t * buffer, uint8_t regAddr, uint8_t len)
{
uint8 addr, i;
uint8_t addr, i;
addr = regAddr | READ_BURST;
selectCC1101(); // Select CC1101

View file

@ -12,29 +12,28 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <ESP8266WiFi.h>
#include <ESP8266mDNS.h>
#include <SoftwareSerial.h>
#include <WiFiUdp.h>
#if defined(ESP8266)
#include <ESP8266WiFi.h>
#include <ESP8266mDNS.h>
#include <SoftwareSerial.h>
#elif defined(ESP32)
#include <WiFi.h>
#include <ESPmDNS.h>
#endif
#include <PubSubClient.h>
#include <ArduinoOTA.h>
#include "WaterMeter.h"
#include "credentials.h"
#include "hwconfig.h"
#define ESP_NAME "ESP-Meter"
// Attach CC1101 pins to ESP8266 SPI pins
// VCC => 3V3
// GND => GND
// CSN => D8
// MOSI => D7
// MISO => D6
// SCK => D5
// GD0 => D2 A valid interrupt pin for your platform (defined below this)
// GD2 => not connected
#define ESP_NAME "WaterMeter"
#define DEBUG 0
#if defined(ESP32)
#define LED_BUILTIN 4
#endif
//Wifi settings: SSID, PW, MQTT broker
#define NUM_SSID_CREDENTIALS 3
const char *credentials[NUM_SSID_CREDENTIALS][4] =