Giter Club home page Giter Club logo

clackotron_firmware's Introduction

Clackotron 2000 - Firmware

This repository contains the firmware for the Clackotron 2000 project, which provides a simple, all-in-one solution for controlling SBB split-flap modules. For more information on the project in general, visit the docs repository.

The firmware is based on PlatformIO and Arduino/ESP32. The actual hardware includes an ESP32 on which the firmware is flashed. The webinterface is written to the device in a separate LittleFS partition. The firmware uses the default PlatformIO partition scheme, which allocates space for OTA, firmware as well as a LittleFS/SPIFFS partition.

Development

For development, connect the hardware (or an ESP32 dev board) via USB serial connection and install the PlatformIO extension for VSCode. This will allow you to use functionalities like building, uploading, monitoring and uploading the file system out of the box. For configuring the firmware itself, use the src/config.h file.

Configuring the firmware via its config file should only be necessary for development. When running in production, all user-relevant configuration should be accessible. Check out the docs repository to learn more about device usage.

Deployment

Simply use the VSCode PlatformIO extension to Build and Upload filesystem image, as well as Upload and Monitor the firmware itself.

The webinterface will only work if you place it in the data/ directory of this repository first. You can obtain its source or a pre-built release from the webinterface repo.

clackotron_firmware's People

Contributors

cybrox avatar

Watchers

 avatar

clackotron_firmware's Issues

Software fetching and writing NULL when RTC lost power

Currently, whenever the RTC lost power, the returned time will either be somewhere around 01.01.2000 or the output on the device will simply be NULL.

When loading time from the RTC initially, we should check if the timestamp is above 2020. If it is not, we can safely assume that the RTC has been reset for some reason and discard the time.

Also, regardless of time loaded from the RTC, after connecting via WiFi, time should be fetched from NTP once and (re)stored to the RTC!

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.