summaryrefslogtreecommitdiffstats
path: root/stm32/app/ot_phy_tx.c
diff options
context:
space:
mode:
Diffstat (limited to 'stm32/app/ot_phy_tx.c')
-rw-r--r--stm32/app/ot_phy_tx.c121
1 files changed, 0 insertions, 121 deletions
diff --git a/stm32/app/ot_phy_tx.c b/stm32/app/ot_phy_tx.c
deleted file mode 100644
index 36fbcc5..0000000
--- a/stm32/app/ot_phy_tx.c
+++ /dev/null
@@ -1,121 +0,0 @@
-#include "project.h"
-
-#define OT_THM_OUT GPIO9
-#define OT_THM_OUT_PORT GPIOB
-
-#define OT_BLR_OUT GPIO8
-#define OT_BLR_OUT_PORT GPIOB
-
-
-typedef struct tx_phy {
- int busy;
- unsigned half_bit;
- uint8_t data[4];
-} TX_Phy;
-
-
-static TX_Phy p_thm, p_blr;
-
-
-
-#if 0
-static uint32_t
-cycle_diff (uint32_t a, uint32_t b)
-{
- return b - a;
-}
-#endif
-
-
-static int ot_phy_tx_worker (TX_Phy *p)
-{
- int ret = p->half_bit & 1;
- unsigned bit;
-
-
- if (p->half_bit < 2)
- ret ^= 1;
-
- else if (p->half_bit < 66) {
- bit = (p->half_bit >> 1) - 1;
-
- if (p->data[bit >> 3] & (0x80 >> (bit & 7)))
- ret ^= 1;
- } else if (p->half_bit < 68)
-
- ret ^= 1;
-
- p->half_bit++;
-
- if (p->half_bit == 68) {
- p->half_bit = 0;
- p->busy = 0;
- }
-
- return ret;
-}
-
-
-void ot_phy_tx_tick (void)
-{
- int v;
-
- if (p_thm.busy) {
- v = ot_phy_tx_worker (&p_thm);
-
- if (v)
- CLEAR (OT_THM_OUT);
- else
- SET (OT_THM_OUT);
- }
-
-
- if (p_blr.busy) {
- v = ot_phy_tx_worker (&p_blr);
-
- if (v)
- CLEAR (OT_BLR_OUT);
- else
- SET (OT_BLR_OUT);
-
- }
-}
-
-
-int ot_tx_thm (uint8_t *data)
-{
- if (p_thm.busy) return -1;
-
- if (!data) return 0;
-
- led_blink();
-
- memcpy (p_thm.data, data, sizeof (p_thm.data));
- p_thm.busy = 1;
-
- return 0;
-}
-
-
-int ot_tx_blr (uint8_t *data)
-{
-
- if (p_blr.busy) return -1;
-
- if (!data) return 0;
-
- led_blink();
-
- memcpy (p_blr.data, data, sizeof (p_blr.data));
- p_blr.busy = 1;
-
- return 0;
-}
-
-
-
-void ot_phy_tx_init (void)
-{
- MAP_OUTPUT_PP (OT_THM_OUT);
- MAP_OUTPUT_PP (OT_BLR_OUT);
-}