aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/research.adoc23
-rw-r--r--docs/share/refs.bib27
2 files changed, 37 insertions, 13 deletions
diff --git a/docs/research.adoc b/docs/research.adoc
index 6f9b494..e1fbfb8 100644
--- a/docs/research.adoc
+++ b/docs/research.adoc
@@ -437,7 +437,7 @@ wire library on both the Arduino Mega and the Arduino Uno.
===== PIC16F15276 & ESP32
-Both the PIC16F15276 and the ESP32 MCUs show possibilities to be addressable as a slave while being in master mode. However, at the moment of writing this
+Both the PIC16F15276 cite:[PICData] and the ESP32 MCUs show possibilities to be addressable as a slave while being in master mode. However, at the moment of writing this
has yet to be tested.
// TODO: Add the following reference:
@@ -453,26 +453,23 @@ has yet to be tested.
===== PIC16F15276 Registers
-In the case of the PIC16F15276 not support master addressable as slave the
+In the case of the PIC16F15276 cite:[PICData] not support master addressable as slave the
following approach would most likely work. As the PIC16F15276 uses specific
registers for its master receive functions, namely the RCEN register, it can
be manually set to receive data from the I^2^C bus. However, this also has
-yet to be tested.
-
-// TODO: Add the following reference:
-// PIC16F15276 - 25.2.4.3
-// https://ww1.microchip.com/downloads/aemDocuments/documents/MCU08/ProductDocuments/DataSheets/PIC16F15256-74-75-76-Microcontroller-Data-Sheet-40002305.pdf
+yet to be tested.
===== Multiple I^2^C Peripherals
==== ESP32 & RP2040
-The ESP32 and the RP2040 both have multiple peripherals for I^2^C
-communication, while also supporting simultaneous configuration. This allows
-both two I^2^C peripherals to be active, one being configured as a master and
-the other being configured as a slave. This enables the controller to send and
-receive data to the I^2^C bus without much difficulty. This does introduce
-increased code complexity but is a valid option if it is succesful in testing.
+The ESP32 cite:[I2CESPAPI] cite:[I2CESPTECH] cite:[ESPSPECS] and the RP2040 both
+have multiple peripherals for I^2^C communication, while also supporting
+simultaneous configuration. This allows both two I^2^C peripherals to be active,
+one being configured as a master and the other being configured as a slave. This
+enables the controller to send and receive data to the I^2^C bus without much
+difficulty. This does introduce increased code complexity but is a valid option
+if it is succesful in testing.
// TODO: Add the following reference:
// https://docs.espressif.com/projects/esp-idf/en/v4.3/esp32/api-reference/peripherals/i2c.html
diff --git a/docs/share/refs.bib b/docs/share/refs.bib
index 299d621..138ca57 100644
--- a/docs/share/refs.bib
+++ b/docs/share/refs.bib
@@ -227,3 +227,30 @@
year = {2024},
}
+@online{PICData
+ title = {PIC16F15276 - 25.2.4.3},
+ url = {https://ww1.microchip.com/downloads/aemDocuments/documents/MCU08/ProductDocuments/DataSheets/PIC16F15256-74-75-76-Microcontroller-Data-Sheet-40002305.pdf},
+ author = {Microchip},
+ year = {2022},
+}
+
+@online{I2CESPAPI
+ title = {I2C Driver - ESP32},
+ url = {https://docs.espressif.com/projects/esp-idf/en/v4.3/esp32/api-reference/peripherals/i2c.html},
+ author = {Espressif Systems},
+ year = {2021},
+}
+
+@online{I2CESPTECH
+ title = {ESP32 Technical Reference Manual},
+ url = {https://www.espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdf#i2c},
+ author = {Espressif Systems},
+ year = {2024},
+}
+
+@online{ESPSPECS
+ title = {ESP32 Specifications},
+ url = {https://www.bitsandparts.nl/documentation/482/ESP32_Specifications_EN_v1.pdf},
+ author = {Espressif Systems},
+ year = {2015},
+}