]> granicus.if.org Git - esp-idf/commitdiff
Add data memory for RMT peripheral
authorJeroen Domburg <git@j0h.nl>
Sat, 8 Oct 2016 05:15:06 +0000 (13:15 +0800)
committerJeroen Domburg <git@j0h.nl>
Sat, 8 Oct 2016 05:15:06 +0000 (13:15 +0800)
components/esp32/include/soc/rmt_struct.h
components/esp32/ld/esp32.peripherals.ld

index 15beb8c6d62537bd573de73c6a2f45b4a9227ea7..fb4c21055ec4b3124be1af624fe7d94a4fcc3587 100644 (file)
@@ -225,4 +225,22 @@ typedef volatile struct {
     uint32_t date;                                      /*This is the version register.*/
 } rmt_dev_t;
 extern rmt_dev_t RMT;
+
+//Allow access to RMT memory using RMTMEM.chan[0].data[8]
+typedef volatile struct {
+    struct {
+        union {
+            struct {
+                uint32_t level1:       1;
+                uint32_t duration1:    15;
+                uint32_t level0:       1;
+                uint32_t duration0:    15;
+
+            };
+            uint32_t val;
+        } data[64];
+    } chan[8];
+} rmt_mem_t;
+extern rmt_mem_t RMTMEM;
+
 #endif  /* _SOC_RMT_STRUCT_H_ */
index aaadedce49fa0b9baa262a323b38a2b72d5a37c3..95aaadcbcc4c8162efad59a05e64c1bb95aa465b 100644 (file)
@@ -9,6 +9,7 @@ PROVIDE ( UART1 = 0x3ff50000 );
 PROVIDE ( I2C0 = 0x3ff53000 );
 PROVIDE ( UHCI0 = 0x3ff54000 );
 PROVIDE ( RMT = 0x3ff56000 );
+PROVIDE ( RMTMEM = 0x3ff56800 );
 PROVIDE ( PCNT = 0x3ff57000 );
 PROVIDE ( LEDC = 0x3ff59000 );
 PROVIDE ( TIMERG0 = 0x3ff5F000 );