From 1631c4843b0a1251a6e47a94b2ae7efc8d19434a Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Fri, 13 Feb 2015 03:58:41 +0100 Subject: hhd70dongle: fixes for frequency calcualtion, improved support for c1101 power settings --- software/hhd70dongle/hhd70dongle.c | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) (limited to 'software/hhd70dongle/hhd70dongle.c') diff --git a/software/hhd70dongle/hhd70dongle.c b/software/hhd70dongle/hhd70dongle.c index 730c28c..81fabf4 100644 --- a/software/hhd70dongle/hhd70dongle.c +++ b/software/hhd70dongle/hhd70dongle.c @@ -12,6 +12,7 @@ * * * Copyright (C) 2012 Bernhard Tittelbach + * 2015 Christian Pointner * * This file is part of mur.sat. * @@ -183,6 +184,8 @@ int main(void) enable_tx_part=false; c1101_init_ook_beacon(); + printf("CC1101 enabling Beacon with Power: %3d (0x%02X)\r\n", (int)c1101_ook_power_get(), (int)c1101_ook_power_get_raw()); + beacon_enable(); beacon_on(); } @@ -284,7 +287,8 @@ int main(void) uint32_t hz = c1101_getCurrentCarrierFrequencyHz(); uint16_t mhz = hz / 1000000; uint16_t khz = (hz % 1000000)/1000; - printf("Frequency is now: %d.%03d MHz\r\n", mhz, khz); + hz %= 1000; + printf("Frequency is now: %d.%03d%03d MHz\r\n", mhz, khz, (uint16_t)hz); } else if ((char) recv_byte == 'p') { @@ -296,6 +300,38 @@ int main(void) hhd70_bias_inc(); printf("Bias Power is now: %d\r\n", hhd70_bias_get()); } + else if ((char) recv_byte == 'o') + { + if (enable_beacon_part) beacon_off(); + beacon_disable(); + + c1101_ook_power_dec(); + printf("CC1101 Power is now: %3d (0x%02X)\r\n", (int)c1101_ook_power_get(), (int)c1101_ook_power_get_raw()); + + if (enable_beacon_part) { + beacon_enable(); + beacon_on(); + } + } + else if ((char) recv_byte == 'O') + { + if (enable_beacon_part) beacon_off(); + beacon_disable(); + + c1101_ook_power_inc(); + printf("CC1101 Power is now: %3d (0x%02X)\r\n", (int)c1101_ook_power_get(), (int)c1101_ook_power_get_raw()); + + if (enable_beacon_part) { + beacon_enable(); + beacon_on(); + } + } + else if ((char) recv_byte == ' ') + { + if (enable_beacon_part) { + hhd70_set_OOK_GDO0_toggle(); + } + } } -- cgit v1.2.3