It can not be skipped as you may call setwindow even if device is not ready for data write to buffer.
Data can only be written if last command was Memory Write or Write Memory Continue which was not guaranteed
There's no performance loss as having the exact same window on a consecutive call is extremely unlikely
- Fixed some typos and added a few missing comments to please go-lint
This patch adds support for the ESP8266 chip by adding support for 80MHz
operation. This should also work when the ESP32 is changed to 80MHz, but
I didn't test it (as there is not currently a way to do that).
Verified on a NodeMCU dev board with an ESP8266.
This allows WS2812 LEDs to be controlled by an ESP32. Right now it only
supports 160MHz operation, which is the default with current ESP32
support in TinyGo.
- FrameRate option sets device framerates from 39-111Hz
- VSyncLines option adjusts device vsync pause using st7789 "porch control" feature
- Added Rx(cmd, bytes[]) to support retrieving scanline timing data over SPI
- Added Sync functions to support syncronization of animation to vertical scanline timing
- Minor adjustments to Configure to clear screen memory before display is visible
* gps: buxfixes and refactoring of API to separate device from parser
Signed-off-by: deadprogram <ron@hybridgroup.com>
* gps: simplify time parser
Signed-off-by: deadprogram <ron@hybridgroup.com>
* gps: add support for RMC sentences
Signed-off-by: deadprogram <ron@hybridgroup.com>
* gps: small renaming to remove reduntant use of word GPS
Signed-off-by: deadprogram <ron@hybridgroup.com>
* Fix setWindow bug, add CS pin for Clue compatibility.
- corrected bit shift in setWindow that broke high addresses
- added csPin to constructor (will now work with adafruit clue)
- small adjustments and comments to init routine based on working arduino driver
* Update main.go
Updated test example with CS pin.
* Reverting unnecessary (no-effect) change in setRotation.
Since TinyGo started supporting Go modules, there was an error in CI.
The commit 7967e82fed tries to fix that,
but I think the underlying issue is that we're checking out in GOROOT,
which is definitely not a supported configuration.
I think the best solution is to just switch to using Go modules, by
adding a go.mod file in the root. I've set it to Go version 1.13 as that
is the first Go version that supports number literals, but it could be
set to any supported Go version (1.11-1.14).
Since we use Go modules, the location of the drivers checkout should not
matter so I've removed it. This fixes the error on CircleCI.
Avoid creating unnecessary garbage in the following ways:
* Use the Transfer method instead of the Tx method for single byte
transfers.
* Use a statically allocated buffer for the fixed start-of-frame
sequence.
Running this for a few minutes did not cause the garbage collector to
run. Previously, it would run every second or so in a
persistence-of-vision application.