You've already forked TEF6686_ESP32
Add files via upload
This commit is contained in:
committed by
GitHub
parent
715216923d
commit
ed302d83ec
80
src/TEF6686.h
Normal file
80
src/TEF6686.h
Normal file
@@ -0,0 +1,80 @@
|
||||
#define TEF6686_h
|
||||
|
||||
#include "Arduino.h"
|
||||
#include "Tuner_Api.h"
|
||||
#include "Tuner_Drv_Lithio.h"
|
||||
#include "Tuner_Interface.h"
|
||||
|
||||
|
||||
enum RDS_GROUPS
|
||||
{
|
||||
RDS_GROUP_0A, RDS_GROUP_0B, RDS_GROUP_1A, RDS_GROUP_1B, RDS_GROUP_2A, RDS_GROUP_2B, RDS_GROUP_3A, RDS_GROUP_3B,
|
||||
RDS_GROUP_4A, RDS_GROUP_4B, RDS_GROUP_5A, RDS_GROUP_5B, RDS_GROUP_6A, RDS_GROUP_6B, RDS_GROUP_7A, RDS_GROUP_7B,
|
||||
RDS_GROUP_8A, RDS_GROUP_8B, RDS_GROUP_9A, RDS_GROUP_9B, RDS_GROUP_10A, RDS_GROUP_10B, RDS_GROUP_11A, RDS_GROUP_11B,
|
||||
RDS_GROUP_12A, RDS_GROUP_12B, RDS_GROUP_13A, RDS_GROUP_13B, RDS_GROUP_14A, RDS_GROUP_14B, RDS_GROUP_15A, RDS_GROUP_15B
|
||||
};
|
||||
|
||||
typedef struct _rds_
|
||||
{
|
||||
char picode[5];
|
||||
char stationName[9];
|
||||
char stationText[65];
|
||||
byte stationTypeCode;
|
||||
char stationType[17];
|
||||
uint16_t hours, minutes, days, offsetplusmin, stationID = 0, rdsA, rdsB, rdsC, rdsD, rdsError, errors = 0;
|
||||
int8_t offset;
|
||||
uint8_t stationTextOffset = 0;
|
||||
bool hasCT = false;
|
||||
bool rtAB = false;
|
||||
} rds_;
|
||||
|
||||
class TEF6686 {
|
||||
public:
|
||||
rds_ rds;
|
||||
bool readRDS(void);
|
||||
uint16_t getFrequency();
|
||||
uint16_t getFrequency_AM();
|
||||
uint16_t tuneDown(uint8_t stepsize, uint16_t LowEdge, uint16_t HighEdge, bool fullsearchrds);
|
||||
uint16_t tuneUp(uint8_t stepsize, uint16_t LowEdge, uint16_t HighEdge, bool fullsearchrds);
|
||||
uint16_t tuneDown_AM(uint8_t stepsize);
|
||||
uint16_t tuneUp_AM(uint8_t stepsize);
|
||||
bool getStatus(int16_t &level, uint16_t &USN, uint16_t &WAM, int16_t &offset, uint16_t &bandwidth, uint16_t &modulation);
|
||||
bool getStatus_AM(int16_t &level, uint16_t &USN, uint16_t &WAM, int16_t &offset, uint16_t &bandwidth, uint16_t &modulation);
|
||||
bool getIdentification(uint16_t &device, uint16_t &hw_version, uint16_t &sw_version);
|
||||
bool getBootStatus(uint8_t &bootstatus);
|
||||
void setMono(uint8_t mono);
|
||||
bool getStereoStatus();
|
||||
void init(byte TEF);
|
||||
void clearRDS(bool fullsearchrds);
|
||||
void power(uint8_t mode);
|
||||
void setAGC(uint8_t start);
|
||||
void setiMS(uint16_t mph);
|
||||
void setEQ(uint16_t eq);
|
||||
void setDeemphasis(uint8_t timeconstant);
|
||||
void setFMABandw();
|
||||
void setFMBandw(uint16_t bandwidth);
|
||||
void setAMBandw(uint16_t bandwidth);
|
||||
void setFrequency(uint16_t frequency, uint16_t LowEdge, uint16_t HighEdge, bool fullsearchrds);
|
||||
void setFrequency_AM(uint16_t frequency);
|
||||
void setHighCutLevel(uint16_t limit);
|
||||
void setHighCutOffset(uint16_t start);
|
||||
void setMute();
|
||||
void setOffset(int16_t offset);
|
||||
void setStereoLevel(uint16_t start);
|
||||
void setUnMute();
|
||||
void setVolume(int16_t volume);
|
||||
uint8_t af_counter;
|
||||
|
||||
private:
|
||||
uint16_t tune(uint8_t up, uint8_t stepsize, uint16_t LowEdge, uint16_t HighEdge, bool fullsearchrds);
|
||||
uint16_t tune_AM(uint8_t up, uint8_t stepsize);
|
||||
uint8_t ascii_converter (uint8_t src);
|
||||
uint8_t ps_process;
|
||||
uint8_t rt_process;
|
||||
char ps_buffer[9];
|
||||
char rt_buffer[65];
|
||||
bool ABold;
|
||||
byte rt_timer;
|
||||
byte offsetold;
|
||||
char stationTextBuffer[65];
|
||||
};
|
||||
Reference in New Issue
Block a user