diff --git a/i2c/oled/README b/i2c/oled/README new file mode 100644 index 0000000..2c04c4d --- /dev/null +++ b/i2c/oled/README @@ -0,0 +1,48 @@ +------------------------------------------------------------------------------- +Solomon SSD1306 128 x 64 Dot Matrix OLED/PLED Driver +------------------------------------------------------------------------------- + +Details: + - SSD1306 datasheet: + http://www.solomon-systech.com/en/product/advanced-display/oled-display-driver-ic/ssd1306/ + + +The logic analyzer used was KeeYees USB Logic Analyzer 24 MHz 8CH +with fx2lafw firmware (at 500kHz): + + Probe DS3231 pin + ------------------------- + 0 SCL + 1 SDA + + +ssd1306_ex1.sr +---------------------- + +The file provides writing a standard init sequence and the transfer of first data bytes, +among others: + +- Display one +- Display off +- Set display mode +- Set start line +- Set address / segment mapping +- Set multiplexing +- Set vertical offset +- Set clock ration +- Set pre-charge +- Set contrast +- Set charge pump +- Set column and page range + + +ssd1306_ex2.sr +---------------------- + +Write the 5-parameter command 0x2a = set vertical and left horizontal scroll + + +ssd1306_ex3.sr +---------------------- + +Write the 2-parameter command 0x23 = set fade-out and blinking diff --git a/i2c/oled/ssd1306_ex1.sr b/i2c/oled/ssd1306_ex1.sr new file mode 100644 index 0000000..88719d1 Binary files /dev/null and b/i2c/oled/ssd1306_ex1.sr differ diff --git a/i2c/oled/ssd1306_ex2.sr b/i2c/oled/ssd1306_ex2.sr new file mode 100644 index 0000000..077a0a8 Binary files /dev/null and b/i2c/oled/ssd1306_ex2.sr differ diff --git a/i2c/oled/ssd1306_ex3.sr b/i2c/oled/ssd1306_ex3.sr new file mode 100644 index 0000000..7d00611 Binary files /dev/null and b/i2c/oled/ssd1306_ex3.sr differ diff --git a/i2c/rtc_dallas_ds3231/README b/i2c/rtc_dallas_ds3231/README index 12c783e..beaa4ae 100644 --- a/i2c/rtc_dallas_ds3231/README +++ b/i2c/rtc_dallas_ds3231/README @@ -1,15 +1,16 @@ ------------------------------------------------------------------------------- -Maxim Integrated DS3231 RTC +Maxim Integrated DS3231(M) RTC ------------------------------------------------------------------------------- Details: - - DS3231 datasheet: https://datasheets.maximintegrated.com/en/ds/DS3231.pdf + - DS3231 datasheet: https://datasheets.maximintegrated.com/en/ds/DS3231.pdf + - DS3231M datasheet: https://datasheets.maximintegrated.com/en/ds/DS3231M.pdf Logic analyzer setup -------------------- -The logic analyzer used was Geeetech Mini Board Cypress FX2(LP) eval board +A) The logic analyzer used was Geeetech Mini Board Cypress FX2(LP) eval board with fx2lafw firmware (at 4MHz): Probe DS3231 pin @@ -46,3 +47,39 @@ to 24-hours mode and after Alarm 2 occured: - Write Control/Status register - clear alarm flag - Read date/time - Read temperature (MSB) + + + +B) The logic analyzer used was KeeYees USB Logic Analyzer 24 MHz 8CH +with fx2lafw firmware (at 500kHz): + + Probe DS3231 pin + ------------------------- + 0 SCL + 1 SDA + + +ds3231_ex3.sr +---------------------- + +The file provides writing of time keeping registers to Saturday, 05.09.2020, +17:30:00 h, alarm1 to daily, 06:29:00 h and alarm2 to every Thursday, 09:15 h +Then it reads all registers from 0x00 to 0x12: + +- in one I2C read step +- by sequentially writing the register ID an reading the content +- by sequentially reading the content starting from register 0x0 using auto- + increment + + +ds3231_ex4.sr +---------------------- + +Same as ds3231_ex3.sr, but date / time register in AM/PM mode. + + +ds3231_ex5.sr +---------------------- + +Write same data as in ds3231_ex3.sr, then read 30 registers in one I2Cread +with auto-increment (auto wrap-around after 0x12) diff --git a/i2c/rtc_dallas_ds3231/ds3231_ex3.sr b/i2c/rtc_dallas_ds3231/ds3231_ex3.sr new file mode 100644 index 0000000..8b45d36 Binary files /dev/null and b/i2c/rtc_dallas_ds3231/ds3231_ex3.sr differ diff --git a/i2c/rtc_dallas_ds3231/ds3231_ex4.sr b/i2c/rtc_dallas_ds3231/ds3231_ex4.sr new file mode 100644 index 0000000..826c841 Binary files /dev/null and b/i2c/rtc_dallas_ds3231/ds3231_ex4.sr differ diff --git a/i2c/rtc_dallas_ds3231/ds3231_ex5.sr b/i2c/rtc_dallas_ds3231/ds3231_ex5.sr new file mode 100644 index 0000000..af2b89a Binary files /dev/null and b/i2c/rtc_dallas_ds3231/ds3231_ex5.sr differ