Library for Silicon Labs Si47xx AM/FM receiver. I tested Si4730 and Si4735.
MjSi47xx.h@2:d0de9c9c66a8, 2015-08-30 (annotated)
- Committer:
- matsujirushi
- Date:
- Sun Aug 30 07:32:54 2015 +0000
- Revision:
- 2:d0de9c9c66a8
- Parent:
- 1:c2a5efba43bc
- Child:
- 3:4873fd430c38
Bugfix. Response receive timing changed.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
matsujirushi | 0:0672d41196db | 1 | #ifndef MJ_SI47XX_H |
matsujirushi | 0:0672d41196db | 2 | #define MJ_SI47XX_H |
matsujirushi | 0:0672d41196db | 3 | |
matsujirushi | 0:0672d41196db | 4 | #include "mbed.h" |
matsujirushi | 0:0672d41196db | 5 | |
matsujirushi | 0:0672d41196db | 6 | class MjSi47xx |
matsujirushi | 0:0672d41196db | 7 | { |
matsujirushi | 0:0672d41196db | 8 | public: |
matsujirushi | 1:c2a5efba43bc | 9 | enum FunctionType { |
matsujirushi | 1:c2a5efba43bc | 10 | FUNCTION_FM, |
matsujirushi | 1:c2a5efba43bc | 11 | FUNCTION_AM, |
matsujirushi | 1:c2a5efba43bc | 12 | }; |
matsujirushi | 1:c2a5efba43bc | 13 | |
matsujirushi | 1:c2a5efba43bc | 14 | public: |
matsujirushi | 0:0672d41196db | 15 | MjSi47xx(I2C* i2c, uint8_t address, DigitalOut* rst_n); |
matsujirushi | 0:0672d41196db | 16 | void reset(); |
matsujirushi | 1:c2a5efba43bc | 17 | bool powerUp(FunctionType func); |
matsujirushi | 1:c2a5efba43bc | 18 | bool getIntStatus(bool* stcInt); |
matsujirushi | 1:c2a5efba43bc | 19 | bool fmTuneFrequency(float frequency); |
matsujirushi | 1:c2a5efba43bc | 20 | bool fmTuneStatus(float* frequency, uint8_t* rssi = NULL, uint8_t* snr = NULL, uint8_t* multipath = NULL); |
matsujirushi | 1:c2a5efba43bc | 21 | bool amTuneFrequency(float frequency); |
matsujirushi | 1:c2a5efba43bc | 22 | bool amTuneStatus(float* frequency, uint8_t* rssi = NULL, uint8_t* snr = NULL); |
matsujirushi | 0:0672d41196db | 23 | |
matsujirushi | 0:0672d41196db | 24 | private: |
matsujirushi | 0:0672d41196db | 25 | I2C *i2c; |
matsujirushi | 0:0672d41196db | 26 | uint8_t address; |
matsujirushi | 0:0672d41196db | 27 | DigitalOut* rst_n; |
matsujirushi | 0:0672d41196db | 28 | |
matsujirushi | 0:0672d41196db | 29 | void writeCmd(uint8_t cmd, const uint8_t* argv = NULL, size_t argc = 0); |
matsujirushi | 0:0672d41196db | 30 | void readRes(uint8_t* status, uint8_t *resv = NULL, size_t resc = 0); |
matsujirushi | 0:0672d41196db | 31 | |
matsujirushi | 0:0672d41196db | 32 | }; |
matsujirushi | 0:0672d41196db | 33 | |
matsujirushi | 0:0672d41196db | 34 | #endif |