From 06b63d99364f4c01e35a33255554bbfabe4844c0 Mon Sep 17 00:00:00 2001 From: Michael Ossmann Date: Thu, 14 Jun 2012 12:42:51 -0600 Subject: [PATCH] added two clocks while ENX high to get RFFC5071 serial reads to work (thanks, Jared!) --- firmware/common/rffc5071.c | 12 +++++++++++- firmware/mixertx/mixertx.c | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/firmware/common/rffc5071.c b/firmware/common/rffc5071.c index c389e80a..c4b4d2da 100644 --- a/firmware/common/rffc5071.c +++ b/firmware/common/rffc5071.c @@ -144,11 +144,21 @@ uint16_t rffc5071_reg_read(uint8_t reg) /* make sure everything is starting in the correct state */ gpio_set(PORT_MIXER, PIN_MIXER_ENX); gpio_clear(PORT_MIXER, (PIN_MIXER_SCLK | PIN_MIXER_SDATA)); + serial_delay(); + gpio_set(PORT_MIXER, PIN_MIXER_SCLK); + + serial_delay(); + gpio_clear(PORT_MIXER, PIN_MIXER_SCLK); + + serial_delay(); + gpio_set(PORT_MIXER, PIN_MIXER_SCLK); + + serial_delay(); + gpio_clear(PORT_MIXER, PIN_MIXER_SCLK); /* start transaction by bringing ENX low */ gpio_clear(PORT_MIXER, PIN_MIXER_ENX); - serial_delay(); while (bits--) { if (data & msb) diff --git a/firmware/mixertx/mixertx.c b/firmware/mixertx/mixertx.c index 25218303..53ed961a 100644 --- a/firmware/mixertx/mixertx.c +++ b/firmware/mixertx/mixertx.c @@ -72,7 +72,7 @@ int main(void) while (1) { //rffc5071_init(); //rffc5071_reg_write(0x7a, 0xf0ca); - if (rffc5071_reg_read(0x00) == 0xbefb) + if (rffc5071_reg_read(0x00) == 0xbefa) gpio_set(PORT_LED1_3, (PIN_LED3)); /* LED3 on */ else gpio_clear(PORT_LED1_3, (PIN_LED3)); /* LED3 off */