made certain library functions private to ensure they aren't improperly called from an arduino sketch
This commit is contained in:
parent
28f1ff016c
commit
c107df93dd
500
HamShield.h
500
HamShield.h
|
@ -258,6 +258,9 @@
|
||||||
|
|
||||||
class HamShield {
|
class HamShield {
|
||||||
public:
|
public:
|
||||||
|
// public singleton for ISRs to reference
|
||||||
|
static HamShield *sHamShield; // HamShield singleton, used for ISRs mostly
|
||||||
|
|
||||||
HamShield();
|
HamShield();
|
||||||
HamShield(uint8_t address);
|
HamShield(uint8_t address);
|
||||||
|
|
||||||
|
@ -268,240 +271,205 @@ class HamShield {
|
||||||
uint16_t readCtlReg();
|
uint16_t readCtlReg();
|
||||||
void softReset();
|
void softReset();
|
||||||
|
|
||||||
// center frequency
|
// restrictions control
|
||||||
void setFrequency(uint32_t freq_khz);
|
void dangerMode();
|
||||||
uint32_t getFrequency();
|
void safeMode();
|
||||||
|
|
||||||
// band
|
bool frequency(uint32_t freq_khz);
|
||||||
void setTxBand2m();
|
uint32_t getFrequency();
|
||||||
void setTxBand1_2m();
|
|
||||||
void setTxBand70cm();
|
|
||||||
bool frequency(uint32_t freq_khz);
|
|
||||||
|
|
||||||
// xtal frequency (kHz)
|
|
||||||
// 12-14MHz crystal: this reg is set to crystal freq_khz
|
|
||||||
// 24-28MHz crystal: this reg is set to crystal freq_khz / 2
|
|
||||||
void setXtalFreq(uint16_t freq_kHz);
|
|
||||||
uint16_t getXtalFreq();
|
|
||||||
|
|
||||||
// adclk frequency (kHz)
|
|
||||||
// 12-14MHz crystal: this reg is set to crystal freq_khz / 2
|
|
||||||
// 24-28MHz crystal: this reg is set to crystal freq_khz / 4
|
|
||||||
void setAdcClkFreq(uint16_t freq_kHz);
|
|
||||||
uint16_t getAdcClkFreq();
|
|
||||||
|
|
||||||
// clk mode
|
|
||||||
// 12-14MHz: set to 1
|
|
||||||
// 24-28MHz: set to 0
|
|
||||||
void setClkMode(bool LFClk);
|
|
||||||
bool getClkMode();
|
|
||||||
|
|
||||||
// clk example
|
|
||||||
// 12.8MHz clock
|
|
||||||
// A1846S_XTAL_FREQ_REG[15:0]= xtal_freq<15:0>=12.8*1000=12800
|
|
||||||
// A1846S_ADCLK_FREQ_REG[12:0] =adclk_freq<15:0>=(12.8/2)*1000=6400
|
|
||||||
// A1846S_CLK_MODE_REG[0]= clk_mode =1
|
|
||||||
|
|
||||||
// TX/RX control
|
|
||||||
|
|
||||||
// channel mode
|
|
||||||
// 11 - 25kHz channel
|
|
||||||
// 00 - 12.5kHz channel
|
|
||||||
// 10,01 - reserved
|
|
||||||
void setChanMode(uint16_t mode);
|
|
||||||
uint16_t getChanMode();
|
|
||||||
|
|
||||||
// choose tx or rx
|
|
||||||
void setTX(bool on_noff);
|
|
||||||
bool getTX();
|
|
||||||
|
|
||||||
void setRX(bool on_noff);
|
|
||||||
bool getRX();
|
|
||||||
|
|
||||||
void setModeTransmit(); // turn off rx, turn on tx
|
|
||||||
void setModeReceive(); // turn on rx, turn off tx
|
|
||||||
void setModeOff(); // turn off rx, turn off tx, set pwr_dwn bit
|
|
||||||
|
|
||||||
// set tx source
|
|
||||||
// 00 - Mic source
|
|
||||||
// 01 - sine source from tone2
|
|
||||||
// 10 - tx code from GPIO1 code_in (gpio1<1:0> must be set to 01)
|
|
||||||
// 11 - no tx source
|
|
||||||
void setTxSource(uint16_t tx_source);
|
|
||||||
void setTxSourceMic();
|
|
||||||
void setTxSourceTone1();
|
|
||||||
void setTxSourceTone2();
|
|
||||||
void setTxSourceTones();
|
|
||||||
void setTxSourceNone();
|
|
||||||
uint16_t getTxSource();
|
|
||||||
|
|
||||||
// set PA_bias voltage
|
|
||||||
// 000000: 1.01V
|
|
||||||
// 000001:1.05V
|
|
||||||
// 000010:1.09V
|
|
||||||
// 000100: 1.18V
|
|
||||||
// 001000: 1.34V
|
|
||||||
// 010000: 1.68V
|
|
||||||
// 100000: 2.45V
|
|
||||||
// 1111111:3.13V
|
|
||||||
void setPABiasVoltage(uint16_t voltage);
|
|
||||||
uint16_t getPABiasVoltage();
|
|
||||||
|
|
||||||
// Subaudio settings
|
|
||||||
|
|
||||||
// Ctcss/cdcss mode sel
|
|
||||||
// x00=disable,
|
|
||||||
// 001=inner ctcss en,
|
|
||||||
// 010= inner cdcss en
|
|
||||||
// 101= outer ctcss en,
|
|
||||||
// 110=outer cdcss en
|
|
||||||
// others =disable
|
|
||||||
void setCtcssCdcssMode(uint16_t mode);
|
|
||||||
uint16_t getCtcssCdcssMode();
|
|
||||||
void setInnerCtcssMode();
|
|
||||||
void setInnerCdcssMode();
|
|
||||||
void setOuterCtcssMode();
|
|
||||||
void setOuterCdcssMode();
|
|
||||||
void disableCtcssCdcss();
|
|
||||||
|
|
||||||
// Ctcss_sel
|
|
||||||
// 1 = ctcss_cmp/cdcss_cmp out via gpio
|
|
||||||
// 0 = ctcss/cdcss sdo out vio gpio
|
|
||||||
void setCtcssSel(bool cmp_nsdo);
|
|
||||||
bool getCtcssSel();
|
|
||||||
|
|
||||||
// Cdcss_sel
|
|
||||||
// 1 = long (24 bit) code
|
|
||||||
// 0 = short(23 bit) code
|
|
||||||
void setCdcssSel(bool long_nshort);
|
|
||||||
bool getCdcssSel();
|
|
||||||
// Cdcss neg_det_en
|
|
||||||
void enableCdcssNegDet();
|
|
||||||
void disableCdcssNegDet();
|
|
||||||
bool getCdcssNegDetEnabled();
|
|
||||||
|
|
||||||
// Cdcss pos_det_en
|
|
||||||
void enableCdcssPosDet();
|
|
||||||
void disableCdcssPosDet();
|
|
||||||
bool getCdcssPosDetEnabled();
|
|
||||||
|
|
||||||
// css_det_en
|
|
||||||
void enableCssDet();
|
|
||||||
void disableCssDet();
|
|
||||||
bool getCssDetEnabled();
|
|
||||||
|
|
||||||
// ctcss freq
|
|
||||||
void setCtcss(float freq);
|
|
||||||
void setCtcssFreq(uint16_t freq);
|
|
||||||
uint16_t getCtcssFreq();
|
|
||||||
void setCtcssFreqToStandard(); // freq must be 134.4Hz for standard cdcss mode
|
|
||||||
|
|
||||||
// cdcss codes
|
|
||||||
void setCdcssCode(uint16_t code);
|
|
||||||
uint16_t getCdcssCode();
|
|
||||||
|
|
||||||
// SQ
|
// channel mode
|
||||||
void setSQOn();
|
// 11 - 25kHz channel
|
||||||
void setSQOff();
|
// 00 - 12.5kHz channel
|
||||||
bool getSQState();
|
// 10,01 - reserved
|
||||||
|
void setChanMode(uint16_t mode);
|
||||||
// SQ threshold
|
uint16_t getChanMode();
|
||||||
void setSQHiThresh(uint16_t sq_hi_threshold); // Sq detect high th, rssi_cmp will be 1 when rssi>th_h_sq, unit 1/8dB
|
|
||||||
uint16_t getSQHiThresh();
|
void setModeTransmit(); // turn off rx, turn on tx
|
||||||
void setSQLoThresh(uint16_t sq_lo_threshold); // Sq detect low th, rssi_cmp will be 0 when rssi<th_l_sq && time delay meet, unit 1/8 dB
|
void setModeReceive(); // turn on rx, turn off tx
|
||||||
uint16_t getSQLoThresh();
|
void setModeOff(); // turn off rx, turn off tx, set pwr_dwn bit
|
||||||
|
|
||||||
// SQ out select
|
// set tx source
|
||||||
void setSQOutSel();
|
// 00 - Mic source
|
||||||
void clearSQOutSel();
|
// 01 - sine source from tone2
|
||||||
bool getSQOutSel();
|
// 10 - tx code from GPIO1 code_in (gpio1<1:0> must be set to 01)
|
||||||
|
// 11 - no tx source
|
||||||
// VOX
|
void setTxSource(uint16_t tx_source);
|
||||||
void setVoxOn();
|
void setTxSourceMic();
|
||||||
void setVoxOff();
|
void setTxSourceTone1();
|
||||||
bool getVoxOn();
|
void setTxSourceTone2();
|
||||||
|
void setTxSourceTones();
|
||||||
// Vox Threshold
|
void setTxSourceNone();
|
||||||
void setVoxOpenThresh(uint16_t vox_open_thresh); // When vssi > th_h_vox, then vox will be 1(unit mV )
|
uint16_t getTxSource();
|
||||||
uint16_t getVoxOpenThresh();
|
|
||||||
void setVoxShutThresh(uint16_t vox_shut_thresh); // When vssi < th_l_vox && time delay meet, then vox will be 0 (unit mV )
|
// PA bias voltage is unused (maybe remove this)
|
||||||
uint16_t getVoxShutThresh();
|
// set PA_bias voltage
|
||||||
|
// 000000: 1.01V
|
||||||
// Tail Noise
|
// 000001:1.05V
|
||||||
void enableTailNoiseElim();
|
// 000010:1.09V
|
||||||
void disableTailNoiseElim();
|
// 000100: 1.18V
|
||||||
bool getTailNoiseElimEnabled();
|
// 001000: 1.34V
|
||||||
|
// 010000: 1.68V
|
||||||
// tail noise shift select
|
// 100000: 2.45V
|
||||||
// Select ctcss phase shift when use tail eliminating function when TX
|
// 1111111:3.13V
|
||||||
// 00 = 120 degree shift
|
void setPABiasVoltage(uint16_t voltage);
|
||||||
// 01 = 180 degree shift
|
uint16_t getPABiasVoltage();
|
||||||
// 10 = 240 degree shift
|
|
||||||
// 11 = reserved
|
// Subaudio settings
|
||||||
void setShiftSelect(uint16_t shift_sel);
|
|
||||||
uint16_t getShiftSelect();
|
// Ctcss/cdcss mode sel
|
||||||
|
// x00=disable,
|
||||||
// DTMF
|
// 001=inner ctcss en,
|
||||||
void setDTMFC0(uint16_t freq);
|
// 010= inner cdcss en
|
||||||
uint16_t getDTMFC0();
|
// 101= outer ctcss en,
|
||||||
void setDTMFC1(uint16_t freq);
|
// 110=outer cdcss en
|
||||||
uint16_t getDTMFC1();
|
// others =disable
|
||||||
void setDTMFC2(uint16_t freq);
|
void setCtcssCdcssMode(uint16_t mode);
|
||||||
uint16_t getDTMFC2();
|
uint16_t getCtcssCdcssMode();
|
||||||
void setDTMFC3(uint16_t freq);
|
void setInnerCtcssMode();
|
||||||
uint16_t getDTMFC3();
|
void setInnerCdcssMode();
|
||||||
void setDTMFC4(uint16_t freq);
|
void setOuterCtcssMode();
|
||||||
uint16_t getDTMFC4();
|
void setOuterCdcssMode();
|
||||||
void setDTMFC5(uint16_t freq);
|
void disableCtcssCdcss();
|
||||||
uint16_t getDTMFC5();
|
|
||||||
void setDTMFC6(uint16_t freq);
|
// Ctcss_sel
|
||||||
uint16_t getDTMFC6();
|
// 1 = ctcss_cmp/cdcss_cmp out via gpio
|
||||||
void setDTMFC7(uint16_t freq);
|
// 0 = ctcss/cdcss sdo out vio gpio
|
||||||
uint16_t getDTMFC7();
|
void setCtcssSel(bool cmp_nsdo);
|
||||||
|
bool getCtcssSel();
|
||||||
// TX FM deviation
|
|
||||||
void setFMVoiceCssDeviation(uint16_t deviation);
|
// Cdcss_sel
|
||||||
uint16_t getFMVoiceCssDeviation();
|
// 1 = long (24 bit) code
|
||||||
void setFMCssDeviation(uint16_t deviation);
|
// 0 = short(23 bit) code
|
||||||
uint16_t getFMCssDeviation();
|
void setCdcssSel(bool long_nshort);
|
||||||
|
bool getCdcssSel();
|
||||||
// RX voice range
|
// Cdcss neg_det_en
|
||||||
void setVolume1(uint16_t volume);
|
void enableCdcssNegDet();
|
||||||
uint16_t getVolume1();
|
void disableCdcssNegDet();
|
||||||
void setVolume2(uint16_t volume);
|
bool getCdcssNegDetEnabled();
|
||||||
uint16_t getVolume2();
|
|
||||||
|
// Cdcss pos_det_en
|
||||||
// GPIO
|
void enableCdcssPosDet();
|
||||||
void setGpioMode(uint16_t gpio, uint16_t mode);
|
void disableCdcssPosDet();
|
||||||
void setGpioHiZ(uint16_t gpio);
|
bool getCdcssPosDetEnabled();
|
||||||
void setGpioFcn(uint16_t gpio);
|
|
||||||
void setGpioLow(uint16_t gpio);
|
// css_det_en
|
||||||
void setGpioHi(uint16_t gpio);
|
void enableCssDet();
|
||||||
uint16_t getGpioMode(uint16_t gpio);
|
void disableCssDet();
|
||||||
uint16_t getGpios();
|
bool getCssDetEnabled();
|
||||||
|
|
||||||
// Int
|
// ctcss freq
|
||||||
void enableInterrupt(uint16_t interrupt);
|
void setCtcss(float freq);
|
||||||
void disableInterrupt(uint16_t interrupt);
|
void setCtcssFreq(uint16_t freq);
|
||||||
bool getInterruptEnabled(uint16_t interrupt);
|
uint16_t getCtcssFreq();
|
||||||
|
void setCtcssFreqToStandard(); // freq must be 134.4Hz for standard cdcss mode
|
||||||
// ST mode
|
|
||||||
void setStMode(uint16_t mode);
|
// cdcss codes
|
||||||
uint16_t getStMode();
|
void setCdcssCode(uint16_t code);
|
||||||
void setStFullAuto();
|
uint16_t getCdcssCode();
|
||||||
void setStRxAutoTxManu();
|
|
||||||
void setStFullManu();
|
// SQ
|
||||||
|
void setSQOn();
|
||||||
// Pre-emphasis, De-emphasis filter
|
void setSQOff();
|
||||||
void bypassPreDeEmph();
|
bool getSQState();
|
||||||
void usePreDeEmph();
|
|
||||||
bool getPreDeEmphEnabled();
|
// SQ threshold
|
||||||
|
void setSQHiThresh(uint16_t sq_hi_threshold); // Sq detect high th, rssi_cmp will be 1 when rssi>th_h_sq, unit 1/8dB
|
||||||
// Read Only Status Registers
|
uint16_t getSQHiThresh();
|
||||||
int16_t readRSSI();
|
void setSQLoThresh(uint16_t sq_lo_threshold); // Sq detect low th, rssi_cmp will be 0 when rssi<th_l_sq && time delay meet, unit 1/8 dB
|
||||||
uint16_t readVSSI();
|
uint16_t getSQLoThresh();
|
||||||
uint16_t readDTMFIndex(); // may want to split this into two (index1 and index2)
|
|
||||||
uint16_t readDTMFCode();
|
// SQ out select
|
||||||
|
void setSQOutSel();
|
||||||
|
void clearSQOutSel();
|
||||||
|
bool getSQOutSel();
|
||||||
|
|
||||||
|
// VOX
|
||||||
|
void setVoxOn();
|
||||||
|
void setVoxOff();
|
||||||
|
bool getVoxOn();
|
||||||
|
|
||||||
|
// Vox Threshold
|
||||||
|
void setVoxOpenThresh(uint16_t vox_open_thresh); // When vssi > th_h_vox, then vox will be 1(unit mV )
|
||||||
|
uint16_t getVoxOpenThresh();
|
||||||
|
void setVoxShutThresh(uint16_t vox_shut_thresh); // When vssi < th_l_vox && time delay meet, then vox will be 0 (unit mV )
|
||||||
|
uint16_t getVoxShutThresh();
|
||||||
|
|
||||||
|
// Tail Noise
|
||||||
|
void enableTailNoiseElim();
|
||||||
|
void disableTailNoiseElim();
|
||||||
|
bool getTailNoiseElimEnabled();
|
||||||
|
|
||||||
|
// tail noise shift select
|
||||||
|
// Select ctcss phase shift when use tail eliminating function when TX
|
||||||
|
// 00 = 120 degree shift
|
||||||
|
// 01 = 180 degree shift
|
||||||
|
// 10 = 240 degree shift
|
||||||
|
// 11 = reserved
|
||||||
|
void setShiftSelect(uint16_t shift_sel);
|
||||||
|
uint16_t getShiftSelect();
|
||||||
|
|
||||||
|
// DTMF
|
||||||
|
void setDTMFC0(uint16_t freq);
|
||||||
|
uint16_t getDTMFC0();
|
||||||
|
void setDTMFC1(uint16_t freq);
|
||||||
|
uint16_t getDTMFC1();
|
||||||
|
void setDTMFC2(uint16_t freq);
|
||||||
|
uint16_t getDTMFC2();
|
||||||
|
void setDTMFC3(uint16_t freq);
|
||||||
|
uint16_t getDTMFC3();
|
||||||
|
void setDTMFC4(uint16_t freq);
|
||||||
|
uint16_t getDTMFC4();
|
||||||
|
void setDTMFC5(uint16_t freq);
|
||||||
|
uint16_t getDTMFC5();
|
||||||
|
void setDTMFC6(uint16_t freq);
|
||||||
|
uint16_t getDTMFC6();
|
||||||
|
void setDTMFC7(uint16_t freq);
|
||||||
|
uint16_t getDTMFC7();
|
||||||
|
|
||||||
|
// TX FM deviation
|
||||||
|
void setFMVoiceCssDeviation(uint16_t deviation);
|
||||||
|
uint16_t getFMVoiceCssDeviation();
|
||||||
|
void setFMCssDeviation(uint16_t deviation);
|
||||||
|
uint16_t getFMCssDeviation();
|
||||||
|
|
||||||
|
// RX voice range
|
||||||
|
void setVolume1(uint16_t volume);
|
||||||
|
uint16_t getVolume1();
|
||||||
|
void setVolume2(uint16_t volume);
|
||||||
|
uint16_t getVolume2();
|
||||||
|
|
||||||
|
// GPIO
|
||||||
|
void setGpioMode(uint16_t gpio, uint16_t mode);
|
||||||
|
void setGpioHiZ(uint16_t gpio);
|
||||||
|
void setGpioFcn(uint16_t gpio);
|
||||||
|
void setGpioLow(uint16_t gpio);
|
||||||
|
void setGpioHi(uint16_t gpio);
|
||||||
|
uint16_t getGpioMode(uint16_t gpio);
|
||||||
|
uint16_t getGpios();
|
||||||
|
|
||||||
|
// Int
|
||||||
|
void enableInterrupt(uint16_t interrupt);
|
||||||
|
void disableInterrupt(uint16_t interrupt);
|
||||||
|
bool getInterruptEnabled(uint16_t interrupt);
|
||||||
|
|
||||||
|
// ST mode
|
||||||
|
void setStMode(uint16_t mode);
|
||||||
|
uint16_t getStMode();
|
||||||
|
void setStFullAuto();
|
||||||
|
void setStRxAutoTxManu();
|
||||||
|
void setStFullManu();
|
||||||
|
|
||||||
|
// Pre-emphasis, De-emphasis filter
|
||||||
|
void bypassPreDeEmph();
|
||||||
|
void usePreDeEmph();
|
||||||
|
bool getPreDeEmphEnabled();
|
||||||
|
|
||||||
|
// Read Only Status Registers
|
||||||
|
int16_t readRSSI();
|
||||||
|
uint16_t readVSSI();
|
||||||
|
uint16_t readDTMFIndex(); // may want to split this into two (index1 and index2)
|
||||||
|
uint16_t readDTMFCode();
|
||||||
|
|
||||||
// set output power of radio
|
// set output power of radio
|
||||||
void setRfPower(uint8_t pwr);
|
void setRfPower(uint8_t pwr);
|
||||||
|
@ -512,11 +480,6 @@ class HamShield {
|
||||||
bool setMURSChannel(uint8_t channel);
|
bool setMURSChannel(uint8_t channel);
|
||||||
bool setWXChannel(uint8_t channel);
|
bool setWXChannel(uint8_t channel);
|
||||||
uint8_t scanWXChannel();
|
uint8_t scanWXChannel();
|
||||||
|
|
||||||
|
|
||||||
// restrictions control
|
|
||||||
void dangerMode();
|
|
||||||
void safeMode();
|
|
||||||
|
|
||||||
// utilities
|
// utilities
|
||||||
uint32_t scanMode(uint32_t start,uint32_t stop, uint8_t speed, uint16_t step, uint16_t threshold);
|
uint32_t scanMode(uint32_t start,uint32_t stop, uint8_t speed, uint16_t step, uint16_t threshold);
|
||||||
|
@ -526,23 +489,23 @@ class HamShield {
|
||||||
void buttonMode(uint8_t mode);
|
void buttonMode(uint8_t mode);
|
||||||
static void isr_ptt();
|
static void isr_ptt();
|
||||||
static void isr_reset();
|
static void isr_reset();
|
||||||
void morseOut(char buffer[HAMSHIELD_MORSE_BUFFER_SIZE]);
|
void morseOut(char buffer[HAMSHIELD_MORSE_BUFFER_SIZE]);
|
||||||
uint8_t morseLookup(char letter);
|
uint8_t morseLookup(char letter);
|
||||||
bool waitForChannel(long timeout, long breakwindow, int setRSSI);
|
bool waitForChannel(long timeout, long breakwindow, int setRSSI);
|
||||||
void SSTVVISCode(int code);
|
void SSTVVISCode(int code);
|
||||||
void SSTVTestPattern(int code);
|
void SSTVTestPattern(int code);
|
||||||
void toneWait(uint16_t freq, long timer);
|
void toneWait(uint16_t freq, long timer);
|
||||||
void toneWaitU(uint16_t freq, long timer);
|
void toneWaitU(uint16_t freq, long timer);
|
||||||
bool parityCalc(int code);
|
bool parityCalc(int code);
|
||||||
// void AFSKOut(char buffer[80]);
|
// void AFSKOut(char buffer[80]);
|
||||||
|
|
||||||
// AFSK routines
|
// AFSK routines
|
||||||
bool AFSKStart();
|
bool AFSKStart();
|
||||||
bool AFSKEnabled() { return afsk.enabled(); }
|
bool AFSKEnabled() { return afsk.enabled(); }
|
||||||
bool AFSKStop();
|
bool AFSKStop();
|
||||||
bool AFSKOut(const char *);
|
bool AFSKOut(const char *);
|
||||||
|
|
||||||
class AFSK afsk;
|
class AFSK afsk;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
uint8_t devAddr;
|
uint8_t devAddr;
|
||||||
|
@ -554,17 +517,40 @@ class HamShield {
|
||||||
uint32_t GMRS[];
|
uint32_t GMRS[];
|
||||||
uint32_t MURS[];
|
uint32_t MURS[];
|
||||||
uint32_t WX[];
|
uint32_t WX[];
|
||||||
|
|
||||||
// public singleton for ISRs to reference
|
// private utility functions
|
||||||
public:
|
// these functions should not be called in the Arduino sketch
|
||||||
static HamShield *sHamShield; // HamShield singleton, used for ISRs mostly
|
// just use the above public functions to do everything
|
||||||
|
|
||||||
// int8_t A1846S::readWord(uint8_t devAddr, uint8_t regAddr, uint16_t *data, uint16_t timeout);
|
void setFrequency(uint32_t freq_khz);
|
||||||
// int8_t A1846S::readBits(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint16_t *data, uint16_t timeout);
|
void setTxBand2m();
|
||||||
// int8_t A1846S::readBit(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint16_t *data, uint16_t timeout);
|
void setTxBand1_2m();
|
||||||
// int8_t A1846S::writeWord(uint8_t devAddr, uint8_t regAddr, uint16_t *data, uint16_t timeout);
|
void setTxBand70cm();
|
||||||
// bool A1846S::writeBits(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint16_t data);
|
|
||||||
// bool A1846S::writeBit(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint16_t data);
|
// xtal frequency (kHz)
|
||||||
|
// 12-14MHz crystal: this reg is set to crystal freq_khz
|
||||||
|
// 24-28MHz crystal: this reg is set to crystal freq_khz / 2
|
||||||
|
void setXtalFreq(uint16_t freq_kHz);
|
||||||
|
uint16_t getXtalFreq();
|
||||||
|
|
||||||
|
// adclk frequency (kHz)
|
||||||
|
// 12-14MHz crystal: this reg is set to crystal freq_khz / 2
|
||||||
|
// 24-28MHz crystal: this reg is set to crystal freq_khz / 4
|
||||||
|
void setAdcClkFreq(uint16_t freq_kHz);
|
||||||
|
uint16_t getAdcClkFreq();
|
||||||
|
|
||||||
|
// clk mode
|
||||||
|
// 12-14MHz: set to 1
|
||||||
|
// 24-28MHz: set to 0
|
||||||
|
void setClkMode(bool LFClk);
|
||||||
|
bool getClkMode();
|
||||||
|
|
||||||
|
// choose tx or rx
|
||||||
|
void setTX(bool on_noff);
|
||||||
|
bool getTX();
|
||||||
|
|
||||||
|
void setRX(bool on_noff);
|
||||||
|
bool getRX();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* _HAMSHIELD_H_ */
|
#endif /* _HAMSHIELD_H_ */
|
||||||
|
|
Loading…
Reference in New Issue