Giter Club home page Giter Club logo

dataacquisition2.0's People

Contributors

alexshidagoatnocap avatar allisonpham12 avatar chad9000 avatar crsz20 avatar ejfisc avatar manueldjc avatar maybeillbetracer avatar meaty-feet avatar nathanielho7 avatar pratyushkaware2 avatar supercorgi69 avatar williameverson avatar williamlim781 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

alanfrias972

dataacquisition2.0's Issues

LSM303DLHC Accelerometer Interface

Description
Currently, the accelerometer has a simple bare-metal interface that returns raw data values. Next step is to convert this raw data into meaningful values.

Adafruit has implemented this in their .getEvent() method in the Adafruit_LSM303_U Library, where SENSORS_GRAVITY_STANDARD is defined in the common Adafruit_Sensor Library.

Sub-tasks

  • Convert to m/s^2
  • Convert to Gs

Definition of Done

  • Tested
  • Code reviewed

Position Research

Description
Look into the bare-minimum implementation required for getting the latitude and longitude in degrees. Upload any necessary code to document the effort.

The sample code used on the Arduino is a perfect example of this.

Data Logging Commands

Description
Allow the the DAQ to allow user input for starting data logging (initiate periodic outputs), and stopping data logging (safely closing the output file). Here are some ideas for commands:

  • run
  • stop

Definition of Done

  • Tested
  • Code reviewed

Data Logging Class

Description
Leverage OOP & Polymorphism. After having created an available API so that others can easily write to the SD card with a method, compile it all into its own SdDataLogger class. This class will inherit the abstract interface, IDataLogger class, for making the firmware more robust in accepting different data loggers in the future (e.g., the possibility of using USB).

Sub-tasks

  • SdDataLogger class & API
  • IDataLogger abstract interface class

Definition of Done

  • Tested
  • Improvement goals have been met
  • Code reviewed

Refactor the air pressure interface

Overview

  • Clean up the code
  • Make it more modularized
  • Self-documentable (comments should be less necessary)

Definition of Done

  • Similar or improved functionality
  • Code reviewed

Thermistors

Description

Definition of Done

  • Tested
  • Code reviewed

Auto-detect turning

Description
May one day be used for supporting an active-aero in the future. This is nothing official, but this would be a nice feature to support.

Sub-tasks

  • #

Definition of Done

  • Tested
  • Code reviewed

Basic CSV File Writing Implementation

Description
Instead of the .txt file created in Mbed's example for logging to an SD card, create & write to an SD-Card. You may need to get in touch with our Software Lead for ensuring the order of the data in which it needs to be parsed, the current standard, & any modifications we should make.

Sub-tasks

  • Meet with our stakeholder, the software lead
  • CSV header and dummy values are written
  • Select an error value for failing hardware

Note: In the long term, once we have a better understanding of our hardware, we may like to create a separate text file for logging error messages. For now, an error value in the corresponding field will suffice.

Definition of Done

  • Tested
  • Code reviewed

Improve SD Abstraction & Library

Description
The previous implementation is already fairly re-usable — but we can do better. This time, make updates so that the implementation follows more closely with the style guide and is more user-friendly like other Mbed components.

Definition of Done

  • Tested
  • Improvement goals have been met
  • Code reviewed

Longitude

Description

Sub-tasks

  • #

Definition of Done

  • Tested
  • Code reviewed

Wheel Speed

Description

Definition of Done

  • Tested
  • Code reviewed

RTOS

Description

Sub-tasks

  • #

Definition of Done

  • Tested
  • Code reviewed

Minimum Viable Product (MVP) w/ Previous Implementation

Description
I have implemented my previous work in a separate repo. Having moved from ST's HAL library to Mbed, figure out where to place the files to amongst our codebase, and make use of it for a basic implementation. This will be our fallback while guaranteeing this critical feature for the team. For convenience, determine whether the card insertion is consistent with the reset button.

Sub-tasks

  • Move init() & deinit() autogenerated code to the Mbed environment
  • Add the necessary files driver & BSP files for enabling FatFS
  • Write a sample CSV file

Definition of Done

  • Tested
  • Code reviewed

Tie Rod Analog Interface

Description
While the steering lead works on installing the elements onto the vehicle's tie rods, work on a prototype for computing the signal into the desired output.

Sub-tasks

  • Determine epsilon (the strain variable) for a Full Poisson bridge configuration
  • Read the analog voltage from the full Wheatstone bridge circuit

Definition of Done

  • Tested
  • Code reviewed

Linear Potentiometer

Description
Measures strain travel on shock and transfer those value into different voltage values.

Sub-tasks

Definition of Done

  • Tested
  • Code reviewed

SD SPI Example

Description
The current SPI-based implementation works, but may need some cleanup. Remember to keep styling guide in consideration.

Definition of Done

  • Tested
  • Improvement goals have been met
  • Code reviewed

Altitude

Description

Sub-tasks

  • #

Definition of Done

  • Tested
  • Code reviewed

Get valid data from the sensor

Description

Sub-tasks

  • Fix the temperature transfer function — there should be less drift
  • Modify the pressure output transfer function
  • Verify bit-shifting

Definition of Done

  • Tested for stakeholder satisfaction
  • Code Reviewed

Polymorphism for LinPot Interface

Description
Would this be over-engineering & a reckless use of memory? For such a simple use-case, definitely. This will create a simple, straightforward example for future hardware components that may require our own library or other dependencies.

Sub-tasks

  • Create an Interface Class
  • Use Base Class pointers to initialize a LinPot object

Definition of Done

  • Tested
  • Code reviewed

Oil Pressure

Description

Definition of Done

  • Tested
  • Code reviewed

Analog Interface

Description
We have two analog air pressure sensors in our posession. Build an MVP for reading data off of them. Preferably, in kilopascal.

Note: From a quick online search, it seems that the datasheet's transfer function may a little noisy or somewhat high in error. Online users have made their own different modifications to it, so this may require several rounds of testing until we are satisfied with the results.

Definition of Done

  • Tested
  • Code reviewed

Relay data from Teensy to STM32

Description
Instead writing to an SD card on the Teensy, send it to the STM32.

Sub-tasks

  • #

Definition of Done

  • Tested
  • Code reviewed

Assembly & Linking of Firmware Components

Description
A dedicated firmware component solely responsible for connecting abstract interfaces with other firmware components (i.e., concrete classes). This will hide the #include ... for interface classes away from main.cpp

Definition of Done

  • Tested
  • Code reviewed

Linear Potentiometer Interface on Arduino

Description
This is a highly requested feature. Until the newly-ordered hardware arrives, implement a temporary interface on Arduino,

Definition of Done

  • Tested
  • Code reviewed

GPS

Description
Build a firmware interface that allows the sampling of data from the GPS (i.e., latitude and longitude in degrees). We may have to build an interface from scratch on the STM32.

Sub-tasks

Definition of Done

  • Tested
  • Code reviewed

Timers & Timing

Description
A hardware interrupt timer for polling sensors in a consistent, measurable interval. The suspension lead has requested the LinPots to be logged in inches/second.

Sub-tasks

  • One-shot timer
  • Auto-reload timer

Definition of Done

  • Tested
  • Code reviewed

L3GD20H Gyroscope Interface

Description
Currently, the gyroscope has a simple bare-metal interface that returns raw data values. Next step is to convert this raw data into meaningful values.

Just like with the accelerometer, it may be helpful to start investigating how Adafruit implemented the data conversion in their library: https://github.com/adafruit/Adafruit_L3GD20_U

Sub-tasks:

  • Convert to rad/s
  • Convert to degrees/s

Definition of Done

  • Tested
  • Code reviewed

Air Pressure Sensor

Description
This will help the Aero team test/troubleshoot their aero package, made by the Composites team, in the wind tunnel.

Sub-tasks
Digital:

Analog:

Definition of Done

  • Tested
  • Code reviewed

Lambda

Description

Definition of Done

  • Tested
  • Code reviewed

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.