And, doesn't fit in memory for some of them, so don't compile it.
Signed-off-by: Keith Packard <keithp@keithp.com>
#define HAS_RADIO 1
#if defined(TELEMETRUM_V_1_0)
#define HAS_RADIO 1
#if defined(TELEMETRUM_V_1_0)
+ /* Discontinued and was never built with CC1111 chips needing this */
+ #define NEEDS_CC1111_CLOCK_HACK 0
#define HAS_FLIGHT 1
#define HAS_USB 1
#define HAS_BEEP 1
#define HAS_FLIGHT 1
#define HAS_USB 1
#define HAS_BEEP 1
#endif
#if defined(TELEMETRUM_V_1_1)
#endif
#if defined(TELEMETRUM_V_1_1)
+ /* Discontinued and was never built with CC1111 chips needing this */
+ #define NEEDS_CC1111_CLOCK_HACK 0
#define HAS_FLIGHT 1
#define HAS_USB 1
#define HAS_BEEP 1
#define HAS_FLIGHT 1
#define HAS_USB 1
#define HAS_BEEP 1
#endif
#if defined(TELEMETRUM_V_1_2)
#endif
#if defined(TELEMETRUM_V_1_2)
+ /* Discontinued and was never built with CC1111 chips needing this */
+ #define NEEDS_CC1111_CLOCK_HACK 0
#define HAS_FLIGHT 1
#define HAS_USB 1
#define HAS_BEEP 1
#define HAS_FLIGHT 1
#define HAS_USB 1
#define HAS_BEEP 1
#endif
#if defined(TELEMINI_V_1_0)
#endif
#if defined(TELEMINI_V_1_0)
+ /* Discontinued and was never built with CC1111 chips needing this */
+ #define NEEDS_CC1111_CLOCK_HACK 0
#define HAS_FLIGHT 1
#define HAS_USB 0
#define HAS_BEEP 0
#define HAS_FLIGHT 1
#define HAS_USB 0
#define HAS_BEEP 0
#endif
#if defined(TELENANO_V_0_1)
#endif
#if defined(TELENANO_V_0_1)
+ /* Discontinued and was never built with CC1111 chips needing this */
+ #define NEEDS_CC1111_CLOCK_HACK 0
#define HAS_FLIGHT 1
#define HAS_USB 0
#define HAS_BEEP 0
#define HAS_FLIGHT 1
#define HAS_USB 0
#define HAS_BEEP 0
#endif
#if defined(TELEMETRUM_V_0_1)
#endif
#if defined(TELEMETRUM_V_0_1)
+ /* Discontinued and was never built with CC1111 chips needing this */
+ #define NEEDS_CC1111_CLOCK_HACK 0
#define HAS_FLIGHT 1
#define HAS_USB 1
#define HAS_BEEP 1
#define HAS_FLIGHT 1
#define HAS_USB 1
#define HAS_BEEP 1
#endif
#if defined(TELEDONGLE_V_0_1)
#endif
#if defined(TELEDONGLE_V_0_1)
+ /* Discontinued and was never built with CC1111 chips needing this */
+ #define NEEDS_CC1111_CLOCK_HACK 0
#define HAS_FLIGHT 0
#define HAS_USB 1
#define HAS_BEEP 0
#define HAS_FLIGHT 0
#define HAS_USB 1
#define HAS_BEEP 0
#endif
#if defined(TIDONGLE)
#endif
#if defined(TIDONGLE)
+ /* Discontinued and was never built with CC1111 chips needing this */
+ #define NEEDS_CC1111_CLOCK_HACK 0
#define HAS_FLIGHT 0
#define HAS_USB 1
#define HAS_BEEP 0
#define HAS_FLIGHT 0
#define HAS_USB 1
#define HAS_BEEP 0
#endif
#if defined(TELEBT_V_0_0)
#endif
#if defined(TELEBT_V_0_0)
+ /* Discontinued and was never built with CC1111 chips needing this */
+ #define NEEDS_CC1111_CLOCK_HACK 0
#define HAS_FLIGHT 0
#define HAS_USB 1
#define HAS_BEEP 0
#define HAS_FLIGHT 0
#define HAS_USB 1
#define HAS_BEEP 0
#endif
#if defined(TELEBT_V_0_1)
#endif
#if defined(TELEBT_V_0_1)
+ /* Discontinued and was never built with CC1111 chips needing this */
+ #define NEEDS_CC1111_CLOCK_HACK 0
#define HAS_FLIGHT 0
#define HAS_USB 1
#define HAS_BEEP 1
#define HAS_FLIGHT 0
#define HAS_USB 1
#define HAS_BEEP 1
#endif
#if defined(TELELAUNCH_V_0_1)
#endif
#if defined(TELELAUNCH_V_0_1)
+ /* Discontinued and was never built with CC1111 chips needing this */
+ #define NEEDS_CC1111_CLOCK_HACK 0
#define HAS_FLIGHT 0
#define HAS_USB 1
#define HAS_BEEP 1
#define HAS_FLIGHT 0
#define HAS_USB 1
#define HAS_BEEP 1
T1CTL = T1CTL_MODE_MODULO | T1CTL_DIV_8;
}
T1CTL = T1CTL_MODE_MODULO | T1CTL_DIV_8;
}
+#ifndef NEEDS_CC1111_CLOCK_HACK
+#define NEEDS_CC1111_CLOCK_HACK 1
+#endif
+
+#if NEEDS_CC1111_CLOCK_HACK
static void
ao_clock_delay(void)
{
static void
ao_clock_delay(void)
{
while (--i)
ao_arch_nop();
}
while (--i)
ao_arch_nop();
}
/*
* AltOS always cranks the clock to the max frequency
/*
* AltOS always cranks the clock to the max frequency
void
ao_clock_init(void)
{
void
ao_clock_init(void)
{
+#if NEEDS_CC1111_CLOCK_HACK
/* Power up both oscillators */
SLEEP &= ~(SLEEP_OSC_PD);
/* Power up both oscillators */
SLEEP &= ~(SLEEP_OSC_PD);
/* Switch system clock to crystal oscilator */
CLKCON = (CLKCON & ~CLKCON_OSC_MASK) | (CLKCON_OSC_XTAL);
/* Switch system clock to crystal oscilator */
CLKCON = (CLKCON & ~CLKCON_OSC_MASK) | (CLKCON_OSC_XTAL);
+ /* Wait for the HFRC oscillator to be stable */
+ while (!(SLEEP & SLEEP_XOSC_STB))
+ ;
+
/* Power down the unused HFRC oscillator */
SLEEP |= SLEEP_OSC_PD;
/* Power down the unused HFRC oscillator */
SLEEP |= SLEEP_OSC_PD;
- /* Wait for HFRC to power down */
- while ((SLEEP & SLEEP_HFRC_STB) != 0)
- ;
/* Crank up the timer tick and system clock speed */
CLKCON = ((CLKCON & ~(CLKCON_TICKSPD_MASK | CLKCON_CLKSPD_MASK)) |
(CLKCON_TICKSPD_1 | CLKCON_CLKSPD_1));
/* Crank up the timer tick and system clock speed */
CLKCON = ((CLKCON & ~(CLKCON_TICKSPD_MASK | CLKCON_CLKSPD_MASK)) |
(CLKCON_TICKSPD_1 | CLKCON_CLKSPD_1));