Skip to content

Commit

Permalink
Updating README and adding a NOTES document.
Browse files Browse the repository at this point in the history
  • Loading branch information
mithro committed Dec 29, 2015
1 parent 7331e4c commit 95b8d1d
Show file tree
Hide file tree
Showing 2 changed files with 71 additions and 2 deletions.
67 changes: 67 additions & 0 deletions firmware/NOTES.md
@@ -0,0 +1,67 @@
# PIC18F USB Stacks

There are multiple options for a USB stack on the PIC18F series chips.

For this board, we specifically need something which works with the PIC
18F14K50 IC.


* [m-stack](http://www.signal11.us/oss/m-stack/)
* Pros
* Good documentation.
* Clean code.
* Lots of examples
* Cons
* Currently no support for 18F14K50.
* Seems to use *a lot* of resources.
* Microchip xc8 compiler
* Notes
* Includes bootloader?
* Apache 2.0 or LGPLv3 license

* [Dangerous Prototypes JTR-Honken](https://github.com/DangerousPrototypes/USB_stack)
* Pros
* Working examples
* Some documentation
* PIC 18F14K50 support
* Smallish
* Cons
* Code isn't high quality
* Not really in library form
* Microchip c18 compiler (EOL, no Linux support)
* Notes
* CC-BY License
* [How To 1](http://dangerousprototypes.com/2012/06/06/open-source-usb-echo-demo-wiki/)

* [Microchip mla_usb](https://github.com/MicrochipTech/mla_usb)
* Pros
* Created by chip manufacturer.
* PIC 18F14K50 support
* Cons
* Examples are not under FOSS license
* Notes
* Apache 2.0 License

* [SpareTimeLabs Minimal USB CDC-ACM](http://www.sparetimelabs.com/usbcdcacm/usbcdcacm.php)
* Pros
* Uses SDCC!
* Seems pretty small.
* Cons
* Only supports the PIC18F4550
* Source code in tar.gz!?

As you should be able to see from the Git history, I ended up going with
heavily customizing the Dangerous Prototypes JTR-Honken stack. I'm not entirely
happy with the code quality of this library, or having to use the C18 compiler
but it does seem to work.

# Using Microchip C18 Compiler on Linux

* Install the i386 version of the Java runtime with;
`apt-get install openjdk-7-jre:i386`
* Install [MPLAB.X from Microchip](http://www.microchip.com/pagehandler/en-us/family/mplabx/)
* Download [MPLAB C18 Linux Full Installer](https://github.com/Manouchehri/Microchip-C18-Lite/releases/download/v3.47/mplabc18-v3.47-linux-lite-installer.run)
* Install with `sudo ./mplabc18-v3.40-linux-full-installer.run` (You may need
`--mode text` otherwise the installer will just segfault on new Ubuntu
versions.)

6 changes: 4 additions & 2 deletions firmware/README.md
Expand Up @@ -6,12 +6,14 @@ the following features;
* Emulation of a 24 series EEPROM for TOFE ID Detection
* Access to the ADC data.

## Origin
# Building

Currently this requires the following tools to build;
* [Microchip MPLAB.X](https://github.com/DangerousPrototypes/USB_stack) and
* [Microchip MPLAB.X](http://microchip.com/mplabx) and
* [C18 Compiler](http://www.microchip.com/c18)

See the [NOTES.md](NOTES.md) file for information on setting up the C18 compiler.

## Bootloader

The PIC is loaded with the Microchip HID USB Bootloader from the "Microchip
Expand Down

0 comments on commit 95b8d1d

Please sign in to comment.