Comments (3)
Hi @pjebs!
Thanks for opening this issue. Your project sounds super cool as the off the shelf versions are so expensive and I also want an e-ink monitor 😄
I couldn't tell from your question if you were looking to use this library with the display, and sorry if you knew this but wanted to clarify that the e-ink display would use a different driver to what this library implements.
As for your SPI question: the only reason why this is slow for OLED-js specifically is due to how the standard firmata protocol runs on low power / low cycle devices such as the Arduino. This library is designed to remotely control the Arduino which is running standard firmata on it. Standard firmata doesn't support SPI out of the box due to flash memory constraints (it's already a huge library). This essentially means that for me to support SPI, I manually bit bang out the SPI protocol, with several bytes for each pin flip over the USB connection from the host computer to the Arduino itself. It then streams the display buffer from there as it interprets the op codes from the standard firmata protocol. Bit banging several op codes per bit at a time is very inefficient.
I imagine that you're probably using a Raspberry Pi or similar to achieve your project? I also assume you won't have the weird bit banging over the wire limitation I have, as a result of using a more powerful device / not an Arduino with firmata. If so, then this SPI speed issue will absolutely not be a problem, and in fact SPI is designed and known for its high speed, especially compared to I2C.
Does this answer help at all? Sorry it's so long winded but I wasn't sure how much detail to include.
Thanks for the question, and likewise nice to meet a Melburnian on Github! We probably have crossed paths at some point in our career like a meetup as you mentioned.
from oled-js.
Thanks @noopkat for the amazingly detailed response.
from oled-js.
you're welcome! I wish you the best with the project!
from oled-js.
Related Issues (20)
- ssd1322 and othe chip support HOT 1
- transfer chunks of data HOT 15
- Scroll Size
- Cannot read property 'send' of undefined [IO plugins support] HOT 1
- `opts` need to be passed through to i2cConfig HOT 4
- ES6/ES7? HOT 2
- Change SDL and SCL pins for Arduino? HOT 1
- Unable to utilise oled-js HOT 1
- use .npmignore to cut down package size HOT 3
- Color arg for writeString not working HOT 1
- How to position a bitmap or png picture on the screen if not taking all the size of the screen HOT 3
- OLED SSD1306 - Layouts and mixing text and logo with auto size
- Using the display with a raspberry Pi HOT 1
- What is the expected refreshrate for I2C OLED screens? HOT 1
- SPI screen slow drawing question
- export types for use in typescript
- catch all errors possible with helpful Error() reponse
- Set contrast manually
- Question: How to create new fonts HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from oled-js.