0
0
mirror of https://github.com/Doodle3D/doodle3d-firmware.git synced 2024-12-30 14:43:47 +01:00

Add list of printer firmwares with some characteristics (WIP); add list of software which can send G-code; add resources on packaging for openwrt; add notes on milestones in the issue tracker; minor edits.

Wouter R 2013-05-02 14:54:38 +02:00
parent 42d5f9c585
commit 8e43247300
6 changed files with 75 additions and 6 deletions

25
Firmwares.md Normal file

@ -0,0 +1,25 @@
# Firmware variants
* Sprinter
* Marlin (forked from Sprinter)
g-code and m-code
* Jetty (forked from Marlin?)
* Sailfish / G3firmware
s3g
Uses s3g/x3g which requires substantial recoding of g-code. Several implementations:
- https://github.com/makerbot/ReplicatorG (java)
- https://github.com/makerbot/s3g (python)
- https://github.com/cbiffle/s3g-toolkit (C++, attempts to convert s3g files into s3g command streams)
* Repetier
Supports regular g-code as well as a binary encoded variant which can be translated directly.
---
http://www.reprap.org/wiki/List_of_Firmware
sprinter <- marlin <- jetty
marlin vs sprinter: https://github.com/ErikZalm/Marlin (extra gcodes)
sailfish (s3g?)
sprinter
repetier
binair+gcode (https://github.com/repetier/Repetier-Firmware/blob/master/Repetier/repetier%20communication%20protocol.txt)

23
GcodeSenders.md Normal file

@ -0,0 +1,23 @@
# Web interfaces for viewing/sending Gcode
## To be reviewed
...
## Probably not
- R2C2_WebInterface
node.js
- WebRap
python no deps
- pronterweb
python no deps
## Discarded (too large, unusable interface, unsupported)
node.js -> no mips big endian
python -> only 200 k left on device...almost no room for dependencies
- BotQueue
- OctoPrint
python many deps (not all supported out of the box by openwrt)
- Printrun
- Repetier-Server
- printerface

11
Home.md

@ -15,8 +15,11 @@ A number of milestones have been created in the issue tracker. Bitbucket sorts t
## Pages on this wiki
[Building OpenWRT](BuildOpenwrt)
[analyzing uhttpd crashes](UhttpdCrash)
[outline for self-update functionality](SelfUpdater)
[partial original wiki content](OriginalContent)
[Miscelanneous notes](MiscNotes)
[Analyzing uhttpd crashes](UhttpdCrash)
[Outline for self-update functionality](SelfUpdater)
[Partial original wiki content](OriginalContent)
[Miscellaneous notes](MiscNotes)
[An outline of the project structure](ProjectOutline)
[Webinterfaces for sending/viewing gcode](GcodeSenders)
[Various firmware implementations](Firmwares)
[Notes on packaging the code](Packaging)

17
Packaging.md Normal file

@ -0,0 +1,17 @@
# Creating an OpenWrt package
In order to include the wifibox code in an OpenWrt image and have it deployed automatically, it must be available as a package. This could also prove useful with regard to auto-updating the code since ipkg can handle downloading, checksumming and upgrading automatically.
The basic requirements for this are the presence of a Makefile for the OpenWrt build system to read, a feed to discover the package and a publicly available download source for the package itself.
## Resources
* [Overview of the build system](http://www.ccs.neu.edu/home/noubir/Courses/CS6710/S12/material/OpenWrt_Dev_Tutorial.pdf)
* [Creating feeds (OpenWrt website)](http://wiki.openwrt.org/doc/devel/feeds)
* [Creating packages (OpenWrt website)](http://wiki.openwrt.org/doc/devel/packages)
* [Plain cross-compilation (OpenWrt website)](http://wiki.openwrt.org/doc/devel/crosscompile)
* http://hype-free.blogspot.nl/2009/04/compiling-software-for-openwrt-and.html
* [Hello world tutorial](http://manoftoday.wordpress.com/2007/10/11/writing-and-compiling-a-simple-program-for-openwrt/)
* http://vivekian2.wordpress.com/2007/03/28/building-your-own-package-for-openwrt/
* (site does not load) http://hanez.org/openwrt-building-software-packages.html
* https://forum.openwrt.org/viewtopic.php?id=10117
* [Another example Makefile](https://forum.openwrt.org/viewtopic.php?id=9951)

@ -2,6 +2,8 @@
__TODO__: make this document intelligable
_Idea_: could the ipkg tool play a major part here? just releasing a new ipkg at the feed url then would be enough. just need a way to rollback..but ipkg can probably take care of that too
- create a rigid versioning system
- server-side script to report available versions (scans directory and reports back versions available in xml/json/plain)
- reported versions translate to archives and checksums (e.g. ?.tar.gz and ?.md5sum)

@ -10,8 +10,7 @@ __TODO__: describe when this happens (sometimes in portal mode and always when w
- Run it yourself: `uhttpd -f -p 80 -h /www`.
- Do something to make it crash and voila.
- After copying the file over to the host computer, open it in gdb with this command: `<gdb-executable> uhttpd <core-file>`.
There must be a more logical place, but at least the gdb executable can be found under the `staging_dir/toolchain/<target-spec>/bin` directory.
(More likely is `build_dir/target-<spec>/OpenWrt-Toolchain-<spec>/toolchain-<spec>/bin`...add it to the PATH for easier access)
The gdb executable can be found under the `staging_dir/toolchain/<target-spec>/bin` directory.
## Some handy gdb commands
From [here](http://stackoverflow.com/questions/5115613/core-dump-file-analysis).