Coder Social home page Coder Social logo

e7p / lcd-nextstop Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 1.0 414 KB

Software for a special type of LCD displays typically used in public transportation. These LCD matrices consist of a mosaic segment matrix.

License: GNU General Public License v3.0

Makefile 1.82% C 66.89% Lua 31.29%

lcd-nextstop's People

Contributors

e7p avatar max1220 avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

phi-psi

lcd-nextstop's Issues

Implement tabulators

Implement the tabulators (\t) in a way that all lines of the content distribute the columns such that all information is always fitted on screen and one is able to display tabular data like schedules or fahrplans. The usage of the Tabulator char (ASCII 0x09) is already ready-to-use defined in the LUA code.

Implement further control characters

Implement more control characters, maybe even allowing to control single pixels. Ideas include:

  • Movement of the current cursor in X and Y directions
  • Flash bell when needing attention (inverting consecutively for a defined number of times, e.g. 3)
  • Set single defined pixels (for quite cool art maybe)
  • Be able to select fonts (maybe in a character-wise manner, or only the whole display)

Implement the Fahrplan mode

Implement the 32C3 Fahrplan with its own API found on its website. The Output should (nearly) look like:

== Current Talks (Saal 1) ==
Now   Hacker Jeopardy
22:30 On the security of
      wireless small devices

You can use tabulators (\t) for the single columns. The AVR-firmware will be able to handle this also.
For each "Saal", please activate this module for 10 seconds consecutive order.

Put each mode in its own File / Class

Every display mode (MESSAGE, DATETIME,...) should have its own class or at least source file. All mode-source files may be added then in the main class (init.lua) either dynamically or using an help table (modes).

Negative prespacing at the start of lines

After newlines, if the first character has negative prespacing, the character will be displayed partly on the end of the last line.

This is not affecting the first line, because there is a countermeasure is already implemented. Goal is to customize this countermeasure to also work on other lines.

Implement the Trains mode

Implement the Deutsche Bahn API (contact @Endres for details). Output could look like:

== Hamburg Dammtor ==
S6  HH-Hbf      4 mins
S9  HH-Altona   10 mins
325 Landungsbr. 20 mins

You can use tabulators (\t) for the single columns.

Be able to debug the NodeMCU firmware appropriately

The NodeMCU-Firmware contains some out-commented --print("_...") lines. Think about something how the debug output can be used usefully while not disturb the regular display data stream.

As this is only really needed for being able to debug anything, and debugging is not needed in productive use, this issue has lower priority and can be fixed continuing to use --print("_message") whenever a debug output was useful at this point. It can be then activated or deactivated by commenting it in or out.

Implement the Message-Mode fully

Best thing would be to be able to define somehow dynamic texts, which may also be stored on a server (HTTP-Textfile), but not neccessarily need to.
It would be sufficient to have at least an array out of strings which will be continuously gone over, each time the mode will be activated.

Check the OOP style of the LUA code.

In general somebody with object oriented programming skills should look over the LUA code, if something could be done better.

This also has low priority as first it is more important, that everything will work fine at least.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.