#include <ao_pad.h>
#endif
+static uint8_t cc1201;
+
static uint8_t ao_radio_mutex;
static uint8_t ao_radio_wake; /* radio ready. Also used as sleep address */
#define FOSC 40000000
#endif
-#ifndef AO_CC1200_SPI_SPEED
-#error AO_CC1200_SPI_SPEED undefined
-#endif
+#define AO_CC1200_SPI_SPEED ao_spi_speed(7700000) /* 7.7MHz max for extended memory reads */
#define ao_radio_select() ao_spi_get_mask(AO_CC1200_SPI_CS_PORT,(1 << AO_CC1200_SPI_CS_PIN),AO_CC1200_SPI_BUS,AO_CC1200_SPI_SPEED)
#define ao_radio_deselect() ao_spi_put_mask(AO_CC1200_SPI_CS_PORT,(1 << AO_CC1200_SPI_CS_PIN),AO_CC1200_SPI_BUS)
static uint8_t
ao_radio_int_pin(void)
{
- return ao_gpio_get(AO_CC1200_INT_PORT, AO_CC1200_INT_PIN, AO_CC1200_INT);
+ return ao_gpio_get(AO_CC1200_INT_PORT, AO_CC1200_INT_PIN);
}
static uint8_t
static void
ao_radio_setup(void)
{
+ uint8_t partnumber = ao_radio_reg_read(CC1200_PARTNUMBER);
+
+ if (partnumber == CC1200_PARTNUMBER_CC1201)
+ cc1201 = 1;
+
ao_radio_strobe(CC1200_SRES);
ao_radio_set_regs(radio_setup);
return (ao_radio_status() >> CC1200_STATUS_STATE) & CC1200_STATUS_STATE_MASK;
}
-#if CC1200_DEBUG
-void
+#if CC1200_DEBUG_
+static void
ao_radio_show_state(char *where)
{
printf("%s: state %d len %d rxbytes %d\n",
ao_radio_send(packet, sizeof (packet));
}
-void
+static void
ao_radio_test_recv(void)
{
static uint8_t bytes[34];