summaryrefslogtreecommitdiff
path: root/software/hhd70dongle/hhd70dongle.c
diff options
context:
space:
mode:
Diffstat (limited to 'software/hhd70dongle/hhd70dongle.c')
-rw-r--r--software/hhd70dongle/hhd70dongle.c38
1 files changed, 37 insertions, 1 deletions
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 <xro@realraum.at>
+ * 2015 Christian Pointner <equinox@mur.at>
*
* 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();
+ }
+ }
}