diff options
Diffstat (limited to 'firmware/export/si4700.h')
-rw-r--r-- | firmware/export/si4700.h | 28 |
1 files changed, 13 insertions, 15 deletions
diff --git a/firmware/export/si4700.h b/firmware/export/si4700.h index 6b7992c025..bd75bf0817 100644 --- a/firmware/export/si4700.h +++ b/firmware/export/si4700.h | |||
@@ -35,36 +35,34 @@ struct si4700_dbg_info | |||
35 | }; | 35 | }; |
36 | 36 | ||
37 | bool si4700_detect(void); | 37 | bool si4700_detect(void); |
38 | void si4700_init(void); | 38 | void si4700_init(void) INIT_ATTR; |
39 | int si4700_set(int setting, int value); | 39 | int si4700_set(int setting, int value); |
40 | int si4700_get(int setting); | 40 | int si4700_get(int setting); |
41 | void si4700_dbg_info(struct si4700_dbg_info *nfo); | 41 | void si4700_dbg_info(struct si4700_dbg_info *nfo); |
42 | /* For interrupt-based mono/stereo indicator */ | 42 | /* For interrupt-based mono/stereo indicator */ |
43 | bool si4700_st(void); | 43 | bool si4700_st(void); |
44 | 44 | ||
45 | #ifdef HAVE_RDS_CAP | ||
45 | /** RDS support **/ | 46 | /** RDS support **/ |
46 | void si4700_rds_init(void); | 47 | |
48 | void si4700_rds_init(void) INIT_ATTR; | ||
47 | /* Radio is fully powered up or about to be powered down */ | 49 | /* Radio is fully powered up or about to be powered down */ |
48 | void si4700_rds_powerup(bool on); | 50 | void si4700_rds_powerup(bool on); |
49 | #ifdef RDS_ISR_PROCESSING | 51 | |
52 | #if (CONFIG_RDS & RDS_CFG_ISR) | ||
50 | /* Read raw RDS info for processing - asynchronously */ | 53 | /* Read raw RDS info for processing - asynchronously */ |
51 | void si4700_read_raw_async(int count); /* implemented by target */ | 54 | void si4700_rds_read_raw_async(unsigned char *buf, int count); /* implemented by target */ |
52 | void si4700_rds_read_raw_async(void); | 55 | void si4700_rds_interrupt(void); |
53 | void si4700_rds_read_raw_async_complete(unsigned char *regbuf, | 56 | #endif /* (CONFIG_RDS & RDS_CFG_ISR) */ |
54 | uint16_t data[4]); | 57 | |
55 | #else /* ndef RDS_ISR_PROCESSING */ | ||
56 | /* Read raw RDS info for processing */ | 58 | /* Read raw RDS info for processing */ |
57 | bool si4700_rds_read_raw(uint16_t data[4]); | 59 | void si4700_rds_process(void); |
58 | #endif /* RDS_ISR_PROCESSING */ | 60 | |
59 | /* Obtain specified string */ | 61 | #endif /* HAVE_RDS_CAP */ |
60 | char* si4700_get_rds_info(int setting); | ||
61 | /* Set the event flag */ | ||
62 | void si4700_rds_set_event(void); | ||
63 | 62 | ||
64 | #ifndef CONFIG_TUNER_MULTI | 63 | #ifndef CONFIG_TUNER_MULTI |
65 | #define tuner_set si4700_set | 64 | #define tuner_set si4700_set |
66 | #define tuner_get si4700_get | 65 | #define tuner_get si4700_get |
67 | #define tuner_get_rds_info si4700_get_rds_info | ||
68 | #endif | 66 | #endif |
69 | 67 | ||
70 | #endif /* _SI4700_H_ */ | 68 | #endif /* _SI4700_H_ */ |