Giter Club home page Giter Club logo

imageproc-lib's Introduction

All code licensed under the 3-clause modified-BSD license, unless otherwise noted.

Shared library for ImageProc projects

Description

A set of common modules developed for the ImageProc family of boards, which use Microchip's dsPIC architecture.

These modules work with ImageProc 2.5 boards. Support for older boards up to version 2.4 can be found in the ip24-maint branch.

Download code

https://github.com/biomimetics/imageproc-lib

Usage

Place this library under the embedded source directory where your ImageProc project resides (e.g. embedded/imageproc-lib/ if your project is in embedded/project/), then modify your project so that it knows where to find the library, and finally compile.

Citing the library

If you would like to reference this code in a publication, please cite these conference papers:

This material is based upon work supported by the National Science Foundation under Grant No. IIS-0705429 and IIS-0931463. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.

imageproc-lib's People

Contributors

11douglash avatar abuchan avatar amhoov avatar apullin avatar arcanenibble avatar dhaldane avatar fgb avatar humhu avatar kevincp avatar ronf-ucb avatar ryanjulian avatar stanbaek avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar

imageproc-lib's Issues

Wait for PLL lock in radio init

The radio init should wait for a PLL lock IRQ, then subsequently clear it, it prevent timing-dependent radio instability after reset.

Some included files have hanging dependencies.

Some files were included without other headers and modules on which they depend:

attitude.c : no sys_clock.h
cam.c : no led.h
controller.c : no digital filter module
pid-hw.c : no pid.h

I suggest we establish a requirement for the imageproc-lib that the code set in 'master' should be compilable as a library project, with no warning or errors.

RFC: Need to define PID controller module naming

There's a new hardware pid module (pid-hw.c/h) that supersedes the float-based software one (controller.c/h). We need to define the name for an abstraction layer (pid.c/h? pid_cont.c/h?) and then the names of the hardware and software sub-modules (incl. both float and integer versions). Please suggest names below.

LED usage throughout the library

There are very few LEDs on our boards and we've recently started toggling them during the normal operation of some modules (e.g. radio). The usage of LEDs within traps (e.g. battery) makes a bit more sense, although we should always allow a project to easily override this (i.e. by setting its own callback).

I suggest we stop controlling LEDs from library modules, so that a particular user/project can freely make use of all LEDs. When developing a module, though, you can feel free to pepper it with LED toggles, but these should be removed once a module is committed as stable.

Let me know what you think.

cc. @Humhu, @ryanjulian, @abuchan, @dhaldane, @apullin, @ronf-ucb.

ImageProc 2.5 Integration TODO & Discussion

Module                  Status          Lead             Notes
------                  ------          ----             -----
Motor control           [Integrated]    Duncan, Pullin   
Radio                   [Verified]      Doug             Needs upgrade to SPI DMA code
DataFlash               [Verified]      fgb              Needs upgrade to SPI DMA code
IMU (MPU-6000)          [Verified]      Duncan           Needs upgrade to SPI DMA code
AMS encoder             [Verified]      Duncan           PCB revision exists, is unordered
BEMF sensing            [Unverified]    Pullin 
OMAP Backpack           [Unverified]    Ryan
Low battery IRQ         [Not started]   fgb
OVCam                   [Not started]   fgb
Radio TX/RX LEDs        [Not started]   Unclaimed
IMU IRQ                 [Not started]   Unclaimed
Battery level sensing   [Not started]   Unclaimed
FeelerProc              [Not started]   Jaakko           Requires PCB revision
dsPIC                   [Mainline]      Doug             
LEDs                    [Mainline]      Doug       

[Mainline]      Modifications are integrated and have been merged into the
                imageproc-lib mainline.
[Integrated]    Modifications done and integrated in this branch. Mainline
                pending.
[Complete]      Code modifications are complete and pending integration.
[Verified]      Hardware functionality has been verified, but code
                modifications and testing are still in progress.
[Unverified]    Hardware functionality not yet verified
[Not started]   Nobody is working on this, yet.

Urgent: MPU-6050 basic driver required

The stock of ITG3200 gyroscope chips in the lab has been depleted, and we are probably not going to order more. The MPU6000 and 6050 will take the place of the the ITG3200 for now.
A driver that will function the same as the ITG3200 driver, insofar as retrieving gyroscope values, needs to be written, tested, and pushed ASAP.

Assign Humphrey and Ryan to this issue.

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.