New Sourceforge Project, rtos port, LiveCD, etc

Hey, during our local OCCRA robotics season (which switched to the new controllers) I’m planning on spending a deal of my programming efforts writing platforms and tools for FIRST. I intend on having a production version available by FIRST kickoff…

The project is Adambots-Live just freshly approved, still in setup phase…

Anyway, the project will consist of Makefiles, WINE wrappers for MCC, a LiveCD with programming tools / loaders, and also an array of example code and algorithms.

Scripts:

Cygwin and native *nix (WINE) makefiles
Wine wrapper launchers for mcc18 and cpp18 (takes care of essential symlinking)
Shell-script for wget’ing a trial compiler, copying over an already-installed mcc, or installing mcc from the CD under Linux (both permanent and Knoppix live-install)

.deb packages for everything (perhaps alien’ed to RPM and tgz)

LiveCD distros:

Will include all the mentioned scripts.
Knoppix and DamnSmallLinux based – a big CD and a little CD.
Will include the mcc18 - aquiring script. AFAIK mcc’s license restricts me from packaging it onto the LiveCD – if this is untrue, please let me know.
Linux IFI Loader
SDCC, gputils, and other open-source mcc alternatives (experimental – not ready for production use. For pic hackers only!)

Algorithms Planned are:

PI(D?) closed-loop velocity control drive
PID sensorless DC motor velocity control
RTOS (real-time operating system) for PIC18, port of IFI libraries to run under the RTOS.

The hardest part will be the RTOS port . I intend on making it with freertos.org’s system, since it’s open-source and all…

Obviously, this is a fairly large project. If you have any suggestions or are willing to help out, please let me know.

Thanks

This is a really nice idea.

I can tell you though that a Linux IFI Loader has already been made by team 188 (I believe), but if you want to make your own also, that’d be really cool.

I don’t run Linux right now, so I won’t be of much help. As for the license for MCC, I’d suggest contacting MPLAB on if you can do anything with their product (since they might allow it).

yeah, I’m re-using the already-made linux IFI loader-- although I’ll have to debian-package it.

I’m considering forking it to add more features, but with the RTOS and all, it seems like I’d be busy enough without worrying about that!

I was wondering how this project is coming along. I belive this would be much easier to use than Windows.

The school just allocated us two experimental computers. I’ve loaded Gentoo on both, and I’m planning to make the LiveCD’s out of Gentoo (Catalyst), because Gentoo’s fast and I love gentoo!

I’ve written ebuilds for the ifi-loader, and I have ebuilds for mcc, but I’m unsure of what I’m gonna do with them (i.e. make user wine-install C-Bot first, then install ebuild, or tarball up mcc against potential license issues).

Speaking of the Linux ifi-picloader, I did find a quite critical bug in functions.cpp that caused infinite loops on my machine… The author used looping construct

for (blah;blah;i=i++)

GCC would not accept i=i++, and i stayed at 0. I’ve alerted the author of the issue, but included it in my ebuilds, too.

Right now, I’m cleaning up default code, ready to release a makefile-packaged version. I’m also researching/learning how automake works, because automake scripts would make adding new .c files easier (automated Makefile entries).

By the end of the month or so, I’ll have an initial Gentoo Console-only LiveCD out, for proof-of-concept.

Before I can do so, I want to know what kind of systems you intend on running the livecd on. Do we have anyone using something below i586?

That sounds awesome.

Are you going to integrate the FIRST compiler into it as well?

Why not do something like GeeXBox (I think thats it, at least) does - allow people to download the source of the ISO with mkisofs binarys and scripts, so people can include their own compiler (and what ever else they want) then generate their own ISO image.

What is that? A PID loop uses the error between the set point and the measured value. How can you have an error without a sensor?

You should include some of the better tutorials and whitepapers

Also good code and official code

It uses an analog input to sense current ripples, as a method of estimating velocities. Cheating your way out of encoders, basically!

pssssh 691 :stuck_out_tongue:

I’m getting a Wiki started: http://adambots-live.sourceforge.net/

Currently in infant stages, hope eventually to fill a web of howto’s and such.

P.S. SF is being slow! Not my fault.

Just compiled on a slackware 10.x box… the picloader at least…

root@server:/ftproot/ifi-picloader-0.4.2.orig# make
[G++] Compiling PICloader...
[G++] Compiling PICreader...
Please run `make install` as root to continue with installation process.
[email]root@server:/ftproot/ifi-picloader-0.4.2.orig[/email]# make install
[G++] Compiling PICloader...
[G++] Compiling PICreader...
Please run `make install` as root to continue with installation process.
[CP] Copying binaries...

Its a bit weird, as it looks as if it compiled twice. The readme file could use a bit of work also :wink:

Edit: Noticed a small bug… you can download things to a non-connected serial port, and it appears to work correctly, but doesn’t actually download