Giter Club home page Giter Club logo

misko's People

Contributors

ejovrh avatar

Watchers

 avatar

misko's Issues

draw up a schematic

an electrical schematic showing all elements shall be drawn in some program or on paper.

rewrite SD card logging

the current approach uses FAT and writes with 1Hz frequency to the card.
data written is about 2X80 characters (with current NEMA sentence selection) - the card is literally burned since there are lots of writes to the same blocks.
this leads to heavy and unrecoverable FS corruption and the card can eventually be thrown away.

implement:

  • SD card utilization which will mitigate excessive writing to the same blocks
  • a buffer which will hold NMEA sentences in flash memory and e.g. once in 5 minutes flush its contents to the SD card
  • devise a way to read out SD card data without the need to physically remove it from the device
  • enable card space utilization statistics, display them on a LCD

implement screen refresh

at the moment the screen only gets refreshed on button press.
implement a mechanism which will refresh the screen only if it is turned on every 1s for example

improve GPS startup and time to fix

at the moment each startup is essentially a cold start.
see if this can be sped up by providing a position hint or similar.

additionally, see that the last coordinate position is somewhere remembered and displayed.
additionally, check that transitions from fix->no fix and vice versa do not produce garbled display.

implement TP36

a temperature sensor shall be implemented and the temperature shall be displayed.
parse frequency shall be a sane ammount of time - e.g. once in 5 minutes

fix datetime

at the moment the time is obtained by GPS GPRMC sentence.
the timefield in there is GPS-time, not UTC.

fix the code so that proper UTC is displayed and not GPS time.
furthermore, fix the code so that displayed time is in accordance with the UTC setting in the eeprom and that the displayed date is in accordance to 235959 -> 000001 change (next day should be visible in the datum)

draw external/internal support components

draw an autocad model of the battery holder, export it into stl

the holder shall be made of plasic, hold two liion batteries securely and attach on the top side to a pcb holding battery connectors, which in turn lead to the battery charger board

draw a OLED display / button holder
draw housing for power connectors

initialize all pins to known states on startup

ATM the atmega2560 pins are in some obscure "default" initial state on startup (after setup() is complete).
for clarity's sake implement an initialization code block which shall set all pins and internal devices to known states:

  • pins to high impedance
  • turn off all needed devices
  • turn on only needed devices

the initialization shall be binary values for the appropriate registers; using Arduino libraries for this is not worth the time.
document each setting via references to the datasheet.

implement gsm modem

the gsm modem shall be implemented in such a way that it can be addressed and configured from within the code and from the user menu.
the code shall initialize it to a proper state, the user shall be able to configure e.g. APN and similar GPRS related items.

the main goal is to be able to upload collected position data and either save it remotely and/or display it on google maps or similar

OLED <-> SD issue

the SD card (SPI) init seems to interfere with the OLED on I2C.
fix the issue either with utilizing a different OLED (one with hardware SPI) or otherwise.

improve menu

at the moment the menu displays the basic data needed for the tracker to function.
there are a few missing items (battery status, temperature, lineup of menu elements).
most of them are hardware-independent and can be implemented at a later date.

fix bluetooth module power

atm it is supplied via 100% PWM duty cycle on pin 9

implement a mosfet via which an analog? port shall trigger the gate

implemend ADXL345 accelerometer

the accelerometer shall put the device in a proper sleep state in order to preserve power when no movement is detected.
for this the ADXL345 can trigger interrupt events which the micro-controller has to be able to respond to (go to sleep and wake up after wards).

document existing prototype

draw up visio diagrams (or similar) showing a block-diagram like overview of components and features so that sbojanic can understand the apparatus

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.