components/esp32-owb/include/owb_rmt_bus_symbols.h

Tue, 26 Sep 2023 14:57:18 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Tue, 26 Sep 2023 14:57:18 +0200
changeset 72
acc1904cd70d
permissions
-rw-r--r--

Migrated to isp-idf v5.1

72
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1 /**
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
2 * Copyright (c) 2023 mjcross
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
3 *
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
4 * SPDX-License-Identifier: MIT
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
5 **/
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
6
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
7 #include "owb_rmt_bus_timings.h"
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
8
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
9 // RMT transmit channel symbols for the onewire bus signals and conditions
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
10 //
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
11
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
12 // basic bus levels
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
13 // ----------------
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
14 // note: we configure the transmit channel to be hardware inverted,
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
15 // so that the bus initialises in the 'released' state
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
16 #define OWB_RMT_BUS_ASSERTED 1
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
17 #define OWB_RMT_BUS_RELEASED 0
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
18
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
19 // bus symbols as `rmt_symbol_word_t`
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
20 // ----------------------------------
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
21
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
22 // send 'zero' bit
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
23 #define OWB_RMT_SYMBOL_0BIT { \
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
24 .level0 = OWB_RMT_BUS_ASSERTED, \
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
25 .duration0 = OWB_TIMING_PARAM_C, \
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
26 .level1 = OWB_RMT_BUS_RELEASED, \
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
27 .duration1 = OWB_TIMING_PARAM_D }
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
28
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
29 // send 'one' bit
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
30 #define OWB_RMT_SYMBOL_1BIT { \
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
31 .level0 = OWB_RMT_BUS_ASSERTED, \
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
32 .duration0 = OWB_TIMING_PARAM_A, \
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
33 .level1 = OWB_RMT_BUS_RELEASED, \
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
34 .duration1 = OWB_TIMING_PARAM_B }
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
35
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
36 // send bus reset
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
37 #define OWB_RMT_SYMBOL_RESET { \
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
38 .level0 = OWB_RMT_BUS_ASSERTED, \
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
39 .duration0 = OWB_TIMING_PARAM_H, \
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
40 .level1 = OWB_RMT_BUS_RELEASED, \
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
41 .duration1 = OWB_TIMING_PARAM_I + OWB_TIMING_PARAM_J }
acc1904cd70d Migrated to isp-idf v5.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
42

mercurial