Releases: connornishijima/Pixie
1.3.0 - Pixie Pro Update!
To coincide with the release of Pixie Pro, the 1.3 version of the library includes many improvements to speed and functionality!
The new pix.command() function allows setting things like the "row current" on a Pixie Pro like this:
pix.command(PIX_ROW_CURRENT, mA_45);
You can now declare your compatible Pixies as Pixie Pros with a simple addition to the class initializer:
Pixie pix(NUM_PIXIES, CLK_PIN, DATA_PIN, PRO); // "PRO" enables max-speed + parity checking
The max bit clock used by the library is now 140KHz, up from 67KHz!
pix.scroll_message(message, wait_time, instant); now has two simpler wrapper commands...
pix.scroll(message);
pix.smooth_scroll(message);
...that serve to simplify their usage.
Also included is the new 1.3.0 Pixie Firmware that comes with Pixie Pro and can still be flashed to existing Pixies, using the ICSP pinout found in the datasheet.
As with all of our updates, suggestions and bugfixes are welcome!
1.2.5 - Quick Fixes and Automated CI
This small release:
- Adds a couple missing keys to keywords.txt
- Modifies library.properties to automatically pull the external dependencies for the WiFi-based examples
- Adds relevant Travis CI testing code and config to the repo under /extras/travis
1.2.4 - Icon Update!
This release has over 40 new icons, including new arrows, weather icons for things like the ISS, and more!
(It also includes a quick fix for the Gerber drill files pointed out by @eburman.)
1.2.3 - Full Raspberry Pi support!
LET THEM EAT PI!
The Pixie Raspberry Pi driver is now almost fully identical in usage to the main Arduino library! (Thanks, rphawks!)
More details and examples here:
https://github.com/connornishijima/Pixie/tree/master/extras/raspberry_pi
1.2.2 - Raspberry SPI!
So yeah, never mind!
The Raspberry Pi driver no longer relies on compiled C or WiringPi, but the native SPI pins of the Pi! No more bit-banging means it's both fast and stable.
The pins to interface with Pixies are now the SPI MOSI and CLK (Pixie DATA, CLK respectively) and cannot be changed. However, it should still be possible to share the SPI bus with other products when the Pixies aren't being written to!
Take a look at extras/raspberry_pi/example.py for a further explanation and hookup/usage tutorial!
1.2.1 - Drill Files & Raspberry Pi Support
Drill Files
The missing Excellon files for the PCB gerbers has been added, sorry about that! I wish Eagle would export them to the same directory.
Raspberry Pi Support
The beta Raspberry Pi driver now includes a Python-only mode which is slower, but more compatible than the now-optional C driver. This should allow it to work with other embedded Linux systems that support WiringPi such as the OrangePi or NTC Chip. The Python-only mode is now the default, more details are in example.py.
1.2.0 - Faster, faster!
This release adds support for Pixie Firmware 1.1.0, which replaces the main input polling loop with inline assembly, largely increasing the bitrate from 39kHz to 67kHz! This means that 6 Pixies (12 displays) can be run at a full 60+FPS now! If you want to go really crazy and run 12 Pixies in a row, (24 displays), it will still run at ~36FPS, which is more than enough for most purposes.
Any Pixies purchased after 7/3/2020 are pre-loaded with 1.1.0+ firmware, meaning no update is necessary to use FULL_SPEED.
The new firmware is not necessary to use this updated version of the library, as the library still defaults to pix.begin(uint8_t speed = LEGACY_SPEED). To use the full 67kHz bitrate, use pix.begin(FULL_SPEED) instead.
If you purchased a Pixie from our very first batch (1.0.0 firmware pre-loaded) you can refer to the new firmware itself for instructions on compiling the new version, and the Pixie Hardware Datasheet for the pinout. Any new firmware can be flashed to a Pixie via any ICSP programmer such as an Arduino running the ArduinoISP sketch connected properly to the Pixie's RESET, SCK, MISO, MOSI, 5V and GND pins.
If you'd like help with this process of upgrading the Pixie firmware or get stuck, please reach out to us on here or on Twitter and we'd be happy to walk you through it! For most cases, the LEGACY_SPEED setting is still more than enough, and still produces smooth animation, so you can leave your 1.0.0 Pixies how they are and be just fine.
Also new in this library version:
- Added "Speed Test" example - measures and prints the max FPS your Pixies/controller can handle!
- Added "Pixie_Firmware_110.ino"
- Updated datasheet to reflect new maximum speeds
- Updated documentation for pix.begin(speed)
NOTE: Pixie Firmware 1.1.0 has not yet been tested with the Raspberry Pi driver.
1.1.0 - print() functionality and localization!
pix.print(input) now allows for a cursor-based printing system, similar to Serial.print(). For example:
pix.print("H ");
pix.print(123);
pix.show();
...results in "H 123" being written to the displays. The print() system allows for easy concatenation of strings, numbers and icons.
Also added are 43 diacritics encoded as icons (i.e. àãåâä) to allow for further multilingual support! For example, to write "«Café»" with the new print() system, you could use:
pix.print(PIX_ANGLE_QUOTE_L);
pix.print("Caf");
pix.print(PIX_E_ACUTE);
pix.print(PIX_ANGLE_QUOTE_R);
pix.show();
...resulting in «Café» being written to the displays!
1.0.3 - NTP and more!
Changes in this release:
- Added write_brightness() function and documentation
- Added NTP_CLOCK example for ESP8266 users
- Added product photo to README
- Added Getting Started Guide
1.0.2 - Expanded Support and Documentation
Some changes in this version:
- Added basic "Pixie on Raspberry Pi" Python/C support, found in extras/raspberry_pi.
- Added EAGLE library/footprint, and Pixie PCB Gerbers in extras/hardware
- Pixie is now available in the Arduino Library Manager!