Logxen [Mon, 11 Mar 2013 15:44:26 +0000 (08:44 -0700)]
Merge remote-tracking branch 'upstream/edge' into firmconfig
Michael Moon [Mon, 11 Mar 2013 05:21:20 +0000 (16:21 +1100)]
Makefile: allow user-specified baud rate for console, ie "make BAUD=115200 console" works as expected
Michael Moon [Mon, 11 Mar 2013 05:20:48 +0000 (16:20 +1100)]
Start message: report system clock frequency
Michael Moon [Thu, 7 Mar 2013 04:48:54 +0000 (15:48 +1100)]
Merge branch 'feature/ethernet-driver' into edge
Michael Moon [Wed, 6 Mar 2013 07:22:27 +0000 (18:22 +1100)]
LPC17xx Ethernet Support. Driver only, no network stack or application layer yet!
Michael Moon [Thu, 7 Mar 2013 04:41:21 +0000 (15:41 +1100)]
USB: fix a const cast warning
Michael Moon [Thu, 7 Mar 2013 04:32:20 +0000 (20:32 -0800)]
Merge pull request #147 from bgamari/fixes
Fix various warnings
Ben Gamari [Wed, 6 Mar 2013 23:24:34 +0000 (18:24 -0500)]
CurrentControl: Add virtual destructor
See commit message of
eeef2894e7e7e7708c10582210a7b8e12f027826 for
rationale.
Ben Gamari [Wed, 6 Mar 2013 23:24:00 +0000 (18:24 -0500)]
CurrentControl: Fix whitespace
Ben Gamari [Wed, 6 Mar 2013 23:17:03 +0000 (18:17 -0500)]
Laser: Add virtual destructor
This is to resolve the warning,
modules/tools/laser/Laser.cpp:21:29: warning: deleting object of
polymorphic class type 'Laser' which has non-virtual destructor might
cause undefined behaviour [-Wdelete-non-virtual-dtor]
Caused by the `delete this;` used to destroy the object if it's
unneeded.
Unfortunately, this a bit of a large hammer for the issue. While it's
unlikely that Laser will ever be inherited from, I can't seem to
convince the compiler that this is the case. We could disable this
warning outright, but this sort of thing one often wants to be warned of
(e.g. in the case of the BaseSolution warning fixed in
24ceac7a79d322b48d325e9362434fb295be1d21).
All things considered, the cost of adding a vtable to Laser seems worth
the piece of mind solving this warning brings.
Ben Gamari [Wed, 6 Mar 2013 23:05:53 +0000 (18:05 -0500)]
Stepper: minimum_steps_per_minute should be unsigned
Silences warning
Ben Gamari [Wed, 6 Mar 2013 23:05:37 +0000 (18:05 -0500)]
Laser: Fix up whitespace
Ben Gamari [Wed, 6 Mar 2013 23:00:36 +0000 (18:00 -0500)]
BaseSolution: Needed a virtual destructor
Ben Gamari [Wed, 6 Mar 2013 22:53:40 +0000 (17:53 -0500)]
USBSerial: Add const annotations to writeBlock's buffer
This silences a warning. Unless the hardware is doing writes, this
should be correct.
Michael Moon [Wed, 6 Mar 2013 08:42:06 +0000 (19:42 +1100)]
Merge remote-tracking branch 'origin/edge' into local-firmconfig
Michael Moon [Wed, 6 Mar 2013 08:39:44 +0000 (19:39 +1100)]
Merge branch 'edge' into local-firmconfig
Michael Moon [Wed, 6 Mar 2013 08:38:02 +0000 (00:38 -0800)]
Merge pull request #146 from wolfmanjm/feature/add-est-to-progress
Use on_second_tick for progress est and elapzed time as RTC doesn;t work...
Michael Moon [Wed, 6 Mar 2013 08:36:48 +0000 (00:36 -0800)]
Merge pull request #145 from wolfmanjm/feature/add-reset
use on_second_tick for reset timeout as smoothie board doesn't have a cr...
Jim Morris [Wed, 6 Mar 2013 08:32:08 +0000 (00:32 -0800)]
Don't display ETA for first 10 seconds
don't accumulate time if paused
Jim Morris [Wed, 6 Mar 2013 08:17:08 +0000 (00:17 -0800)]
Merge remote-tracking branch 'upstream/edge' into feature/add-est-to-progress
Michael Moon [Wed, 6 Mar 2013 07:23:04 +0000 (18:23 +1100)]
USBSerial: remove special handling of \r
Jim Morris [Wed, 6 Mar 2013 04:16:44 +0000 (20:16 -0800)]
Use on_second_tick for progress est and elapzed time as RTC doesn;t work on smoothieboard
Michael Moon [Wed, 6 Mar 2013 04:02:54 +0000 (15:02 +1100)]
PlayLed: use Pauser::paused() instead of referencing PauseButton.
PauseButton: no longer need static self-reference
Michael Moon [Wed, 6 Mar 2013 04:02:18 +0000 (15:02 +1100)]
PlayLed: light off at boot
Michael Moon [Wed, 6 Mar 2013 04:01:46 +0000 (15:01 +1100)]
Pauser: add method bool paused()
Michael Moon [Wed, 6 Mar 2013 03:37:02 +0000 (14:37 +1100)]
New LED behaviour: off = not paused, not running. flash = paused. on = executing blocks. Implemented with new PlayLed module
Michael Moon [Wed, 6 Mar 2013 03:35:17 +0000 (14:35 +1100)]
PauseButton: eliminate potential race condition
Jim Morris [Wed, 6 Mar 2013 02:27:03 +0000 (18:27 -0800)]
use on_second_tick for reset timeout as smoothie board doesn't have a crysal on its RTC
Michael Moon [Wed, 6 Mar 2013 02:09:00 +0000 (13:09 +1100)]
SlowTicker: G4 pause now also acceps S<seconds> in addition to P<milliseconds>
Michael Moon [Wed, 6 Mar 2013 01:31:00 +0000 (12:31 +1100)]
TemperatureControl: support 2 preset temperatures, activate with M104 S1, M190 S2 or similar
Logxen [Tue, 5 Mar 2013 00:56:12 +0000 (16:56 -0800)]
Merge remote-tracking branch 'upstream/edge' into firmconfig
arthurwolf [Mon, 4 Mar 2013 23:38:58 +0000 (15:38 -0800)]
Merge pull request #144 from wolfmanjm/feature/delta-segmentation
Feature/delta segmentation
Looks pretty harmless, merging, thanks a lot for the feature !
Jim Morris [Mon, 4 Mar 2013 23:04:42 +0000 (15:04 -0800)]
Implement Johanns method of specifying segments for delta bots in segments per second.
Added a config delta_segments_per_second which defaults to 0, which is off
Modified mm_per_line_segment to turn off segmentation when set to 0, otherwise is exactly the same
If both mm_per_line_segment and delta_segments_per_second are set then delta_segments_per_second takes precedence
Added example to rostock config which uses the delta_segments_per_second to match current Johanns Marlin/Delta
Jim Morris [Mon, 4 Mar 2013 09:38:14 +0000 (01:38 -0800)]
Implement Johanns method of specifying segments for delta bots in segments per second.
Added a config delta_segments_per_second which defaults to 0, which is off
Modified mm_per_line_segment to turn off segmentation when set to 0, otherwise is exactly the same
If both mm_per_line_segment and delta_segments_per_second are set then delta_segments_per_second takes precedence
Adam Green [Mon, 4 Mar 2013 17:58:04 +0000 (09:58 -0800)]
Fix #143 - SerialConsole::puts is broken in new build.
My dumb dumb! Used the correct casting operator and actually tested
the UART serial path this time before committing.
Michael Moon [Mon, 4 Mar 2013 13:45:09 +0000 (00:45 +1100)]
Makefile: keep default configuration in flash, do not load into ram at runtime
Michael Moon [Mon, 4 Mar 2013 13:50:51 +0000 (00:50 +1100)]
FirmConfigSource: use base class methods
Michael Moon [Sun, 3 Mar 2013 01:46:40 +0000 (12:46 +1100)]
ConfigSource: Implement line/stream parsing in base class to reduce code duplication
FileConfigSource: use base class parsing routines
Logxen [Sun, 3 Mar 2013 22:56:40 +0000 (14:56 -0800)]
initial implementation of FirmConfigSource
Adam Green [Sat, 2 Mar 2013 22:29:57 +0000 (14:29 -0800)]
Fix for make -j (n>1).
Enforce mbed SDK library dependency in root makefile. Before it would
try to build both the mbed SDK and the Smoothie firmware at the same
time.
A better solution would be to pull the mbed SDK make steps into the
main Smoothie makefile so that the dependencies were clearer to make
which would allow it to build the SDK in parallel to the Smoothie
firmware. I don't currently do this as the current build system is
closer to what was used before but now there are just sources and
makefiles which can build the mbed SDK (libs and headers) for us. I
also expect most people to do their clearn builds from within the src/
directory once they have the mbed SDK built since they don't really
need to even keep looking at that part of the code anymore.
Arthur Wolf [Sat, 2 Mar 2013 21:13:03 +0000 (22:13 +0100)]
Merge branch 'edge' of github.com:arthurwolf/Smoothie into edge
Arthur Wolf [Sat, 2 Mar 2013 21:12:51 +0000 (22:12 +0100)]
move back to get_ref in conveyors flush
Logxen [Sat, 2 Mar 2013 20:34:08 +0000 (12:34 -0800)]
Merge pull request #141 from logxen/edge
Config now checks for config.txt if config is not found
Logxen [Sat, 2 Mar 2013 20:33:24 +0000 (12:33 -0800)]
simple optimize
Logxen [Sat, 2 Mar 2013 20:30:25 +0000 (12:30 -0800)]
Config now checks for config.txt if config is not found
Adam Green [Sat, 2 Mar 2013 02:57:24 +0000 (18:57 -0800)]
Merge remote-tracking branch 'origin/edge' into feature/new_build
Adam Green [Fri, 1 Mar 2013 08:36:13 +0000 (00:36 -0800)]
Verify that malloc/realloc/free aren't called from ISR.
This was previously done with the malloc_lock() routine but this isn't
called from the newlib nano routines used in the new build. This new
code provides wraps for malloc/realloc/free to first make this check of
the IPSR register and then call the real routines if not being called
from ISR.
Adam Green [Fri, 1 Mar 2013 08:07:55 +0000 (00:07 -0800)]
Update README to no longer mention GCC4MBED.
Adam Green [Fri, 1 Mar 2013 07:11:49 +0000 (23:11 -0800)]
Merge remote-tracking branch 'origin/edge' into feature/new_build
Conflicts:
.gitignore
build/mbed_custom.c
gcc4mbed/build/gcc4mbed.mk
makefile
mbed/src/vendor/NXP/cmsis/LPC1768/GCC_ARM/LPC1768.ld
Fixed conflicts caused by heap tagging commit which modified several
files that had been moved around for this new build system.
NOTE: HEAP_TAGS has been disabled since it isn't compatible with newlib
nano. If we decide that we want to stay with newlib nano then I
can update the heap tag code to work with this newer library.
Michael Moon [Tue, 26 Feb 2013 01:13:01 +0000 (12:13 +1100)]
TemperatureControl: use Pwm::max_pwm properly
Michael Moon [Tue, 26 Feb 2013 01:11:25 +0000 (12:11 +1100)]
Conveyor: use get_tail_ref
Logxen [Mon, 25 Feb 2013 07:49:35 +0000 (23:49 -0800)]
Merge pull request #139 from logxen/edge
made Conveyor::wait_for_empty_queue() actually return
Logxen [Mon, 25 Feb 2013 07:48:55 +0000 (23:48 -0800)]
made Conveyor::wait_for_empty_queue() actually return
Logxen [Mon, 25 Feb 2013 07:29:06 +0000 (23:29 -0800)]
Merge pull request #138 from logxen/edge
added '{' to fix the new Conveyor::wait_for_empty_queue() method
Logxen [Mon, 25 Feb 2013 07:27:50 +0000 (23:27 -0800)]
added '{' to fix the new Conveyor::wait_for_empty_queue() method
Logxen [Mon, 25 Feb 2013 07:22:49 +0000 (23:22 -0800)]
Merge pull request #136 from bgamari/fix-homing
Endstops: Invoke ON_IDLE while waiting for queue
Logxen [Mon, 25 Feb 2013 05:18:04 +0000 (21:18 -0800)]
Merge pull request #137 from wolfmanjm/feature/add-reset
Feature/add reset
Jim Morris [Mon, 25 Feb 2013 05:09:40 +0000 (21:09 -0800)]
add a pause of 5 seconds after issuing reset so the user can exit the console
Logxen [Mon, 25 Feb 2013 05:00:14 +0000 (21:00 -0800)]
Merge pull request #135 from wolfmanjm/feature/add-est-to-progress
add elapsed time and estimated time to progress command
Jim Morris [Mon, 25 Feb 2013 04:28:55 +0000 (20:28 -0800)]
untabify
Jim Morris [Mon, 25 Feb 2013 04:22:37 +0000 (20:22 -0800)]
added reset to console comamnd to actually reset the chip, dfu still goes into boot mode
Ben Gamari [Mon, 25 Feb 2013 03:11:41 +0000 (22:11 -0500)]
Endstops: Properly wait for queue to empty
Ben Gamari [Mon, 25 Feb 2013 03:11:06 +0000 (22:11 -0500)]
Conveyor: Introduce wait_for_empty_queue
Michael Moon [Sat, 23 Feb 2013 02:42:09 +0000 (13:42 +1100)]
PID Autotune: M304 aborts
Adam Green [Thu, 21 Feb 2013 22:58:45 +0000 (14:58 -0800)]
Fixes issue #129 - Don't leak gcodes in block.
Previously Conveyor::new_block() was never executing the last chance
code it contained to clean up the next block that it was going to
overwrite and use in the ring buffer. This was failing to run becaues
this->queue.get_ref(this->queue.size()) would always return a NULL
pointer as that method doesn't allow indexing to or past the tail.
I added a get_tail_ref() method to RingBuffer which returns the
required pointer.
NOTE: There is still a bug in the flush_blocks / Conveyor::on_idle()
code path as it should have cleaned up this block already but it
failed to do so.
Adam Green [Thu, 21 Feb 2013 22:57:13 +0000 (14:57 -0800)]
Add freespace GDB command to .gdbinit
This just reports how much space there is currently unused between the
top of the heap and the top of the stack.
Adam Green [Thu, 21 Feb 2013 22:13:29 +0000 (14:13 -0800)]
Merge remote-tracking branch 'origin/fix/USBSerial-breaks-if-host-doesnt-assert-DTR' into edge
Michael Moon [Thu, 21 Feb 2013 15:45:59 +0000 (02:45 +1100)]
StepperMotor: change minimum step frequency from 1Hz to 20Hz
Michael Moon [Thu, 21 Feb 2013 15:44:02 +0000 (02:44 +1100)]
PID Autotune: move processing to idle context so we can safely printf
Adam Green [Thu, 21 Feb 2013 02:11:52 +0000 (18:11 -0800)]
Remove bitmask from within for loop.
This makes the loop use a uint16_t for the bitmask variable instead of
uint8_t.
Ben Gamari [Thu, 21 Feb 2013 00:00:26 +0000 (16:00 -0800)]
Merge pull request #118 from bgamari/temp-no-irq
TemperatureControl: Move printf out of interrupt context
Arthur Wolf [Wed, 20 Feb 2013 23:15:41 +0000 (00:15 +0100)]
char is bad
Arthur Wolf [Wed, 20 Feb 2013 23:12:01 +0000 (00:12 +0100)]
cleaning up debug gpios
Arthur Wolf [Wed, 20 Feb 2013 22:57:20 +0000 (23:57 +0100)]
Merge branch 'edge' of github.com:arthurwolf/Smoothie into edge
Arthur Wolf [Wed, 20 Feb 2013 22:57:05 +0000 (23:57 +0100)]
Possible problem with the way Conveyor takes and releases blocks that modules did not take, trying a fix
Logxen [Wed, 20 Feb 2013 17:32:19 +0000 (09:32 -0800)]
Merge pull request #134 from wolfmanjm/optimization/fastmath-rostock-solution
Optimization/fastmath rostock solution
Jim Morris [Wed, 20 Feb 2013 11:27:37 +0000 (03:27 -0800)]
add elapsed time and estimated time to progress command
Jim Morris [Wed, 20 Feb 2013 10:12:56 +0000 (02:12 -0800)]
remove timing code
Jim Morris [Wed, 20 Feb 2013 10:05:49 +0000 (02:05 -0800)]
Switch rostock arm solution to use floats, fastmath and sqrtf
Arthur Wolf [Tue, 19 Feb 2013 17:38:21 +0000 (18:38 +0100)]
fixing the printfs in Endstops
Adam Green [Tue, 19 Feb 2013 16:04:45 +0000 (08:04 -0800)]
Switch heap start from __HeapBase to __end__.
I verified that these symbols point to the same address by diffing
the before and after main.bin output files. This change caused no
change in the resulting binary.
The use of the __end__ variable is just more correct since it comes
from the linker script.
Adam Green [Tue, 19 Feb 2013 16:02:17 +0000 (08:02 -0800)]
Keep memory options together in makefile.
Moved the STACK_SIZE option up closer to the HEAP_TAGS and
WRITE_BUFFER_DISABLE options.
Adam Green [Tue, 19 Feb 2013 03:14:20 +0000 (19:14 -0800)]
Fix rules in src/makefile.
I moved the output binaries to /LPC1768 but the rules like upload,
flash, etc were still looking for the binaries in /src/LPC1768.
Adam Green [Tue, 19 Feb 2013 00:45:48 +0000 (16:45 -0800)]
Change /src/LPC1768 to /LPC1768 in .gitignore
Adam Green [Mon, 18 Feb 2013 23:31:27 +0000 (15:31 -0800)]
Output binaries to /LPC1768
Adam Green [Mon, 18 Feb 2013 23:05:37 +0000 (15:05 -0800)]
Update to new build system.
IMPORTANT NOTES!
* Do a "make clean" before pulling down this new build system. This
will cleanup files used by older build system as the new build system
has moved things around a bit.
* Run linux_install, win_install.cmd, or mac_install to update the GNU
toolchain used for the new build. Note that there isn't a gcc4mbed
directory anymore so these scripts are in the root of the Smoothie
project.
* Run "make" from root of the Smoothie project.
* The binaries are now located in the src/LPC1768 folder <--IMPORTANT NOTE
* Make targets such as upload, etc. should still work as I attempted to
port them to this new build system.
Adam Green [Mon, 18 Feb 2013 22:15:33 +0000 (14:15 -0800)]
Move files in preparation for new build system.
Adam Green [Mon, 18 Feb 2013 22:02:29 +0000 (14:02 -0800)]
Merge remote-tracking branch 'origin/edge' into track_allocs
Logxen [Mon, 18 Feb 2013 16:54:03 +0000 (08:54 -0800)]
Merge pull request #128 from logxen/edge
fixed merge error from the rename of Conveyor
Logxen [Mon, 18 Feb 2013 16:52:18 +0000 (08:52 -0800)]
fixed merge error from the rename of Conveyor
Adam Green [Mon, 18 Feb 2013 11:03:27 +0000 (03:03 -0800)]
Merge branch 'edge' into track_allocs
Arthur Wolf [Mon, 18 Feb 2013 10:24:38 +0000 (11:24 +0100)]
removing G90 from main.cpp
Arthur Wolf [Mon, 18 Feb 2013 10:20:42 +0000 (11:20 +0100)]
the new Player module was not created in main.cpp, fixing
Arthur Wolf [Mon, 18 Feb 2013 10:17:25 +0000 (11:17 +0100)]
cleaning up main.cpp
Michael Moon [Mon, 18 Feb 2013 09:44:26 +0000 (20:44 +1100)]
Fire an attach event if we're detached and receive data- apparently some OSes don't assert DTR when a program opens the port
Logxen [Mon, 18 Feb 2013 00:37:18 +0000 (16:37 -0800)]
Merge pull request #125 from arthurwolf/fix/NullStream
Fix/null stream
Michael Moon [Sun, 17 Feb 2013 23:40:02 +0000 (10:40 +1100)]
Gcode: simplify get_int, use get_int to derive cached M and G codes
Michael Moon [Sun, 17 Feb 2013 23:39:03 +0000 (10:39 +1100)]
ButtonPool: silence warning from button_checksum being defined in both Button.h and ButtonPool.h
Michael Moon [Sun, 17 Feb 2013 23:36:16 +0000 (10:36 +1100)]
StreamOutput: implement static NullStream for code clarity; Button, Player: use static NullStream when appropriate
Arthur Wolf [Sun, 17 Feb 2013 20:04:04 +0000 (21:04 +0100)]
add .o to gitignore