User Tools

Site Tools


module:micropython:esp32uartbtwlan:esp32uartbtwlan

This is an old revision of the document!


MicroPython: Esp32UartBtWlan

Übersicht

  • erster Versuch, mit einem Uart/Bt/Wlan zu realisieren
  • und dabei ein LCDisplayI2C und ein Keyboard4x4 anzusteuerung.
  • Dabei Multithreading
  • KEINE endgültige Entwicklung!

KeyPad4x4

  • 4×4 KeyPad: 8x IOPin: 4x Input(34, 35, 36, 39) und 4x Output(12, 13, 14, 27)
  • Keyboard-KeyCode-Buffer: SIZE_KEYCODEBUFFER = 5
  • minimale Zeitauflösung Erkennung einer Taste: TIME_KEYPRESSED = 0.1
  • minimale Zeit zur Erkennung von Tastenwiederholungen: ZeitTIME_KEYREPETITION = 0.5
  • Eigener Thread mit permanenter Tastatur-Abfrage
  • Entprellung über TIME_KEYPRESSES
  • Tasten-Wiederholung über TIME_KEYREPETITION
  • MainLoop: periodische Abfrage GetKeyCode()
  • Keys beim IT01:
 Col  :  0       1       2       3
Row 0 : [1]<24> [2]<40> [3]<72> [A]<136>
Row 1 : [4]<20> [5]<36> [6]<68> [B]<132>
Row 2 : [7]<18> [8]<34> [9]<66> [C]<130>
Row 3 : [*]<17> [0]<33> [#]<65> [D]<129>

LCDisplayI2C

  • Ansteuerung über I2C (PCF8574)
  • Eigener Thread zur Verhinderung von Blockaden ohne time-sleep in MainLoop
  • permanente Ausgabe von Zeilen/Spalten in DisplayThread

Version

Beschreibung

2112251421_Esp32DisplayKey_01V03.png

Entwicklung

211225 : "echte" Parallelisierung

211224 : Versuch zur Thread-Entkopplung

  • Multithreading mit LCDisplay in MicroPython zeigt jetzt (hoffentlich) keine Mucken mehr….
  • zweiter Thread zur Tastatur-Überwachung (ohne Blockade)
  • Trick: die CommandExecutionTime-Blockaden des Displays in einen Thread auszulagern !
  • Klasse CDisplay mit eigenem Thread self.Thread und CCommandList(Row, Col, Text)
  • Commands:
    • Clear()
    • Write(R, C, T)

211223 : Basis

  • ganz grosses Problem mit MultiThreading:
    • Keyboard4x4 mit eigenem Key-Erkennungs-Thread
    • Display mit eigenem Periodic-Display-Thread
  • laufen nicht unabhängig voneinander !!! Ganz grosser MIST!!!!

Open Hard- & Software [ DokuWiki WebSites MediaWiki NextCloud ]

module/micropython/esp32uartbtwlan/esp32uartbtwlan.1640516237.txt.gz · Last modified: 2021/12/26 12:57 (external edit)