projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos: MS5607 pressure computation for low temperatures was wrong
[fw/altos]
/
src
/
cc1111
/
ao_adc.c
diff --git
a/src/cc1111/ao_adc.c
b/src/cc1111/ao_adc.c
index f7b52281ae799855008bdcb1d296779e23e5024e..4a58023d50474270d017167ef09240e99184775a 100644
(file)
--- a/
src/cc1111/ao_adc.c
+++ b/
src/cc1111/ao_adc.c
@@
-20,6
+20,10
@@
volatile __xdata struct ao_data ao_data_ring[AO_DATA_RING];
volatile __data uint8_t ao_data_head;
volatile __xdata struct ao_data ao_data_ring[AO_DATA_RING];
volatile __data uint8_t ao_data_head;
+#ifndef AO_ADC_FIRST_PIN
+#define AO_ADC_FIRST_PIN 0
+#endif
+
void
ao_adc_poll(void)
{
void
ao_adc_poll(void)
{
@@
-29,7
+33,7
@@
ao_adc_poll(void)
# ifdef TELENANO_V_0_1
ADCCON3 = ADCCON3_EREF_VDD | ADCCON3_EDIV_512 | 1;
# else
# ifdef TELENANO_V_0_1
ADCCON3 = ADCCON3_EREF_VDD | ADCCON3_EDIV_512 | 1;
# else
- ADCCON3 = ADCCON3_EREF_VDD | ADCCON3_EDIV_512 |
0
;
+ ADCCON3 = ADCCON3_EREF_VDD | ADCCON3_EDIV_512 |
AO_ADC_FIRST_PIN
;
# endif
#endif
}
# endif
#endif
}
@@
-52,7
+56,7
@@
ao_adc_isr(void) __interrupt 1
uint8_t __xdata *a;
sequence = (ADCCON2 & ADCCON2_SCH_MASK) >> ADCCON2_SCH_SHIFT;
uint8_t __xdata *a;
sequence = (ADCCON2 & ADCCON2_SCH_MASK) >> ADCCON2_SCH_SHIFT;
-#if TELEMETRUM_V_0_1 || TELEMETRUM_V_0_2 || TELEMETRUM_V_1_0 || TELEMETRUM_V_1_1 || TELEMETRUM_V_1_2 || TELELAUNCH_V_0_1
+#if TELEMETRUM_V_0_1 || TELEMETRUM_V_0_2 || TELEMETRUM_V_1_0 || TELEMETRUM_V_1_1 || TELEMETRUM_V_1_2 || TELELAUNCH_V_0_1
|| TELEBALLOON_V_1_1
/* TeleMetrum readings */
#if HAS_ACCEL_REF
if (sequence == 2) {
/* TeleMetrum readings */
#if HAS_ACCEL_REF
if (sequence == 2) {
@@
-140,8
+144,8
@@
ao_adc_isr(void) __interrupt 1
}
#endif /* telemini || telenano */
}
#endif /* telemini || telenano */
-#if
def TELEFIRE_V_0_1
- a = (uint8_t __xdata *) (&ao_data_ring[ao_data_head].adc.sense[0] + sequence);
+#if
defined(TELEFIRE_V_0_1) || defined(TELEFIRE_V_0_2)
+ a = (uint8_t __xdata *) (&ao_data_ring[ao_data_head].adc.sense[0] + sequence
- AO_ADC_FIRST_PIN
);
a[0] = ADCL;
a[1] = ADCH;
if (sequence < 5)
a[0] = ADCL;
a[1] = ADCH;
if (sequence < 5)
@@
-149,6
+153,15
@@
ao_adc_isr(void) __interrupt 1
#define GOT_ADC
#endif /* TELEFIRE_V_0_1 */
#define GOT_ADC
#endif /* TELEFIRE_V_0_1 */
+#ifdef TELEBT_V_1_0
+ a = (uint8_t __xdata *) (&ao_data_ring[ao_data_head].adc.batt);
+ a[0] = ADCL;
+ a[1] = ADCH;
+ if (0)
+ ;
+#define GOT_ADC
+#endif
+
#ifndef GOT_ADC
#error No known ADC configuration set
#endif
#ifndef GOT_ADC
#error No known ADC configuration set
#endif