GithubHelp home page GithubHelp logo

falco_sw_photon's Issues

Add SYSTEM_MODE(SEMI_AUTOMATIC) etc

Add SYSTEM_MODE(SEMI_AUTOMATIC) to allow code to run if no wifi is present at restart.
[https://docs.particle.io/support/troubleshooting/mode-switching/photon/#semi-automatic-mode]

Also add:

  • Particle.connect() - Connect to cloud and calls connects wifi if necessary.
  • WIFI.ready() and Particle.process() -

Add ability to register a node to a display unit

Consider use of button_status to measure duration of press [https://docs.particle.io/reference/firmware/photon/#system-events]

button_status:
128 button pressed or released
the duration in ms the button was pressed: 0 when pressed, >0 on release.

See example of button_status code [https://github.com/particle-iot/device-os/pull/611]

Also see:
button_final_click:
8192 sent after a run of one or more clicks not followed by additional clicks. Unlike the button_click event, the button_final_click event is sent once, at the end of a series of clicks. int clicks = system_button_clicks(param); retrieves the number of times the button was pushed.

WDF_Violation

Seems to appear if if semi_automatic mode used. Not tested with semi_automatic and system_thread(enabled).

Appears to be a Windows 10 issue (strange though that appeared with 0.4.9)

Add: Particle.syncTime

Add:

  • Particle.syncTime [https://docs.particle.io/reference/firmware/photon/#particle-synctime-]
  • handle situation where device either:
    • starts up disconnected from the web and then reconnects, or
    • disconnects and then reconnects after a significant period.

Assume for initial version that RTC not used as no battery backup. Millis() returns the number of milliseconds since the device began running the current program. This number will overflow (go back to zero), after approximately 49 days.unsigned long time = millis(); Note: The return value for millis is an unsigned long, errors may be generated if a programmer tries to do math with other datatypes such as ints. NB: Need to set time zone for Time.timeStr(). [https://docs.particle.io/reference/firmware/photon/#timestr-]

Add check if data is missing from a node

Add:

  • millis(0 based timer to avoid issues with time if device starts up without being connected to the web.

Assume for initial version that RTC not used as no battery backup. Millis() returns the number of milliseconds since the device began running the current program. This number will overflow (go back to zero), after approximately 49 days.unsigned long time = millis(); Note: The return value for millis is an unsigned long, errors may be generated if a programmer tries to do math with other datatypes such as ints.

Example (assumes reset within every 49 days):

define ONE_DAY_MILLIS (24 * 60 * 60 * 1000)

unsigned long lastSync = millis();

void loop() {
if (millis() - lastSync > ONE_DAY_MILLIS) {
// Request time synchronization from the Particle Cloud
Particle.syncTime();
lastSync = millis();
}
}

PCB - Arduino - TFT1.8" 128 x 160 (a_tft_l1.1)

  • Arduino Pro-mini connectors as required
    • VCC --> 3.3v
    • GND --> GND
    • CS --> 10
    • RESET --> 8
    • A0 --> 9
    • SDA --> 11
    • SCK --> 13
    • LED --> 3.3v
  • TFT connector (spi)
  • Arduino Wire Library (I2C) connector [A4, A5]
  • I2C pull-up resistors (4.7K, 0805)

Mounting hole/s not required as mounted onto TFT

PCB - Photon_RFM69HW_l1.1 (pr_l1.1)

  • Photon connectors as required
  • RFM69HW [D2, A1, A3, A4, A5, 3.3v, GND, ANT]
  • SMA antenna (tht)
  • u.fl antenna (smt)
  • i2C connectors (SCL, SDA, 3.3V, GND) [D0, D1, 3.3v, GND]
  • Wire (I2C) pull-up resistors 4.7K (0805)
  • 2 x input switches with pull-up resistors (4.7K, 0805) and connectors (1 x tht and 1 x copper pads) for external connections [D3, ]
  • Mounting hole for use if no external antenna

Add wire.transmission length validation

Add validation to improve display message reliability and reduce change of character corruption. See if wire.transmission can provide a checksum. Consider adding ACK and resend capabilities.

Add number of bytes (length) to Wire.write(data, length) - see https://www.arduino.cc/en/Reference/WireWrite

See https://www.arduino.cc/en/Reference/WireEndTransmission
0:success
1:data too long to fit in transmit buffer
2:received NACK on transmit of address
3:received NACK on transmit of data
4:other error

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.