PU2CLR AKC695X Arduino Library
1.0.1
This is an Arduino Library to control the AKC695X / M695X DSP radio devices
|
Go to the documentation of this file.
23 #define DEFAUL_I2C_ADDRESS 0x10
24 #define CURRENT_MODE_FM 1
25 #define CURRENT_MODE_AM 0
26 #define CRYSTAL_12MHZ 0
27 #define CRYSTAL_32KHZ 1
29 #define MAX_SEEK_TIME 3000
68 #define AKC595X_I2C_ADRESS 0x10
120 uint8_t power_on : 1;
157 uint8_t ref_32k_mode : 1;
189 uint8_t phase_inv : 1;
205 uint8_t stereo_mono : 2;
223 uint8_t stereo_th : 2;
225 uint8_t am_cnr_th : 2;
226 uint8_t fm_cnr_th : 2;
244 uint8_t pd_adc_vol : 1;
321 uint8_t readchan : 5;
348 uint8_t mode3k_f : 1;
381 uint8_t pgalevel_if : 3;
382 uint8_t pgalevel_rf : 3;
465 void setup(
int reset_pin);
466 void setup(
int reset_pin, uint8_t crystal_type);
468 void powerOn(uint8_t fm_en, uint8_t tune, uint8_t mute, uint8_t seek, uint8_t seekup);
489 void setFM(uint8_t akc695x_fm_band, uint16_t minimum_freq, uint16_t maximum_freq, uint16_t default_frequency, uint8_t default_step);
490 void setAM(uint8_t akc695x_am_band, uint16_t minimum_freq, uint16_t maximum_freq, uint16_t default_frequency, uint8_t default_step);
492 void setCustomBand(uint16_t minimum_frequency, uint16_t maximum_frequency);
504 void setAudio(uint8_t phase_inv, uint8_t line, uint8_t volume);
void setStep(uint8_t step)
Sets the step that will be used to increment and decrement the current frequency.
Definition: AKC695X.cpp:592
void setVolume(uint8_t volume)
Sets the output audio volume.
Definition: AKC695X.cpp:813
uint8_t currentBand
Definition: AKC695X.h:453
bool isTuningComplete()
Gets the Status of seeking or tuning process.
Definition: AKC695X.cpp:189
uint8_t getCurrentMode()
Definition: AKC695X.h:516
uint16_t currentFrequency
Store the current frequency.
Definition: AKC695X.h:447
void setup(int reset_pin, uint8_t crystal_type)
Receiver startup.
Definition: AKC695X.cpp:61
void setI2CBusAddress(int deviceAddress)
Sets the I2C bus device address.
Definition: AKC695X.cpp:48
bool isTuned()
Gets the result of tune processing.
Definition: AKC695X.cpp:175
uint8_t getAmCurrentSpace()
Gets the current AM space.
Definition: AKC695X.cpp:284
Definition: AKC695X.h:438
#define AKC595X_I2C_ADRESS
AKC695X features.
Definition: AKC695X.h:68
uint8_t getFmCarrierNoiseRatio()
Gets the current FM carrier to noise ratio.
Definition: AKC695X.cpp:314
void setFrequency(uint16_t frequency)
Sets the the device to a given frequency.
Definition: AKC695X.cpp:690
uint8_t raw
Definition: AKC695X.h:326
#define REG07
Definition: AKC695X.h:78
uint8_t raw
Definition: AKC695X.h:308
int getRSSI()
Gets the current RSSI.
Definition: AKC695X.cpp:873
uint16_t currentBandMinimumFrequency
Definition: AKC695X.h:454
int resetPin
Definition: AKC695X.h:443
#define MAX_SEEK_TIME
Definition: AKC695X.h:29
#define REG09
Definition: AKC695X.h:80
#define REG11
Definition: AKC695X.h:81
#define REG03
Definition: AKC695X.h:74
uint8_t raw
Definition: AKC695X.h:228
#define REG25
Definition: AKC695X.h:90
#define REG27
Definition: AKC695X.h:92
void setFmEmphasis(uint8_t de)
Sets de-emphasis.
Definition: AKC695X.cpp:328
void setAM(uint8_t akc695x_am_band, uint16_t minimum_freq, uint16_t maximum_freq, uint16_t default_frequency, uint8_t default_step)
Sets the AKC695X to AM mode and selects the band.
Definition: AKC695X.cpp:542
#define REG05
Definition: AKC695X.h:76
uint8_t raw
Definition: AKC695X.h:350
uint8_t raw
Definition: AKC695X.h:427
float getSupplyVoltage()
Gets the supply voltage.
Definition: AKC695X.cpp:896
uint8_t currentMode3k
1 = 3K; 0 = AM
Definition: AKC695X.h:450
uint8_t raw
Definition: AKC695X.h:271
void setCrystalType(uint8_t crystal)
Sets the kind of Crystal.
Definition: AKC695X.cpp:154
uint8_t raw
Definition: AKC695X.h:289
uint8_t akc595x_reg4
Reg4 (type 0x04 / RW): configures register 4 (default: 0x19) Address.
Definition: AKC695X.h:173
uint8_t akc595x_reg5
Reg5 (type 0x05 / RW): configures register 5 (default: 0x32) Address.
Definition: AKC695X.h:180
void setFM(uint8_t akc695x_fm_band, uint16_t minimum_freq, uint16_t maximum_freq, uint16_t default_frequency, uint8_t default_step)
Sets the AKC695X to FM mode.
Definition: AKC695X.cpp:467
void setFmStereoMono(uint8_t value)
Sets the FM stereo or mono.
Definition: AKC695X.cpp:348
void frequencyDown()
Subtracts the current step from the current frequency and assign the new frequency.
Definition: AKC695X.cpp:764
uint8_t raw
Definition: AKC695X.h:384
uint8_t isCurrentModeFM()
Gets the current operation mode;.
Definition: AKC695X.cpp:204
uint8_t raw
Definition: AKC695X.h:210
void setVolumeDown()
Decrements the audio volume.
Definition: AKC695X.cpp:841
uint8_t currentMode
Store the current mode: 1 = FM; 0 = AM.
Definition: AKC695X.h:448
#define REG21
Definition: AKC695X.h:86
int getVolume()
Definition: AKC695X.h:511
#define REG24
Definition: AKC695X.h:89
#define REG23
Definition: AKC695X.h:88
void seekStation(uint8_t up_down, void(*showFunc)()=NULL)
Seeks a FM station.
Definition: AKC695X.cpp:642
uint8_t akc595x_reg3
Reg3 (type 0x03 / RW): configures register 3 (default: 0xC8) Address.
Definition: AKC695X.h:167
void setVolumeControl(uint8_t type)
Sets the kind of audio volume control will be used.
Definition: AKC695X.cpp:858
#define REG04
Definition: AKC695X.h:75
uint16_t getFrequency()
Returns the current frequency value.
Definition: AKC695X.cpp:743
#define REG22
Definition: AKC695X.h:87
uint8_t volume
Store the current volume.
Definition: AKC695X.h:445
#define REG02
Definition: AKC695X.h:73
uint16_t currentStep
Strore the current step.
Definition: AKC695X.h:446
uint8_t raw
Definition: AKC695X.h:138
uint8_t raw
Definition: AKC695X.h:400
bool isFmStereo()
Gets the current FM stereo status.
Definition: AKC695X.cpp:299
#define CRYSTAL_32KHZ
Definition: AKC695X.h:27
uint8_t currentCrystalType
Store the crystal type used: 0 = 12MHz; 1 = 32.768KHz.
Definition: AKC695X.h:449
void setup(int reset_pin)
Receiver startup.
Definition: AKC695X.cpp:77
uint8_t akc595x_reg21
Reg21 (type 0x15 / R)
Definition: AKC695X.h:335
void setFmBandwidth(uint8_t value)
Sets the FM Bandwidth
Definition: AKC695X.cpp:370
void frequencyUp()
Adds the current step to the current frequency and sets the new frequency.
Definition: AKC695X.cpp:753
int deviceAddress
Definition: AKC695X.h:442
void reset()
Resets the system.
Definition: AKC695X.cpp:29
#define REG01
Definition: AKC695X.h:72
void powerOn(uint8_t fm_en, uint8_t tune, uint8_t mute, uint8_t seek, uint8_t seekup)
Power the device on.
Definition: AKC695X.cpp:93
#define CURRENT_MODE_FM
Definition: AKC695X.h:24
void setCustomBand(uint16_t minimum_frequency, uint16_t maximum_frequency)
Sets the start and end frequencies for a custom band.
Definition: AKC695X.cpp:421
void setFmSeekStep(uint8_t value)
Sets FM step for seeking.
Definition: AKC695X.cpp:614
void setAudio(uint8_t phase_inv, uint8_t line, uint8_t volume)
Configures the audio output.
Definition: AKC695X.cpp:780
uint8_t getRegister(uint8_t reg)
Gets a given register content.
Definition: AKC695X.cpp:132
uint8_t raw
Definition: AKC695X.h:247
uint16_t getCurrentChannel()
Gets the current channel.
Definition: AKC695X.cpp:218
#define REG00
Definition: AKC695X.h:71
uint8_t fmCurrentBand
Definition: AKC695X.h:458
void commitTune()
Sets the STC bit to high when the tune operation completes.
Definition: AKC695X.cpp:389
uint16_t currentBandMaximumFrequency
Definition: AKC695X.h:455
uint16_t channelToFrequency()
Converts the channel stored in the registers 20 and 21 to frequency.
Definition: AKC695X.cpp:242
#define REG20
Definition: AKC695X.h:85
uint8_t raw
Definition: AKC695X.h:193
uint8_t akc595x_reg26
Reg26 (type 0x1A / R)
Definition: AKC695X.h:410
#define REG06
Definition: AKC695X.h:77
void setRegister(uint8_t reg, uint8_t parameter)
Sets a given register with a given value.
Definition: AKC695X.cpp:116
uint8_t raw
Definition: AKC695X.h:122
uint8_t raw
Definition: AKC695X.h:366
void setVolumeUp()
Increments the audio volume.
Definition: AKC695X.cpp:830
uint8_t raw
Definition: AKC695X.h:160
uint8_t getAmCarrierNoiseRatio()
Gets the current AM carrier to noise ratio.
Definition: AKC695X.cpp:269
void setAudio()
Configures the audio output with default values.
Definition: AKC695X.cpp:799