Code Monkey home page Code Monkey logo

isense-hardware's Introduction

This repository contains all the code related to hardware specific components of the iSENSE project (isenseproject.org) including the iSENSE mobile apps, for both Android and iOS.

It is now deprecated - please use isenseDev/Hardware, isenseDev/Android, or isenseDev/iOS.

isense-hardware's People

Contributors

alanrosenthal avatar bdonald25 avatar beejisbrigit avatar chrisgranz avatar jaypoulz avatar jdaigneau avatar jdalphond avatar mmcguinn avatar nickavv avatar rajia avatar stowellm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

isense-hardware's Issues

General Picture App Needs New Icons

They are exactly the same as the SOR River Walk app's icons. (Not really a bug/issue, but Jeremy will be pushing these new icons on the app soon.)

Sync Android Times/Limited Searchable Experiment/Custom Views

Don wants all phones to be synced to a similar time-frame.

Update: we will learn DatagramSockets and use UDP connections between phones.

Also, make experiment searching limited to only compatible experiments.

Finally, customize toast messages and make the background look nicer.

When to ask for name

When you first open the app you should get a prompt for the name. Then you should connect to the pinpoint

Longitude data recovered from PINPoint is suspicious

In the data set from the weather balloon trip, the latitudes were all correct, but the longitudes were incorrect. I adjusted each longitude by 0.69197 to fix this problem, but the data still seem a little strange. See: http://isense.cs.uml.edu/newvis.php?sessions=4927. Zoom out a bit. The GPS points are arranged in sets of odd looking diagonal rows.

I suspect the problem may have something to do with variable types. In these parts, longitude values are always negative. The first digit is 0 around here, but the values have three digits (unlike latitude values). I'm not sure whether this error is being introduced in the PINPoint firmware, or during the data capture. (Michael pulled this data set from the PINPoint without using DUCK.)

Make Loading Screen Actually Load/Optimize Code

The loading screen is pretty and all, but doesn't actually load anything.

Additionally, our code is not well commented, logs failure upon success, unorganized, and hard to read. That should be fixed.

Sort Experiments Field In Android Apps

Experiment fields are currently hard-coded to a particular order.
We must fetch experiment fields from an experiment, look at the fields, and upload the data in the order it wants.

raac app sync time

the RAAC app should sync time after successfully connecting to the pinpoint every time.

Update Rapi To New API, Add Sample Rate/Interval to App

RestAPI on our side (and all the objects associated with it) are lagging behind all the new/removed stuff from the API. We need to go through each API function, see what it does/returns, and re-configure RestAPI/object files to match appropriately.

Sample intervals must also be implemented into app.

RAAC Crash in Landscape on Main Screen?

Weird things are going on with that XML layout for layout-land. @nickavv, could you hold onto a clean, working version of the main, blue, layout orientation XML code for the RAAC app and replace isenseDev/iSENSE-Hardware's version of that XML layout? This one is force closing... probably another merge bug.

Add Splash Screen/Loading Screen to Data Collector App

The app just starts you off with terms and conditions... kind of an ugly view to the start of the app.

Ideas for splash:

  • Welcome text
  • Link to an "About App" dialog.
  • Link to a "How To Use App" dialog.
  • Checkbox/link for the EULA
  • Green "Continue to App!" button
    - Continue only if they said they read and accept the EULA!
  • Red "Exit" button

Loading Screen:

  • Awesome rotating logo thing

Pictures App Causing Countless Errors

Jar files are magically defining AndroidManifests, Dalvikm 1 errors are occurring, Jeremy's Eclipse stopped working, project doesn't import right half the times... We've copied over all the significant code and jar over to a new, stable project that (hopefully) doesn't do this.

RAAC app has old and new fixes that give it errors

This was my fault from a SharedPreferences fix we made to the RAAC app a while ago. It seems the RAAC app implemented our new changes, but kept some old code as well when it merged, giving it an error (probably just me forgetting to switch an arrow in the mergetool). This has already been resolved and will be pull requested.

Add Landscape Functionality and Tablet-Size Layouts to Data Collector

This app is more "general" than the Canobie Lake Physics application. In this case, we should have landscape functionality and tablet-sized layouts for our tablet users. No longer is this just a "hey-I-am-not-crazy-enough-to-bring-a-tablet-on-a-roller-coaster" app.

Things to accomplish:

  • Landscape Layout for Phones
  • Portrait-Large for Tablets
  • Landscape-Large for Tablets
  • Make a whole new set of drawables for the tablet layouts
  • Make every dialog an activity

QR Codes, SD Card Parsing, and Data Saving

  • Implement QR code functionality to select an experiment
  • Allow the parsing of failed-to-upload experiments from the .csv files in the SD Card
  • Potentially save said failed upload for upload later?
  • Bring some changes from Data Collector app (ie the above changes) into Canobie App as well

Clean Layout, Remove Amusement Park Traces, Handle Additional Fields

  • Clear all traces of "Amusement Park" in this app.
  • Handle temperature for celsius/kelvin/fahrenheit (add more strings and fix the boolean arrays)
  • Implement user's choice of what data to record when selected/deselected items
  • Add "Steps" to dialogs
  • Add session description to the end
  • Debug SD Card error
  • Re-vamp the main layout and make it pretty!

Update RestAPI

Make a single RestAPI.java that all Android apps use/link against. This will help avoid multiple RestAPI files, especially ones that may slightly differ from others.

-- IMPORTANT iSENSE IMPORTS CHANGES --

I will be releasing version 2.0 of iSENSE Imports sometime early next week. These will be fully documented, and I will be releasing Java-Docs coincidentally. These WILL effect the behavior of current applications, so I recommend that you all read the API carefully and make any modifications as are necessary.

Will include:
-- Default behavior changes RestAPI changing -- it will now default to iSENSE NOT dev.
-- Updated parameters for functions (I was going to deprecate but support the old ones, but I happen to want to reuse names and the arguments have changed but are of the same type.)
-- new generic waffles (toasts that don't overlap and are build to easily but customized (@stowellm)
-- the removal (or deprecation) of any API functions not currently in use
-- self policing logs and error messages that are labeled appropriately (e.g. errors will throw exceptions or log in red)
-- possible reimplementation of self-caching responses for improved speed (no promises here)
-- other stuff I'll deal with on Monday

@stowellm @jdalphon @fgmart @AlanRosenthal @nickavv

Test issue

Does the org. issue tracker merge all repos?

Handle 400 Status Errors in All Apps

If an experiment is "closed" on iSENSE and we try pushing data to it, we get back a 400 status error, yet the apps will still say that we succeeded. Error checking needs to be added for all of these apps, perhaps a toast that says "Could not push data to this experiment; it may be closed."

Figure Out if Phones are Compatible with Our Experiments, Sort Sensors

Now that we can find out what fields are being recorded, we can determine what sensors are needed and whether or not the user's Android Device will be compatible with the experiment. Also, here is the best place to determine what sensors we are enabling/disabling for the experiment, as well as implementing our sorting algorithm to upload data in the correct order.

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.