added first test program and esp32 schemata

This commit is contained in:
2023-09-05 17:55:36 +02:00
parent 29f218ae8d
commit ec7a2e5947
2 changed files with 411 additions and 0 deletions

View File

@@ -0,0 +1,81 @@
// OTA
#include <WiFi.h>
#include <WiFiAP.h>
#include <WebServer.h>
#include <ESP2SOTA.h>
// SI4713
#include <Wire.h>
#include <Adafruit_Si4713.h>
#define _BV(n) (1 << n)
#define RESET_PIN 13
#define FM_STATION 10230 // 10230 == 102.30 MHz
Adafruit_Si4713 radio = Adafruit_Si4713(RESET_PIN);
const char* ssid = "SLAUDIOADAPTER";
const char* password = "123456789";
int startup_period = 600000; //10mins
unsigned long lastTriggerTime = 0;
int loop_time = 1000; //1s
unsigned long startup_time = 0;
WebServer server(80);
void setup() {
Serial.begin(115200);
WiFi.mode(WIFI_AP);
WiFi.softAP(ssid, password);
delay(1000);
IPAddress IP = IPAddress (192, 168, 10, 1);
IPAddress NMask = IPAddress (255, 255, 255, 0);
WiFi.softAPConfig(IP, IP, NMask);
IPAddress myIP = WiFi.softAPIP();
Serial.print("AP IP address: ");
Serial.println(myIP);
server.on("/", HTTP_GET, []() {
server.sendHeader("Connection", "close");
server.send(200, "text/plain", "Hello there!");
});
/* INITIALIZE ESP2SOTA LIBRARY */
ESP2SOTA.begin(&server);
server.begin();
startup_time = millis();
delay(1000);
// RADIO CONFIG
if (!radio.begin()) { // begin with address 0x63 (CS high default)
Serial.println("Couldn't find SI4713");
while (1);
}
Serial.println("Found SI4713");
radio.setTXpower(115); // dBuV, 88-115 max
radio.tuneFM(FM_STATION);
// begin the RDS/RDBS transmission
radio.beginRDS();
radio.setRDSstation("SL Bluetooth");
radio.setRDSbuffer("");
}
void loop() {
while(millis() <= startup_time + startup_period){
if(millis() - lastTriggerTime >= loop_time){
Serial.println("Update still possible for the next " + String((startup_period - millis())/1000) + "s");
lastTriggerTime += loop_time;
}
server.handleClient();
}
radio.readASQ();
Serial.print("\tCurr ASQ: 0x");
Serial.println(radio.currASQ, HEX);
Serial.print("\tCurr InLevel:");
Serial.println(radio.currInLevel);
}