Compare commits

...

6106 Commits

Author SHA1 Message Date
Scott Lahteine 515f05093f Version 1.1.2 2017-05-30 17:55:55 -05:00
Scott Lahteine b6d5886dce Patch M24 / M125 for delta 2017-05-30 17:55:55 -05:00
Scott Lahteine 17f8a494bf Merge latest bugfix 2017-05-30 16:03:17 -05:00
Scott Lahteine be17033762 Fix case light menu toggle 2017-05-30 14:03:45 -05:00
Scott Lahteine 89b93058e3 Merge pull request #6887 from christianh17/PR-sanitycheck
enable DEACTIVATE_SERVOS_AFTER_MOVE with switching nozzle
2017-05-30 13:43:39 -05:00
Scott Lahteine 05b66234ae Merge pull request #6895 from thinkyhead/bf_user_commands
Custom user commands menu
2017-05-30 13:40:50 -05:00
Scott Lahteine 84a0a77c59 Merge pull request #6852 from tcm0116/mixing_extruder_lin_advance
Generate error if MIXING_EXTRUDER and LIN_ADVANCE are both enabled
2017-05-30 13:37:51 -05:00
Scott Lahteine d33ae33103 Merge pull request #6897 from thinkyhead/bf_fix_lcd_scrolling
Fix LCD scrolling character counting
2017-05-30 03:45:59 -05:00
Scott Lahteine 266ae8912a Formatting in _draw_heater_status 2017-05-30 03:32:16 -05:00
Scott Lahteine 6b9ca16f36 Patch lcd_print edge limit code 2017-05-30 03:32:15 -05:00
Tannoo 74d6dee920 User Command (Script) Menu
The menu (commands / scripts) is configurable in `Configuration_adv.h`.

- Added conditionals.
- Changed script handling.
- Slimmed and working!
- Added Status message.
- Returning to lcd status screen now!
- Example Configs Updated.
- Cleanups by @thinkyhead
2017-05-30 02:33:57 -05:00
Scott Lahteine d9c8072037 Edit PROPORTIONAL_FONT_RATIO comment 2017-05-30 01:29:39 -05:00
Scott Lahteine bad432add7 Merge pull request #6894 from thinkyhead/bf_lcd_draw_order
Fix LCD to draw after value changes
2017-05-30 00:02:00 -05:00
Scott Lahteine 46b32e4548 Cleanup LCD interface, add lcd_reset_status 2017-05-29 22:16:13 -05:00
Scott Lahteine ca99d67ede Fix UBL "Info screen" menu items 2017-05-29 19:55:26 -05:00
Scott Lahteine 2c7a39bc0e Fix LCD print aborted message 2017-05-29 19:52:01 -05:00
Scott Lahteine 0f1e8c195d Draw on LCD after value has changed 2017-05-29 19:42:30 -05:00
Scott Lahteine 5d6366d4e6 Merge pull request #6893 from thinkyhead/bf_lcd_leveling_fixes
Patch PROBE_MANUALLY + LCD_BED_LEVELING
2017-05-29 18:15:22 -05:00
Scott Lahteine 51587c4b43 Rename Feedrate to Velocity to match prior naming 2017-05-29 17:54:15 -05:00
Scott Lahteine 9677f3f2f5 Patch up LCD Bed Leveling menu 2017-05-29 17:51:11 -05:00
Scott Lahteine fc2eaab7f3 Show home option in level bed menu 2017-05-29 17:51:10 -05:00
Scott Lahteine c6a7adc293 Patch G29 A and Q arguments to bypass setup 2017-05-29 17:51:10 -05:00
Scott Lahteine 4cece2d72e Use NAN for G29 W omitted parameters 2017-05-29 17:51:10 -05:00
Scott Lahteine 2d71569138 Fix spacing in JSON output 2017-05-29 17:51:10 -05:00
Scott Lahteine b2d3c8aedd Have G28 do a refresh of the display 2017-05-29 17:51:10 -05:00
Scott Lahteine 50ab9c2e04 General cleanup of spacing, comments 2017-05-29 15:34:14 -05:00
Scott Lahteine f1e33afda4 Return to Bed Leveling menu when done 2017-05-29 15:31:02 -05:00
Scott Lahteine 78d8c598e1 Fix lcd_synchronize with message 2017-05-29 15:31:02 -05:00
Scott Lahteine eb39d6e3e2 Don't draw progress bar until it has 1% 2017-05-29 15:31:01 -05:00
Scott Lahteine 194f8b2f55 Start at Z=0 in manual probing 2017-05-29 15:31:01 -05:00
Scott Lahteine 6f89db11f0 Allow lcd_setstatusPGM to reset the alert level 2017-05-29 15:31:00 -05:00
Scott Lahteine 25114414cd Merge pull request #6860 from thinkyhead/bf_case_light_toggle
Case light as a toggle menu item
2017-05-28 18:30:55 -05:00
Scott Lahteine 3fe333143c Case light as a toggle menu item 2017-05-28 14:32:07 -05:00
Scott Lahteine d013bddfa8 Merge pull request #6876 from thinkyhead/bf_extend_leveling_menu
Extend the ABL/MBL Bed Leveling menu
2017-05-28 14:19:02 -05:00
Scott Lahteine 58556991da Merge pull request #6877 from thinkyhead/bf_scrolling_status
Scrolling status message (option)
2017-05-28 14:12:36 -05:00
Scott Lahteine 01e7e234c6 Add more options to the Bed Leveling menu 2017-05-28 14:04:28 -05:00
Scott Lahteine 0cbe448edf Split up Control > Motion submenu 2017-05-28 12:52:24 -05:00
Scott Lahteine a3645ec921 Reference op with variable name 2017-05-28 11:33:22 -05:00
Scott Lahteine 71367fd518 Scrolling status message option 2017-05-28 11:26:28 -05:00
Scott Lahteine b0eae68f57 Prevent bed temperature being set too high 2017-05-28 11:11:17 -05:00
Scott Lahteine 493f0b0c62 Fix some compiler warnings 2017-05-28 11:06:33 -05:00
christianh17 f379a326cc enable DEACTIVATE_SERVOS_AFTER_MOVE with switching nozzle
When using switching nozzle it should be possible to disable the servo after move. Do it only if you do not need the servo power to keep the position.
2017-05-28 15:33:28 +02:00
Scott Lahteine 33279a1e02 Code style tweak to gcode.h 2017-05-27 19:47:26 -05:00
Ernesto Martinez ac959b12ee Updates to language_es.h based on latest updates. (#6871)
Spanish language updates
2017-05-27 19:08:39 -05:00
Scott Lahteine 55c700d537 Tweak to gcode.h 2017-05-26 22:11:31 -05:00
Bob-the-Kuhn f0d545b950 Merge pull request #6866 from Bob-the-Kuhn/Parser-fix
Parser fix
2017-05-26 15:12:59 -05:00
Bob-the-Kuhn 868e7db4ae value check was looking at the code 2017-05-26 14:49:42 -05:00
Thomas Moore fb5e0ffe16 Unify M600 and M125 pause features (#6407)
* Unify M600 and M125 pause features
* Cleanup per thinkyhead's comments
* Rename filament_change_menu_response to advanced_pause_menu_response
* Include HAS_BED_PROBE in QUIET_PROBING
* Update gMax example file
* is_idle() is out of scope without the braces
* Convert FT-i3-2020 to Advance Pause names...
* Allow pause even if not printing
2017-05-26 13:01:02 -05:00
Scott Lahteine 73ed0c63b4 Merge pull request #6858 from thinkyhead/bf_leveling_patch
Fixes for PROBE_MANUALLY and LCD_BED_LEVELING
2017-05-26 12:13:43 -05:00
Scott Lahteine b3a97b5013 Patch up LCD level bed menus 2017-05-25 23:53:31 -05:00
Scott Lahteine 78af2b1444 Fix PROBE_MANUALLY via G-code 2017-05-25 23:53:31 -05:00
Scott Lahteine 082da23391 One fewer EOL in M503 output 2017-05-25 23:53:31 -05:00
Scott Lahteine b1a4788593 Add .ino.cpp to .gitignore 2017-05-25 23:28:42 -05:00
Scott Lahteine b15e531464 Fix screen change on character display 2017-05-25 15:29:14 -05:00
Thomas Moore 44e657766e Add incompatibility error to Sanity Check for MIXING_EXTRUDER and LIN_ADVANCE 2017-05-25 08:06:27 -05:00
Scott Lahteine 735405b2a4 Merge pull request #6848 from thinkyhead/bf_scara_M665
Add M665 for SCARA
2017-05-24 20:51:51 -05:00
Scott Lahteine ffa901f373 Merge pull request #6839 from thinkyhead/bf_day_ending_in_y
UBL ultralcd.cpp patches
2017-05-24 17:55:44 -05:00
Scott Lahteine 361cbba113 Use M665 to set SCARA angle offsets 2017-05-24 17:49:24 -05:00
Scott Lahteine 5ed63a5724 Apply const in prepare_kinematic_move_to 2017-05-24 17:49:24 -05:00
Scott Lahteine 5cbe0244c5 Fixes for spindle/laser and SCARA probe bounds 2017-05-24 17:49:23 -05:00
Scott Lahteine 1f52c9f5df Neater Megatronics 3 pins 2017-05-24 17:49:23 -05:00
Scott Lahteine af81cb4cbb Patch for M503 output 2017-05-24 17:49:09 -05:00
Scott Lahteine 0392329cb9 Merge pull request #6634 from thinkyhead/bf_fresh_gcode_parser
New GCode Parser
2017-05-24 16:16:50 -05:00
Scott Lahteine 1d167a6874 Some cleanup, fixes for ultralcd.cpp UBL code
- Free up 30 bytes of SRAM in UBL LCD code
- Fix BUILD_ABS_MESH temperature
- Fix UBL indentation in ultralcd.cpp
- UBL vars lowercase, "convert to positive" sensibly
2017-05-24 01:10:42 -05:00
Scott Lahteine f4028fe088 New GCode Parser - Implementation 2017-05-23 14:15:10 -05:00
Scott Lahteine 002a06c507 New GCode Parser - Configuration 2017-05-23 14:15:07 -05:00
Scott Lahteine 2dfb7c212c Merge pull request #6836 from thinkyhead/bf_fix_ubl_motion
One more mesh_index_to_npos update
2017-05-23 13:21:36 -05:00
Scott Lahteine ad915b667e One more mesh_index_to_npos update
Followup to #6827
2017-05-23 13:02:50 -05:00
Scott Lahteine 4ce228f2a0 Merge pull request #6833 from thinkyhead/bf_move_g7
G42: Fix and extend
2017-05-23 11:49:50 -05:00
Scott Lahteine 2881f0a48d Fix, extend G42 with P (probe) parameter
- Also fix handling of SCARA and misuse of `codenum`.
2017-05-23 04:55:42 -05:00
Scott Lahteine d252d1b6a2 Merge pull request #6831 from thinkyhead/bf_move_g7
Move G7 to G42
2017-05-23 03:02:57 -05:00
Scott Lahteine 6d574883a0 Merge pull request #6830 from thinkyhead/bf_redraw_flags
Use redraw flag for both types of LCD
2017-05-23 03:02:13 -05:00
Brian 82ca6248e2 Move G7 to G42
See: #6777
2017-05-22 23:21:35 -05:00
Scott Lahteine 26ffa558a3 Use redraw flag for both types of LCD 2017-05-22 18:34:54 -05:00
Scott Lahteine 3ff7515527 Merge pull request #6817 from cbusillo/patch-1
missing enable for M605 for duplication mode
2017-05-22 18:07:11 -05:00
Scott Lahteine 62d8e35adc Merge pull request #6827 from thinkyhead/bf_day_ending_in_y
Make UBL a complete singleton
2017-05-22 17:51:03 -05:00
Scott Lahteine 34cfbc90cd Use new attribute macros in more places 2017-05-22 17:38:58 -05:00
Scott Lahteine 85b967657e Embed G26/G29 in ubl class, with enhancements 2017-05-22 17:38:58 -05:00
Scott Lahteine c99bd69889 Apply const float & more 2017-05-22 17:38:36 -05:00
Scott Lahteine ad5638f78c Cleanup some fastio code 2017-05-22 17:38:36 -05:00
Scott Lahteine e271521c39 Single user_canceled function in G26 2017-05-22 17:38:36 -05:00
Scott Lahteine c2ea22da49 Clean up whitespace 2017-05-22 17:38:36 -05:00
Scott Lahteine ceb62fc7e1 Fixes #6828: M428 bug 2017-05-22 17:34:03 -05:00
oldmcg 48f7652143 UBL G29 -P3.1 smart fill (#6823)
* UBL G29 -P3.1 mesh fill with distance-weighted least squares fit.

* Back to original -O0 on G29 for now.
2017-05-22 12:33:50 -05:00
Scott Lahteine 850203fb3a Merge pull request #6816 from thinkyhead/bf_lcd_live_editing
Constrain LCD status message rendering
2017-05-22 11:15:35 -05:00
Roxy-3D 3129260c44 Misc. Clean Up (#6822)
* Misc. Clean Up

Mostly UBL related clean up.
- But fixed a bug in the thermistortables.
- Made G26 more responsive to user aborts.
- Added sanity checks for older name for UBL_MESH_VALIDATION.
- Made G29 P4 able to edit invalidated mesh points
- Restore a reasonable Fade Height for UBL when creating new state information
- Get UBL's Topology Map to look a little bit better
- Make sure the user doesn't see a blank screen when doing Mesh Editing.

* Huh???   GitHub Desktop screwed up!

* get the planner object in scope

* Fix out of scope z_fade_height

* Travis timed out...

I need a change so I can force a new commit and sync.
2017-05-21 22:09:51 -05:00
cbusillo 3b4116e73b missing enable for M605 for duplication mode
I believe gcode_M605 will not be called when using DUAL_NOZZLE_DUPLICATION_MODE without this change.
2017-05-21 13:54:20 -04:00
Scott Lahteine 5e8892d6b5 Show Restore Failsafe item with EEPROM off 2017-05-21 12:52:44 -05:00
Scott Lahteine 76af9ac7c5 tweaks 2017-05-21 12:51:58 -05:00
Scott Lahteine ba5910ab6c Constrain LCD status message rendering 2017-05-21 12:35:16 -05:00
Scott Lahteine a83f6db679 Merge pull request #6815 from MagoKimbra/fix_ultralcd_lcd_contrast
Fix set_lcd_contrast
2017-05-21 12:10:02 -05:00
MagoKimbra 2c309a8f7c Fix set_lcd_contrast 2017-05-21 19:01:44 +02:00
Scott Lahteine 22dbb2117c Merge pull request #6812 from thinkyhead/bf_day_ending_in_y
Cleanup code, organize & document fastio pin mappings
2017-05-21 11:39:04 -05:00
Roxy-3D 364f8fb613 Update Configuration.h files to better names (#6814)
Changed UBL_G26_MESH_EDITING to UBL_G26_MESH_VALIDATION
Added UBL_MESH_EDIT_MOVES_Z to prepare for that change (coming next)
2017-05-21 11:10:22 -05:00
Scott Lahteine d7fda2fe49 Formatting, const in G33 2017-05-21 10:40:05 -05:00
Scott Lahteine 1519b0e7c1 Split up fastio.h, document pin mappings 2017-05-21 10:33:27 -05:00
Scott Lahteine 49599caade General cleanup to utf_mapper.h 2017-05-21 10:33:27 -05:00
Scott Lahteine 02f15f6775 UBL-related cleanup, spacing, standards
Reference: #6804
2017-05-21 10:33:26 -05:00
Scott Lahteine 52e20aeab3 Pins-related cleanup, formatting 2017-05-21 07:18:03 -05:00
Scott Lahteine ea906e4da7 Merge pull request #6810 from thinkyhead/bf_lcd_live_editing
Add "live editing" option to LCD menus
2017-05-21 06:11:52 -05:00
Scott Lahteine c2ca85aeb2 Merge pull request #6811 from thinkyhead/bf_temp_float_stuff
Restore current temp accessors to float
2017-05-21 06:10:31 -05:00
Scott Lahteine 11fc9564c9 Add live editing option to LCD menu 2017-05-21 05:29:46 -05:00
Scott Lahteine 8a0a5cfccc Temp-related cosmetic changes 2017-05-21 04:49:25 -05:00
Scott Lahteine b29dbbd5e4 Use uint16_t for temps 2017-05-21 04:48:53 -05:00
Scott Lahteine ebcd1aaf88 Access hotend/bed temperatures as float 2017-05-21 04:46:31 -05:00
Scott Lahteine 0e1f0efc4b Merge pull request #6809 from thinkyhead/bf_G33_evolves
G33 updates
2017-05-20 20:12:36 -05:00
Scott Lahteine 6ce2b1ff4a G33 evolutionary changes 2017-05-20 19:23:39 -05:00
Scott Lahteine b3a38fd300 Clean up bugfix readme 2017-05-20 19:20:53 -05:00
Scott Lahteine 3c061a9f9a UBL tabs, whitespace, spelling, etc. 2017-05-19 14:16:50 -05:00
Scott Lahteine dc2d215355 Merge pull request #6791 from thinkyhead/bf_ubl_pringle
Disable PROBE_MANUALLY for UBL
2017-05-19 07:50:58 -05:00
Scott Lahteine 75badae2f8 Disable PROBE_MANUALLY for UBL
Plus some other UBL tweaks.
2017-05-19 07:13:18 -05:00
Scott Lahteine 94a4af1d7f Merge pull request #6773 from thinkyhead/bf_lcd_patch_e5
Patch LCD code for 5th extruder
2017-05-18 15:26:55 -05:00
Scott Lahteine 5970fe72d1 Merge pull request #6782 from bgort/azteegtweak
Tweak Azteeg X3 PRO _pins.h so Viki2 will work for those without a case light
2017-05-18 15:26:16 -05:00
Brian 01f452c37c Tweak Azteeg X3 PRO _pins.h so Viki2 will work for those without a case light.
- add comment explaining that the Panucatt Viki2 wiring diagram uses pin 44
2017-05-18 13:00:13 -04:00
bgort 47245675fc Merge pull request #6777 from bgort/g7
Add `G7` gcode command to move between UBL mesh points
2017-05-18 06:44:13 -04:00
Brian e09b4ce4a5 Add checking 2017-05-17 19:46:16 -04:00
Brian 13599a73c7 Add G7 gcode command to move between UBL mesh points
- can be augmented in the future to enable for other leveling systems

Quite simple, but did not want to modify `G1` as the additional checking would slow it down.

Tested & working.
2017-05-17 19:05:36 -04:00
bgort e16743da45 Merge pull request #6775 from bgort/m421fix
Fix recent regressions, &c.
2017-05-17 17:42:35 -04:00
Brian 43c24f0027 Fix recent regressions, &c.
- fix broken `M421` due to less-than-careful optimization
- add HOME_AFTER_DEACTIVATE define to advanced config so not everyone has to rehome after steppers are deactivated
- misc. cleanups (remove unused label, unused variables)
2017-05-17 17:21:46 -04:00
Scott Lahteine 3843a5151a Patch LCD code for 5th extruder, EEPROM reset 2017-05-17 15:33:51 -05:00
Scott Lahteine 6c064bb7d6 Some probe_pt error-handling 2017-05-17 15:33:51 -05:00
bgort aad1acc418 Merge pull request #6772 from bgort/meshstor
Fix broken EEPROM save/load
2017-05-17 12:42:14 -04:00
Brian 3370329751 Fix broken EEPROM save/load 2017-05-17 12:41:27 -04:00
Scott Lahteine f0fe26c411 Ensure Arduino.h and configs are included for serial.cpp 2017-05-17 05:07:35 -05:00
Scott Lahteine ffb5353294 Merge pull request #6738 from thinkyhead/bf_config_crc_rebase
Implement CRC16, develop mesh allocation table
2017-05-17 04:44:00 -05:00
Scott Lahteine e806e6419a Merge pull request #6768 from thinkyhead/rc_spindle_m3_m5
Spindle / Laser support
2017-05-17 04:39:32 -05:00
Scott Lahteine d6f49c6626 Merge pull request #6752 from jdelahayes/bugfix-1.1.x
Update french language
2017-05-17 04:32:28 -05:00
Scott Lahteine 55a87da036 SPINDLE/LASER implementation 2017-05-17 04:26:15 -05:00
Scott Lahteine ffe0e2d19a SPINDLE/LASER pins changes 2017-05-17 04:23:06 -05:00
Scott Lahteine 99c4900a98 SPINDLE/LASER config changes 2017-05-17 04:23:06 -05:00
Scott Lahteine a3abfeac47 Mark strings needing translation 2017-05-17 03:49:33 -05:00
Scott Lahteine 7f4e4b1212 UBL name/state methods 2017-05-17 03:49:32 -05:00
Brian 7852369987 Implement CRC16, develop mesh allocation table
- Add crc16 utility function
 - Implement CRC16 for config store, remove old checksum, increment layout version
 - Move UBL mesh store/load to MarlinSettings; increment UBL_VERSION
 - Begin to lay out MAT structure, prototype functions, etc.
 - Rename ubl.state.eeprom_storage_slot to .storage_slot
 - Misc. optimization
 - Cleanup/standardize/improve some messages

This is a work in progress!
2017-05-17 03:49:19 -05:00
Scott Lahteine 00d358d92d Fix a PROBE_MANUALLY bug in ultralcd.cpp 2017-05-17 03:49:19 -05:00
Scott Lahteine 13a06711ad Add a Travis test for UBL + DELTA 2017-05-17 03:49:19 -05:00
Scott Lahteine 4dc49f8424 Merge pull request #6762 from thinkyhead/bf_noz_vs_ext_servo
Separate SWITCHING_NOZZLE and SWITCHING_EXTRUDER
2017-05-16 19:53:07 -05:00
fixoid c2321b1cdd Separate SWITCHING_NOZZLE and SWITCHING_EXTRUDER 2017-05-16 19:25:17 -05:00
Scott Lahteine 455a24f6ff Merge pull request #6764 from thinkyhead/bf_cleanups_tuesday
Prevent home_all_axes picking up XYZ parameters from command
2017-05-16 19:13:15 -05:00
Scott Lahteine 238fb53617 Patch home_all_axes to ignore G28 XYZ parameters 2017-05-16 16:18:38 -05:00
Scott Lahteine 6b6630e11b Clean up trailing whitespace and tabs 2017-05-16 16:06:18 -05:00
Roxy-3D d30e478f97 Fix incorrectly optimized find_closest_mesh_point_of_type() function (#6761) 2017-05-16 15:24:24 -05:00
oldmcg 5a9e52a3e0 Use COPY_XYZE macro to copy exactly 4 elements (#6758)
Fix undefined DELTA_PROBEABLE_RADIUS for UBL_DELTA
2017-05-16 11:47:51 -05:00
Roxy-3D 8606644343 M48 Fix for Delta Configuration Files & UBL G29 only homes when necessary (#6757)
* Fix M48 for Delta's  There was a scope issue: DELTA_PROBEABLE_RADIUS wasn't getting defined.

* Check if the specified G29 command requires homing
2017-05-16 11:23:50 -05:00
Tannoo 0cd398c25d UBL Menu Updates (#6751)
Things should be pretty stable for a while.   
But it wouldn't surprise me if the Delta people have a need for a few special commands.
2017-05-16 08:45:31 -05:00
Johann Delahayes a5737cba7c Update french language 2017-05-16 12:27:42 +02:00
Scott Lahteine 0fef9a2983 Remove "ubl." prefix from calls within ubl method 2017-05-16 01:19:45 -05:00
Scott Lahteine 14a4257c7b UBL tabs, whitespace, spelling, etc. 2017-05-16 01:19:45 -05:00
Scott Lahteine 56e2e331ed UBL G29: replace 'O' with 'T'
Since we already used 'T' for `G29` Topology Report in the past, and since 'T' is available…
2017-05-16 01:18:41 -05:00
Scott Lahteine 091f94a6bf Fix up M421 and some comments 2017-05-16 01:14:03 -05:00
Scott Lahteine 4ec4ecff1a Reduce find_closest_mesh_point_of_type a little 2017-05-16 01:14:03 -05:00
Scott Lahteine f1a1c6873e Patch lcd_implementation_status_screen compiler warning 2017-05-16 00:59:50 -05:00
moebyusDev 2266c0780d fixed spanish lang
It was missing MSG_FILAMENT_CHANGE_HEAT_2 and MSG_FILAMENT_CHANGE_HEATING_2
2017-05-16 00:35:36 -05:00
oldmcg b213a45efb UBL_DELTA post merge cleanup (#6705)
* UBL_DELTA post merge cleanup:
   fix fade_height, lost during some previous merge
   fix float cx,cy which are not const
   move repeated z_cxcy calc line inside loop
   style fixes and comment fixes/alignment

* Update ubl_motion.cpp

remove unnecessary parentheses

* Update Conditionals_post.h

Change name of define to more accurate meaning:
UBL_GRANULAR_SEGMENTATION_FOR_CARTESIAN
which is not and should not be the default for cartesians with UBL.
2017-05-16 00:30:29 -05:00
Roxy-3D 6f86c46fa6 Fix typo that caused scope issues for DELTA (#6750) 2017-05-15 23:13:45 -05:00
Roxy-3D 1fbcbc05f6 UBL no longer flout's the sacred GCode standard (#6745)
Also clean up ubl_motion.cpp debug info and fix declaration of cx & cy
2017-05-15 16:25:01 -05:00
Scott Lahteine c262ea92e0 Merge pull request #6733 from abusca/Euskera
Updated Basque translation
2017-05-15 02:30:11 -05:00
Scott Lahteine b17bcd56da Merge pull request #6736 from thinkyhead/bf_axis_unhomed
More constraint on axis_unhomed_error
2017-05-14 17:20:04 -05:00
Scott Lahteine 267f77b18b More constraint on axis_unhomed_error 2017-05-14 16:03:02 -05:00
Aaron Busca 645096b87a Updated Basque translation
Updated Basque translation with new strings.
2017-05-14 18:29:50 +02:00
Roxy-3D 40d95a4e23 Update the gMax files to display better with Proportional Fonts (#6727)
Update the gMax files to display better with Proportional Fonts
2017-05-13 16:33:04 -05:00
Roxy-3D c06af63f87 G26's default behaviour ought to be the entire mesh (#6726)
Adding the capability to specify ahead of time how much of the validation pattern to print made it so by default G26 only did one circle and no connecting lines.

It is more natural for the unsophisticated user to just do the entire mesh (bed).   We default the repetition count to GRID_MAX_POINTS+1 to insure we get every last one of them!
2017-05-13 15:53:44 -05:00
Roxy-3D 15040821e0 Setup FolgerTech-i3-2020 files better for the user (#6724)
UltiPanel was enabled, but technically, it is a REPRAP_DISCOUNT_SMART_CONTROLLER
Either configuration works on the machine.  But we want it 'Right'.

Setup the Proportional Font spacing so columns line up nicer on PronterFace and Repetier Host.
2017-05-13 15:14:03 -05:00
Scott Lahteine 2da4398fb5 Merge pull request #6716 from thinkyhead/bf_ubl_prepare_move
Fix prepare_move... for UBL
2017-05-13 06:22:03 -05:00
Scott Lahteine 67c9b1e332 Update M665 comment, fix M665 code_value code. 2017-05-13 05:11:29 -05:00
Scott Lahteine 37399e3cb5 Fix prepare_move_to_destination_cartesian for UBL 2017-05-13 04:13:19 -05:00
Scott Lahteine a7fb55ea6d Use GRID_MAX_POINTS. Some formatting 2017-05-12 06:57:19 -05:00
Scott Lahteine e51b5774db Merge pull request #6699 from mtowara/patch-1
Bugfix PRINTER_EVENT_LEDS
2017-05-12 05:58:25 -05:00
Scott Lahteine 056350d9bf Merge pull request #6656 from FHeilmann/fix_fwretract_pos_z_move
Fix FWRetract with positive z-moves during retracted state
2017-05-12 05:56:08 -05:00
Scott Lahteine 5996c3a907 1.1.1 Readme / Version 2017-05-12 05:37:35 -05:00
Scott Lahteine 0d48fd4b6b Merge pull request #6697 from thinkyhead/bf_wednesday_cleanup
Wednesday-Thursday cleaning up after
2017-05-12 05:33:21 -05:00
Scott Lahteine 0e582bcfb7 Fix #6691 - redundant line in M665 2017-05-12 05:17:38 -05:00
Markus Towara 68ae7c8d7a Bugfix PRINTER_EVENT_LEDS
Extra closing curly bracket terminates while loop early if PRINTER_EVENT_LEDS defined
2017-05-12 12:13:23 +02:00
Scott Lahteine ba29da56e0 Add disclaimer for verboten parameters 2017-05-12 02:34:53 -05:00
Scott Lahteine 0696dda470 Cleanups to UBL_DELTA 2017-05-12 02:34:53 -05:00
Scott Lahteine cbfca29522 M421 tweaks, just to use const 2017-05-12 01:32:34 -05:00
Scott Lahteine 233f824dd6 Define GRID_MAX_POINTS 2017-05-12 01:32:34 -05:00
Scott Lahteine b17e2d3dcd Apply const in Marlin_main.cpp 2017-05-12 01:32:33 -05:00
Scott Lahteine 92fbea2906 Add some GCodes to the header of Marlin_main.cpp 2017-05-12 01:32:33 -05:00
Scott Lahteine 94e90ca26c Tweak M80/M81 descriptions 2017-05-12 01:32:33 -05:00
Scott Lahteine 301958b3e0 Simplify mfdoc, mfpub 2017-05-12 01:32:33 -05:00
Scott Lahteine ee50dfaaf3 Adjust G26 arguments 2017-05-12 01:32:33 -05:00
Scott Lahteine b0ba5cae73 Fix a spelling boo 2017-05-12 01:32:33 -05:00
oldmcg 91841d75c9 UBL_DELTA (#6695)
UBL on Delta's....     Should be close!    Should not affect any Cartesian printer.
2017-05-11 22:33:47 -05:00
bgort 445003dbb8 Merge pull request #6694 from bgort/g29p2b
UBL:  Minor improvement to G29 P2
2017-05-11 20:44:43 -04:00
bgort f01a14e7d0 Merge pull request #6689 from bgort/m421mod
M421:  Add 'adjust closest point' capability
2017-05-11 19:08:42 -04:00
Brian 5a5dba6fc8 UBL: Minor improvement to G29 P2
- allow H code value to override probing height
- minor cleanups
2017-05-11 18:54:34 -04:00
Brian ae676490c9 M421: Add 'adjust closest point' capability
- Split M421 into separate versions for bilinear and ubl
- Fix minor issue in G26
2017-05-11 12:10:38 -04:00
Scott Lahteine 2819228d4f Merge pull request #6681 from thinkyhead/bf_better_mfpub
Better mfpub
2017-05-10 23:05:47 -05:00
Scott Lahteine 9a688d1456 Merge pull request #6682 from thinkyhead/bf_M80_s_arg
"M80 S" to report the state of the PSU pin
2017-05-10 20:29:01 -05:00
Roxy-3D b63e82f309 M421 Mesh Point Offset and misc. UBL clean up (#6685)
* M421 Mesh Point Offset and misc. UBL clean up

Allow M421 to accept an offset as well as absolute value for a specified
mesh point.
And misc. UBL clean up to reduce redundent code.

* Better error checking for M421

* Fix M421 Y index bug

I just noticed....  We've had a Y index bug for who knows how long?
2017-05-10 18:54:10 -05:00
Pablo Ventura 539e0c2f31 "M80 S" to report the state of the PSU pin 2017-05-10 17:58:58 -05:00
Scott Lahteine 60a4ca1182 Better mfpub 2017-05-10 17:45:58 -05:00
bgort df42428281 Merge pull request #6665 from bgort/font
Add proportional font adjustment ratio
2017-05-10 17:30:51 -04:00
Brian 2604742191 Add proportional font adjustment ratio
- update example configs
2017-05-10 17:19:03 -04:00
bgort b3407a371b Merge pull request #6676 from bgort/g26zhop
G26: Add 0.5mm Z-bump between circles to minimize pattern scraping
2017-05-10 17:12:05 -04:00
bgort c33d99c5b2 Merge pull request #6680 from bgort/g26repeat
G26:  Add 'Repeat' Option
2017-05-10 17:11:34 -04:00
Bob-the-Kuhn 7325035aac Merge pull request #6637 from Tannoo/UBL_Menu_System_1.1
UBL Menu System 1.1
2017-05-10 15:54:48 -05:00
Brian f7a201b0d0 G26: Add 'Repeat' Option
- Allows for specifying number of points to print/validate, using 'R' code like with G29 P4 Rx
- Moved the code for Random to 'M' so we could be consistent with G29 P4
- G26 instructions indenting/cleanup
2017-05-10 16:52:08 -04:00
Brian 9c5957fc77 G26: Add 0.5mm Z-bump between circles to minimize pattern scraping 2017-05-10 16:11:59 -04:00
bgort bbb2b86c34 Merge pull request #6672 from bgort/ublmotion
UBL Cleanup/Bugfix
2017-05-10 14:23:07 -04:00
Brian 4da14b14f4 UBL Cleanup/Bugfix
- Fix bug in ubl_line_to_destination
- Improve/fix output of some ubl.h functions
2017-05-10 13:56:17 -04:00
Tannoo 66db6c3acc UBL Menu System 1.1
/**
     * UBL System submenu
     *
     *  Prepare
     * - Unified Bed Leveling
     *   - Activate UBL
     *   - Deactivate UBL
     *   - Mesh Storage
     *       Memory Slot:
     *       Load Bed Mesh
     *       Save Bed Mesh
     *   - Output Map
     *       Map Type:
     *       Output Bed Mesh Host / Output Bed Mesh CSV
     *   - UBL Tools
     *     - Build Mesh
     *         Build PLA Mesh
     *         Build ABS Mesh
     *       - Build Custom Mesh
     *           Hotend Temp:
     *           Bed Temp:
     *           Build Custom Mesh
     *         Info Screen
     *       - Build Cold Mesh
     *       - Fill-in Mesh
     *           Fill-in Mesh
     *           Smart Fill-in
     *           Manual Fill-in
     *           Info Screen
     *         Continue Bed Mesh
     *         Invalidate All
     *         Invalidate Closest
     *     - Validate Mesh
     *         PLA Mesh Validation
     *         ABS Mesh Validation
     *       - Custom Mesh Validation
     *           Hotend Temp:
     *           Bed Temp:
     *           Validate Mesh
     *         Info Screen
     *     - Edit Mesh
     *         Fine Tune All
     *         Fine Tune Closest
     *       - Adjust Mesh Height
     *           Height Amount:
     *           Adjust Mesh Height
     *         Info Screen
     *     - Mesh Leveling
     *         3-Point Mesh Leveling
     *       - Grid Mesh Leveling
     *           Side points:
     *           Level Mesh
     *         Info Screen
     *   - Output UBL Info
     */
2017-05-10 12:14:43 -05:00
bgort efd93169e5 Merge pull request #6668 from bgort/pio3
PIO Cleanup
2017-05-10 07:25:19 -04:00
Brian f1cccd65c2 platformio.ini env_default=xxxxx has to match one of the labels in the env:xxxxx, otherwise nothing happens when you pio run 2017-05-10 07:11:13 -04:00
bgort 192db2ab1b Merge pull request #6666 from bgort/M100fix
Fix compiler complaint related to M100
2017-05-10 07:03:59 -04:00
Brian 3b0127cf8e Fix compiler complaint related to M100 2017-05-09 21:45:44 -04:00
Scott Lahteine 59ab971f81 Merge pull request #6658 from thinkyhead/bf_cleanup_tuesday
Patch spacing, const, .gitignore
2017-05-09 16:22:48 -05:00
Scott Lahteine 11104f177b Apply const in BABYSTEPPING 2017-05-09 12:37:23 -05:00
Scott Lahteine 081bf1f879 Patch #else / #endif comments 2017-05-09 12:37:23 -05:00
Scott Lahteine 9a364990d9 Update .gitignore 2017-05-09 12:37:22 -05:00
Scott Lahteine e1e043d0d0 Merge pull request #6657 from thinkyhead/bf_cleanup_tuesday
Fix M100 compiler warnings, general patches
2017-05-09 12:05:01 -05:00
Scott Lahteine a9487c9443 Reduce redundancy in BLTOUCH conditionals 2017-05-09 11:52:24 -05:00
Scott Lahteine 8d961b51cc Eliminate M100 compiler warnings? 2017-05-09 11:32:15 -05:00
Scott Lahteine fe1fce5f56 DevIoT patch 2 2017-05-09 11:28:39 -05:00
bgort efb9ce24d9 Merge pull request #6645 from tcm0116/bltouch_config
Automatically define Z_MIN_PROBE_ENDSTOP_INVERTING for BLTouch
2017-05-09 09:49:16 -04:00
bgort e2f07917ab Merge pull request #6644 from tcm0116/bltouch_menu
Move BLTouch LCD menu from Main to Main/Control
2017-05-09 09:49:02 -04:00
Florian Heilmann fe96376a73 Fix FWRetract with positive z-moves during retracted state 2017-05-09 13:54:57 +02:00
Scott Lahteine 47cae2929f Patch platformio.ini to fix build error in DevIoT
For compatibility with DevIoT, until that can be solved.
2017-05-08 20:27:14 -05:00
Scott Lahteine 5402eaf9bd Merge pull request #6647 from thinkyhead/bf_pwm_cleanup
Rename software PWM variables for clarity
2017-05-08 18:53:23 -05:00
Scott Lahteine 911a87e006 Disable SCARA feedrate scaling by default 2017-05-08 14:41:03 -05:00
Scott Lahteine f04d1096d4 Link to users in README.md 2017-05-08 14:23:01 -05:00
Scott Lahteine 71396f77d3 Cleanups following recent commits 2017-05-08 14:23:01 -05:00
Scott Lahteine dca48f0e63 Move platformio.ini back to Marlin folder - it works there 2017-05-08 14:23:01 -05:00
Scott Lahteine a6dafb058e Small reduction in error code size 2017-05-08 13:58:09 -05:00
Scott Lahteine a1e04942a2 Cleanup to software PWM variables 2017-05-08 13:51:45 -05:00
Thomas Moore a20d0794e6 Automatically define Z_MIN_PROBE_ENDSTOP_INVERTING for BLTouch 2017-05-08 16:28:44 +00:00
Thomas Moore 3279337f47 Move BLTouch LCD menu from Main to Main/Control 2017-05-08 15:21:01 +00:00
bgort 83b6bc8e05 Merge pull request #6638 from bgort/silentprobing2
Cleanup previous implementation of new quiet probing
2017-05-08 10:21:36 -04:00
Brian 6cb0fa4128 Cleanup previous implementation of new quiet probing
Saves a few lines of code.
2017-05-08 08:13:46 -04:00
bgort 4b7f8ad9c6 Merge pull request #6610 from bgort/pio-improvements2
PlatformIO-related changes
2017-05-08 07:52:42 -04:00
Scott Lahteine bb7e3f1d07 Patch configuration temp units 2017-05-07 23:09:40 -05:00
Scott Lahteine c9bfe7004c Adjust spacing of "spaces" 2017-05-07 23:09:40 -05:00
Scott Lahteine fa9e54146a Patch redundant lcd settings 2017-05-07 23:09:40 -05:00
Scott Lahteine 0079166388 Spacing adjustment, ubl_G29 2017-05-07 23:09:40 -05:00
Scott Lahteine 232f5d235d Patch mfqp for use directly with MarlinDocumentation 2017-05-07 23:09:40 -05:00
Scott Lahteine 41cf1c9e6a Note 5 extruders in config comments 2017-05-07 23:09:40 -05:00
Scott Lahteine 2e61c1fb37 Patch missing const in temp_abs 2017-05-07 23:09:39 -05:00
Brian a68084f417 Improve BLTOUCH_HEATERS_OFF functionality
- rename to PROBING_HEATERS_OFF
 - move heater pausing functionality into thermalManager
   - add variables, pause(), ispaused(), other functions
 - add fan pausing functionality -> PROBING_FANS_OFF
 - add probing_pause() wrapper
 - move pausing into do_homing_move() and do_probe_move() to minimize quiet time and so other probe types can benefit
 - example configs
2017-05-07 23:09:39 -05:00
Scott Lahteine d5346a0689 Adjust spacing in LSF 2017-05-07 23:09:39 -05:00
Roxy-3D c45b668142 More misc UBL fixes and update gMax examples (#6632)
I think I forgot to Sync before I committed last time.   Some UBL
changes did not stick.

Also, update the gMax configuaration.h file so other than unique numbers
and settings, it exactly matches the default configuration.h file.
2017-05-07 23:09:39 -05:00
Roxy-3D ad0e5928f5 misc. UBL fixes (#6631)
* Restore LSF functionality

Some of the typo's persisted...   Hopefully this gets them all fixed.

* Restore user's expectations of how G28 should behave

* Allow Nozzle size control with ornery host programs
2017-05-07 23:09:39 -05:00
lrpirlet 06ca56a13c G29 P1 stops reporting Invalid location with this patch 2017-05-07 23:09:39 -05:00
Scott Lahteine fbd021a756 Support temperature units in M503 2017-05-07 23:09:38 -05:00
bgort d99794f11d Various improvements - mostly UBL-related (#6607)
UBL Clean up.
2017-05-07 23:09:38 -05:00
Scott Lahteine c0f1052efb Fix mfrb and mfpub 2017-05-07 23:09:38 -05:00
Scott Lahteine bf7ecc761f Edit configuration comments 2017-05-07 23:09:38 -05:00
Scott Lahteine d0480c15ef Tweak git helper scripts 2017-05-07 23:09:38 -05:00
Scott Lahteine 771f42744a Tweak command index increment 2017-05-07 23:09:38 -05:00
Scott Lahteine 3a44157ee8 Minor fix in K8200 readme 2017-05-07 23:09:38 -05:00
Max Matveev a666ff1255 Fixed USE_CONTROLLER_FAN #define usage 2017-05-07 23:09:37 -05:00
bgort 264f0960f7 fix error in M105 output -- use SERIAL_PROTOCOL for ints instead of SERIAL_PROTOCOL_F (#6584)
also removed wayward 'address of' ampersand in setTargetHotend and setTargetBed parameters
2017-05-07 23:09:37 -05:00
Scott Lahteine 03f94a7a18 1.1.0 ReadMe, Version, helper scripts 2017-05-07 23:09:37 -05:00
Scott Lahteine 232e8682d1 Merge pull request #6633 from thinkyhead/bf_temp_units
Minor patches and cleanup
2017-05-07 21:56:52 -05:00
Scott Lahteine 56ca47ab9d Patch configuration temp units 2017-05-07 21:32:01 -05:00
Scott Lahteine 421dd62800 Adjust spacing of "spaces" 2017-05-07 21:28:54 -05:00
Scott Lahteine 26dba44cd3 Patch redundant lcd settings 2017-05-07 21:28:54 -05:00
Scott Lahteine 34b5041576 Spacing adjustment, ubl_G29 2017-05-07 21:28:54 -05:00
Scott Lahteine 6c2e6ea38e Patch mfqp for use directly with MarlinDocumentation 2017-05-07 21:28:54 -05:00
Scott Lahteine 1c4ed8b106 Note 5 extruders in config comments 2017-05-07 21:28:54 -05:00
Scott Lahteine 6e4a5cc8c6 Patch missing const in temp_abs 2017-05-07 21:13:44 -05:00
bgort d35e2fda10 Merge pull request #6622 from bgort/silentprobing
Improve BLTOUCH_HEATERS_OFF functionality
2017-05-07 21:33:44 -04:00
Scott Lahteine 6ed52fb765 Adjust spacing in LSF 2017-05-07 19:11:52 -05:00
Roxy-3D 110afff415 More misc UBL fixes and update gMax examples (#6632)
I think I forgot to Sync before I committed last time.   Some UBL
changes did not stick.

Also, update the gMax configuaration.h file so other than unique numbers
and settings, it exactly matches the default configuration.h file.
2017-05-07 19:02:24 -05:00
Roxy-3D d92fa40c62 misc. UBL fixes (#6631)
* Restore LSF functionality

Some of the typo's persisted...   Hopefully this gets them all fixed.

* Restore user's expectations of how G28 should behave

* Allow Nozzle size control with ornery host programs
2017-05-07 18:23:48 -05:00
Brian faa270071d Improve BLTOUCH_HEATERS_OFF functionality
- rename to PROBING_HEATERS_OFF
 - move heater pausing functionality into thermalManager
   - add variables, pause(), ispaused(), other functions
 - add fan pausing functionality -> PROBING_FANS_OFF
 - add probing_pause() wrapper
 - move pausing into do_homing_move() and do_probe_move() to minimize quiet time and so other probe types can benefit
 - example configs
2017-05-07 16:22:08 -04:00
bgort 787fdc95bb Merge pull request #6623 from lrpirlet/AllowUBLG29ToWork
G29 P1 stops reporting Invalid location with this patch
2017-05-07 09:42:42 -04:00
lrpirlet d66e9efac5 G29 P1 stops reporting Invalid location with this patch 2017-05-07 15:07:26 +02:00
Scott Lahteine 8908b15471 Merge pull request #6614 from thinkyhead/bf_temp_units
Support temperature units in M503
2017-05-06 20:41:04 -05:00
Scott Lahteine ce507deb9f Support temperature units in M503 2017-05-06 20:24:51 -05:00
bgort a59066bca9 Various improvements - mostly UBL-related (#6607)
UBL Clean up.
2017-05-06 18:59:16 -05:00
Brian 0446dd3ad8 PlatformIO-related changes
- move platformio.ini out of source directory to be more consistent with 'normal' PlatformIO usage
  - facilitates IDE integration
- add related .gitignores
2017-05-06 06:22:10 -04:00
Scott Lahteine bef9791ea3 Fix mfrb and mfpub 2017-05-05 14:32:16 -05:00
Scott Lahteine 66bedc1a24 Merge pull request #6600 from thinkyhead/bugfix_first_fixes
Update git helper scripts, config comments
2017-05-05 13:48:16 -05:00
Scott Lahteine 77769e284f Edit configuration comments 2017-05-05 13:32:31 -05:00
Scott Lahteine d14b068147 Tweak git helper scripts 2017-05-05 13:32:31 -05:00
Scott Lahteine 6876e79d42 Tweak command index increment 2017-05-05 13:32:31 -05:00
Scott Lahteine 7fcb5c1424 Minor fix in K8200 readme 2017-05-05 11:25:11 -05:00
Scott Lahteine 0cc4b08b93 Merge pull request #6587 from zlowred/bugfix-1.1.x
Fixed USE_CONTROLLER_FAN #define usage
2017-05-05 01:02:09 -05:00
Max Matveev 267f3a03d9 Fixed USE_CONTROLLER_FAN #define usage 2017-05-04 23:38:29 +02:00
bgort ae7c602031 fix error in M105 output -- use SERIAL_PROTOCOL for ints instead of SERIAL_PROTOCOL_F (#6584)
also removed wayward 'address of' ampersand in setTargetHotend and setTargetBed parameters
2017-05-04 16:09:45 -05:00
Scott Lahteine 3cd9af2409 bugfix-1.1.x ReadMe, Version, helper scripts 2017-05-04 07:17:10 -05:00
Scott Lahteine c095ee9ce9 Readme Version 1.1.0 2017-05-04 07:17:10 -05:00
Scott Lahteine 28e597f945 Merge pull request #6570 from FHeilmann/patch-2
Fix broken fwretract recovery extruder feedrate
2017-05-04 07:15:19 -05:00
Florian Heilmann 15268770f5 Fix broken fwretract recovery extruder feedrate
When both lowering and recovery are performed using the same "prepare_move_to_destination()" the extruder recovery feedrate ends up being ignored and, instead, is only capped by either the maximum e-speed or the time it takes to perform the z-lowering. 
Performing the two moves separately from each other ensures a correct recovery feedrate.
2017-05-04 11:34:28 +02:00
Scott Lahteine 58210c3a19 Merge pull request #6568 from thinkyhead/rc_bilinear_extension
Add EXTRAPOLATE_BEYOND_GRID option to bilinear leveling
2017-05-04 00:46:05 -05:00
Scott Lahteine da08e11acd Add EXTRAPOLATE_BEYOND_GRID option to bilinear leveling 2017-05-04 00:19:07 -05:00
Scott Lahteine 6834e36871 Merge pull request #6567 from thinkyhead/rc_sdcard_stop
Shutdown heaters, autotemp on SD Cancel
2017-05-03 23:54:29 -05:00
Scott Lahteine 399efd66ed Click to resume 2017-05-03 22:26:06 -05:00
Scott Lahteine 1196e3ca59 SDCard print completion can use "M0" 2017-05-03 22:24:03 -05:00
Scott Lahteine 6854f08d22 Shut down autotemp in disable_all_heaters 2017-05-03 20:54:26 -05:00
Thomas Moore acec237092 Shutdown heaters and fan after canceling a print from the SD card 2017-05-03 20:43:09 -05:00
Scott Lahteine 11b6a3cbb6 Fix regression in least_squares_fit.cpp 2017-05-03 19:21:44 -05:00
Scott Lahteine e1b85ff67b Merge pull request #6559 from thinkyhead/rc_more_optimal
Compact smart_fill_mesh slightly
2017-05-03 19:07:36 -05:00
Scott Lahteine 9890141f7b M100 tweak 2017-05-03 17:28:09 -05:00
Scott Lahteine 2658cc707a Treat temperature as integer, when possible 2017-05-03 17:27:25 -05:00
Scott Lahteine 1b2c7ec20a Make G26 compatible with inches and thermal unit modes 2017-05-03 17:12:48 -05:00
Scott Lahteine 241bdffe65 Dress up Bilinear Leveling code 2017-05-03 17:12:35 -05:00
Scott Lahteine 67ecf06cc4 Patch issue in gcode_M900
Noted in #6550
2017-05-03 15:26:00 -05:00
Scott Lahteine de5e485ed7 Explicit upward angle solution 2017-05-03 01:19:44 -05:00
Scott Lahteine ecdf68735f Compact smart_fill_mesh slightly 2017-05-03 01:06:58 -05:00
Scott Lahteine 628391304f Merge pull request #6552 from thinkyhead/rc_more_ubl_cleanup
Further cleanup of UBL
2017-05-02 22:46:04 -05:00
Scott Lahteine 902fe76db9 Merge pull request #6556 from thinkyhead/rc_use_controller_fan
Implement USE_CONTROLLER_FAN as a feature
2017-05-02 22:43:26 -05:00
Scott Lahteine 7ba7474a73 Drop extra parens from address-of operator 2017-05-02 22:22:23 -05:00
Scott Lahteine 0bf5add075 Use UBL_MESH_(MIN|MAX)_[XY] for G29 move limits 2017-05-02 22:22:23 -05:00
Scott Lahteine b8ba3b7647 Use 'sq' macro where possible 2017-05-02 22:22:23 -05:00
Scott Lahteine 66eba3346b Remove G29 lcd control debugging 2017-05-02 22:22:23 -05:00
Scott Lahteine 3517154135 Reduce code size, fix bug in smart_fill_mesh 2017-05-02 22:22:23 -05:00
Scott Lahteine c4e34adcf1 Apply formatting, coding standards to UBL 2017-05-02 22:22:23 -05:00
Scott Lahteine f4239e62b1 Merge pull request #6557 from thinkyhead/rc_hotend_status_item
Keep refreshing LCD if hotend status is on-screen
2017-05-02 22:04:21 -05:00
Scott Lahteine fc857c5b78 Merge pull request #6549 from thinkyhead/rc_bltouch_refix
Fix BLTOUCH_HEATERS_OFF bug
2017-05-02 21:53:09 -05:00
Thomas Moore b39f634252 Continuously update LCD when hotend status is displayed in Filament Change screens 2017-05-02 21:49:40 -05:00
Scott Lahteine 2c13922c46 Implement USE_CONTROLLER_FAN as a feature 2017-05-02 20:18:52 -05:00
Scott Lahteine 492bc536bf Modify debug methods to take PSTR 2017-05-02 17:53:40 -05:00
Bob-the-Kuhn e5a27d9f36 G29 P2 & P4 bug fixes & improvements 2017-05-02 17:53:40 -05:00
Scott Lahteine b93be716cf Remove trailing whitespace 2017-05-02 17:53:40 -05:00
Scott Lahteine 76eca9732d Fix mis-named language string define in Dutch 2017-05-02 16:08:09 -05:00
Scott Lahteine 806f670092 Merge pull request #6511 from Bob-the-Kuhn/UBL--G26-minor-improvements
UBL: G26 minor improvements
2017-05-02 16:06:22 -05:00
Scott Lahteine 0803c9d997 Merge pull request #6533 from thinkyhead/rc_autocal_patches
General cleanup of G33
2017-05-02 16:01:02 -05:00
Scott Lahteine 46a5cab6fb Merge pull request #6548 from thinkyhead/rc_fix_dual_z_endstops
Fix Dual-Z endstop conditional test
2017-05-02 16:00:49 -05:00
Brian ff5fed137f Fix BLTOUCH_HEATERS_OFF bug 2017-05-02 15:53:52 -05:00
Scott Lahteine ca1dd739a3 Organize ubl.h defines by the files they serve 2017-05-02 15:47:06 -05:00
Scott Lahteine 0449f69179 Cleanup patch to recent merge 2017-05-02 15:47:06 -05:00
LVD-AC da2abad636 Various cleanups of G33
- update comment section
- redefined P5 grid
- minor clean to probe radius routine
- updated EEPROM version to V37 according remark in #6517
2017-05-02 15:47:06 -05:00
Bob-the-Kuhn 7ce613db0a Fix Conditionals test for endstop plug used by Z2 or probe. 2017-05-02 15:41:47 -05:00
Scott Lahteine ef750ae86b Towards supporting Z2 in Endstops::report_state 2017-05-02 15:39:32 -05:00
Scott Lahteine c03c623951 Sanity-check Z2 endstop assigned to a nonexistent pin. 2017-05-02 15:39:00 -05:00
Scott Lahteine 70f31b6c76 Throw an error if no E stepper is free for X2, Y2, Z2 2017-05-02 15:13:47 -05:00
Scott Lahteine ac69eca586 Merge pull request #6538 from bgort/ubl_gridlbls
Fix, cleanup, prettify `G29 O` output
2017-05-02 14:09:18 -05:00
Scott Lahteine 99b11db1a1 Merge pull request #6537 from thinkyhead/rc_cleanup_sunday
Various leveling-related patches
2017-05-02 00:59:59 -05:00
Roxy-3D 41e63bbb7c Fix Horizontal and Vertical UBL optimization bug. (#6540)
* Fix Horizontal and Vertical optimization bug.

And drastically reduce the debug code foot print....

* Yeah Baby!

The debug print is going A - OK !
2017-05-01 23:52:33 -05:00
Scott Lahteine e79b335367 Patches for leveling reactivation in G28 / M48 2017-05-01 17:38:57 -05:00
Brian 92e22c3bf2 Fix, cleanup, prettify G29 O output 2017-05-01 18:19:57 -04:00
Scott Lahteine 7d5cd7e0d7 Tweak set_bed_leveling_enabled 2017-05-01 16:46:52 -05:00
Scott Lahteine ed81e9b3d3 Adjust leveling conditionals 2017-05-01 16:46:48 -05:00
Scott Lahteine a64e5659ce Clean up G26 external references, private vars 2017-05-01 15:17:52 -05:00
Scott Lahteine 2887c20788 Add a function to home all axes (i.e., gcode_G28) 2017-05-01 15:03:37 -05:00
Scott Lahteine 8f895d5e01 Merge pull request #6530 from thinkyhead/rc_cleanups_2
Fixes for DUAL_NOZZLE_DUPLICATION_MODE
2017-05-01 12:34:11 -05:00
Scott Lahteine 8002672938 Fixes for DUAL_NOZZLE_DUPLICATION_MODE 2017-05-01 12:20:25 -05:00
Scott Lahteine f69acde966 Merge pull request #6528 from MarlinFirmware/revert-6416-negative-mesh-fix
Revert "Fix for Meshpositions if printer has negative endstop positions"
2017-05-01 11:51:13 -05:00
Scott Lahteine 8bd63aafb9 Merge pull request #6527 from thinkyhead/rc_cleanups_2
Patch DELTA_HEIGHT, BLTOUCH init
2017-05-01 11:28:43 -05:00
Scott Lahteine 4803a4322e Revert "Fix for Meshpositions if printer has negative endstop positions" 2017-05-01 11:25:07 -05:00
Scott Lahteine 4f74c416a4 Patch for BLTOUCH_HEATERS_OFF 2017-05-01 11:13:40 -05:00
Scott Lahteine 1823a6ea29 Patch for missing DELTA_HEIGHT 2017-05-01 11:05:35 -05:00
Scott Lahteine 984c210dec Merge pull request #6519 from thinkyhead/rc_cleanups_2
Various fixes for compiler warnings
2017-05-01 02:46:34 -05:00
Scott Lahteine d814e468d2 Fix set_heaters_for_bltouch and usage
- Only call `set_heaters_for_bltouch` when actually deploying/stowing
- Clear `next_emi_protection` when re-enabling heaters
2017-05-01 02:27:52 -05:00
Brian 4e1448e75a Various fixes for compiler warnings
add BLTouch-related messages in english and (rusty) french;
add missing endstops.h in ultralcd.cpp;
fix misc. compiler warnings;
fix lsf_reset - ZERO macro can't handle a pointer as it would only memset the size of the pointer, not the size of the entire struct
2017-05-01 02:12:40 -05:00
Scott Lahteine fc9919b749 Merge pull request #6515 from thinkyhead/rc_cleanup_sunday
Some minor cleanups to code formatting
2017-04-30 22:58:16 -05:00
Scott Lahteine c12bc51a59 cardreader.cpp spacing tweak 2017-04-30 22:27:47 -05:00
Scott Lahteine 46b714a52f Cleanup spacing in pinsDebug.h 2017-04-30 22:27:26 -05:00
Scott Lahteine 88141ca717 Remove things that aren't pins from pinsDebug_list.h 2017-04-30 22:24:51 -05:00
Scott Lahteine ff35b11d08 Resolve compiler complaint about memset volatile * 2017-04-30 22:24:03 -05:00
Scott Lahteine ff95a9850a Merge pull request #6516 from thinkyhead/rc_meaningful_branch_name
Need to define this for Rigidboard V2
2017-04-30 22:17:41 -05:00
Scott Lahteine 0b421e97c9 Rename some (unused) OMCA pins 2017-04-30 22:16:44 -05:00
Scott Lahteine c2c9f01c8e Patch newly-introduced bug in IS_Z2_OR_PROBE 2017-04-30 20:17:10 -05:00
Scott Lahteine 819df5e06d Cleanups to pins debugging 2017-04-30 20:17:10 -05:00
Scott Lahteine 42824b0e1f Use new serial spacing function to save PROGMEM 2017-04-30 20:14:42 -05:00
Scott Lahteine cd72901fb7 Cleanups to UBL code 2017-04-30 20:14:42 -05:00
Bob-the-Kuhn ce87c7803e implement G26 changes per review 2017-04-30 19:05:25 -05:00
jaysonkelly 769817ce5e Need to define this for Rigidboard V2
Motor current defaults need to be defined for Rigidboard
2017-04-30 19:04:27 -05:00
Scott Lahteine 39c6c5621b Merge pull request #6416 from SkyNet3D/negative-mesh-fix
Fix for Meshpositions if printer has negative endstop positions
2017-04-30 17:38:41 -05:00
Scott Lahteine 671a44b8aa Merge pull request #6410 from teemuatlut/LVD-Delta
Delta auto-calibration updates
2017-04-30 16:39:51 -05:00
Scott Lahteine 5d5c9a040a Merge pull request #6509 from thinkyhead/rc_config_patches
Configuration cleanup
2017-04-30 16:10:27 -05:00
Scott Lahteine d480b6f75a Enable E1 stepper for DUAL_NOZZLE_DUPLICATION_MODE 2017-04-30 16:01:01 -05:00
Bob-the-Kuhn dcde202157 Add startup notice & update host temperatures while waiting
Right now G26 doesn't send a notice to the host that it's running.  It's
not until the heaters are at temperature that you know for sure if it's
running or not.

Added host temperature prints so that someone watching the host
interface will see the temperatures change during the warm up period.
Updates are sent every 5 seconds.
2017-04-30 15:51:58 -05:00
Scott Lahteine 54751e8557 Put DISTINCT_E_FACTORS adjacent to the affected settings 2017-04-30 15:30:31 -05:00
Scott Lahteine 0dbe4b3e54 Edit configurations to reduce verbosity, arrange logically 2017-04-30 15:30:31 -05:00
Scott Lahteine 0750933bc6 Merge pull request #6490 from Bob-the-Kuhn/Missing-X-stop
Endstop not enabled if pin is zero
2017-04-30 15:09:36 -05:00
bgort 5ace3699b1 Output (commented) coordinates on G29 S-1; helps identify the x/y points that correspond with i/j coordinates, which eases manual tweaking of z values (#6507) 2017-04-30 14:59:34 -05:00
Scott Lahteine d7d4378481 Remove inaccurate version description 2017-04-30 14:57:19 -05:00
Scott Lahteine f169c04604 Merge pull request #6491 from thinkyhead/rc_cleanup_wednesday
Various cleanups for recent merges
2017-04-30 14:56:48 -05:00
Scott Lahteine 6d63255ddc Merge pull request #6508 from bgort/pio_improvements
PlatformIO-related improvement
2017-04-30 14:53:22 -05:00
LVD-AC cafc48dff8 little oops 2017-04-30 22:17:49 +03:00
Brian 627730948d Add U8glib as a dependency to platformio.ini for those who use PlatformIO; this makes compiling even easier as u8glib will be downloaded and included automatically.
Also added the new .pio-related directory to .gitignore, and a few ignores for those who use cmake.
2017-04-30 15:13:51 -04:00
bgort 5974d8e168 change G26 default nozzle size to 0.4, consistent with instructions (#6506) 2017-04-30 13:23:46 -05:00
LVD-AC 471a321624 leaner code for probe routine 2017-04-30 19:15:16 +03:00
bgort 3c0d5ba0a1 allow idle() to be called - fixes sometimes crash/hang in G29 I; (#6505) 2017-04-30 10:22:31 -05:00
Roxy-3D 2509587b5a Correct over optimization of pre-initialized variables (#6500)
* Correct over optimization of pre-initialized variables

NEAR_ZERO() works most of the time...  But it leaves corner cases
uncovered.  We need to explicitly check if these variables are +/-
infinity.

* Correct over optimization of pre-initialized variables
2017-04-29 22:01:29 -05:00
LVD-AC 585c00a728 Proposed changes
This is what I did yesterday:

- basicly gave the tests more comprehensive names; put all the
declarations at the top; got rid of the magic negative C-value (renamed
to P + A, O, T)

- "cos(RADIANS(180 + 30 * axis)) * (1 + circles * 0.1 * ((zig_zag) ? 1 :
-1)) * delta_calibration_radius" compiles wrong is zig_zag statement is
without brackets

- DELTA_TOWER_ANGLE_TRIM reset to 3 values (the calcs use the 3th value
to normalize will not compile otherwise)

-Wrote 3 dummies to keep EEPROM lenght the same

-Reset the configs to the 'original' with autocal + menu disabled (but
can be enabled of course)
2017-04-29 18:53:14 +03:00
Scott Lahteine 29fa241617 Initial patches to G33 2017-04-29 15:29:49 +03:00
Scott Lahteine 12ce051b55 Add a function to output spaces to serial 2017-04-29 15:29:49 +03:00
Scott Lahteine 42f4c53254 Starting on G33 rewrite 2017-04-29 15:29:49 +03:00
Scott Lahteine baf3b91460 DELTA_TOWER_ANGLE_TRIM only needs AB 2017-04-29 15:29:49 +03:00
Scott Lahteine 6424068412 Merge pull request #6495 from emartinez167/Spanish-language-changes
Last three Spanish language strings
2017-04-29 05:43:04 -05:00
emartinez167 27cd165adf Last three Spanish language strings
Updates as per @thinkyhead request.
2017-04-29 11:33:30 +08:00
Scott Lahteine 2cc9774f34 Apply bltouch_menu
As proffered in #6252
2017-04-28 18:43:03 -05:00
Scott Lahteine 1a111180de Clean up set_heaters_for_bltouch 2017-04-28 18:32:39 -05:00
Scott Lahteine 7db805930a Cleanup configurations 2017-04-28 18:32:39 -05:00
Scott Lahteine 8bf3a3fcdb Remove inaccurate comments from ubl.h 2017-04-28 18:32:38 -05:00
Scott Lahteine 47557d5a19 Fix up formatting in ubl.h 2017-04-28 18:32:38 -05:00
Scott Lahteine 0a8e09c723 Clean up excess whitespace, comment formatting 2017-04-28 18:32:38 -05:00
Scott Lahteine a35c681453 Clean up least_squares_fit 2017-04-28 17:33:28 -05:00
Bob-the-Kuhn 40089249c3 add PIN_EXISTS to HAS_xyz_MIN macro 2017-04-28 16:47:59 -05:00
Scott Lahteine 8020069371 Apply coding standards for indentation 2017-04-28 15:43:06 -05:00
Scott Lahteine dabca83742 Merge pull request #6437 from Kaibob2/patch-1
Update language_de.h
2017-04-28 14:47:47 -05:00
Kai 3d0a4c4ea9 Update language_de.h 2017-04-28 21:09:10 +02:00
Silvio 6bf1d50188 Added missing translations (#6458) 2017-04-28 13:49:16 -05:00
Mehmet Sutas 404f767d44 Update language_tr.h (#6463) 2017-04-28 13:48:31 -05:00
Petr Zahradnik 5e701524f8 Update language_cz.h for new translations (#6465)
* Update language_cz.h for new translations

* Correction translate

* Revert correction back to hotend
2017-04-28 13:47:43 -05:00
gege2b 0a92ce7a98 Completed french translation (#6475) 2017-04-28 13:46:09 -05:00
Ernesto Martinez ff4fb42e7d Add new strings as per recent changes in RCBugFix (#6482)
Adding missing strings to Spanish language, as per changes recently
done to the RCBugFix branch.
2017-04-28 13:45:22 -05:00
paulusjacobus 67d1fc5556 Update language_nl.h (#6478)
updated the RCbugfix release with additional Dutch translations
2017-04-28 13:42:39 -05:00
benlye 8c6b4537a6 Fix issue in itostr4sign with numbers <100 (#6487)
The first character in the string wasn't blanked if the number went from >= 100 to <100, resulting in artefacts in the displayed string.
2017-04-28 13:35:11 -05:00
LVD-AC 4ea8d0f89b Solved "The Travis CI build failed " 2017-04-28 19:55:21 +03:00
LVD-AC ed6b361e27 cleanup ready to squash 2017-04-28 18:09:18 +03:00
LVD-AC 7a6a1ef583 M666 normalize positive values to <=0
M666

+ tower radians absolute value
2017-04-28 18:05:24 +03:00
Roxy-3D 4075b95519 Allow BL-Touch users to control heaters during probe event (#6485)
The Configuration.h file entries for BL-Touch have been updated to:
```cpp
//#define BLTOUCH
//#define BLTOUCH_DELAY 375      // (ms) Enable and increase if needed
//#define BLTOUCH_HEATERS_OFF // if defined the printer's heaters are
turned off during probe event
```
2017-04-28 09:19:55 -05:00
Roxy-3D 6e8ecb908a Shut down heaters during BL-Touch probe event
The electro-magnetic interference from the bed and nozzle are affecting
the BL-Touch repeatability for some users.   This problem can be helped
by shutting down the heaters during the actual probe event and then
quickly turning them back on.

Because this code is messing with the heaters, it is written in a
paranoid manner.  It only turns the heaters back on if everything is
EXACTLY as it expects things to be.  The BL-Touch probe must have been
put into a deployed state less than 20 seconds prior, or the stow()
function will NOT turn the heaters on.

This code has been tested and works for both G28 and probing functions.
2017-04-27 18:52:58 -05:00
LVD-AC d8102aeca8 Cn negative : no tower angle calibration
Giving a negative number of probe points disables the tower angle
correction calibration ('4point' instead of '7point' solution)

EEPROM version updated
2017-04-27 21:13:07 +03:00
Roxy-3D 3601f08e87 Better tuned FolgerTech i3-2020 example file 2017-04-27 11:16:38 -05:00
Roxy-3D a20b7d9581 Better tuned Example file for FolgerTech i3-2020
Also setting up Z-Probe on the machine.
2017-04-27 11:16:38 -05:00
Kai bf2fe46062 Update language_de.h 2017-04-27 10:13:02 +02:00
Kai 11d34be060 Update language_de.h 2017-04-27 10:06:26 +02:00
Scott Lahteine 817ecb9ff4 Merge pull request #6453 from thinkyhead/rc_cleanup_wednesday
Minor cleanups, work-in-progress
2017-04-26 19:41:52 -05:00
Roxy-3D 22f6e277af Get example files fully into compliance
Change to support new name GRID_MAX_POINTS_XY
Start UBL at version 1.0 in the CUSTOM_MACHINE_NAME
2017-04-26 16:22:17 -05:00
LVD-AC a9bc1d30cc z_offset change
Avoids to have to recalibrate the delta_height after a z_offset change
2017-04-26 21:57:11 +03:00
Roxy-3D ec26e23e7e Add my two 'Nice' machines as example configurations
These are my two 'Nice' machines.  Both are good example machines.  The
FolgerTech i3-2020 is probably the best value kit on the market right
now.  And it has developed a 'Cult Following' of hobbiests.  I'll always
have an up to date Configuration.h file set for it, so it may as well be
an example configuration.

And the gCreate gMax 1.5+ is the best printer I've ever seen that runs
Marlin.  For sure, I'll always have up to the minute Configuration.h
files for this printer also.   I've moved over to using the gMax as my
primary development machine for Marlin.   So...  Besides being a good
machine, it is a nice convienience for me to have this Configuration.h
file as an 'Example'.
2017-04-26 12:46:12 -05:00
Scott Lahteine adb8e68592 Fix stuck "Print Aborted" LCD message
Fixes #6393
2017-04-26 06:24:23 -05:00
Scott Lahteine 096b927102 Minor optimization of FILAMENT_WIDTH_SENSOR 2017-04-26 06:24:23 -05:00
Scott Lahteine 5bdb0b567d Cosmetic patches 2017-04-26 06:24:23 -05:00
Kai 38ae7f4238 Added more translation strings
There are some quite tricky ones which are hardly translateable.
Maybe @Sebastianv650 can review this
2017-04-26 11:58:11 +02:00
Scott Lahteine 4d96d3eab1 Bootscreen delay after clear, then set chars
Fixes #6426
2017-04-25 23:37:28 -05:00
Scott Lahteine 5512130d6c Only set Compare Mode for channel A
Fixes #6445
2017-04-25 23:14:16 -05:00
Roxy-3D d467e97679 Smart-Fill and Mesh-Tilting (both 3-point and grid) working!
Also...   The memory corruption issue may be fixed.   The GCC compiler
was inlining static functions and this caused the G29() stack frame to
become much larger than the AVR could handle.
2017-04-25 21:03:41 -05:00
Scott Lahteine a699967ec8 Merge pull request #6443 from thinkyhead/rc_interrupt_fastio
Patch fastio.h with Timer 2 interrupt support
2017-04-24 20:09:41 -05:00
Scott Lahteine 2823bf0874 Update fastio.h with special handling for Timer 2 2017-04-24 16:58:22 -05:00
Scott Lahteine fd535e111a Fix up XYZ_CONSTS_FROM_CONFIG macro 2017-04-24 14:05:11 -05:00
Kai 03c2f756b9 Update language_de.h 2017-04-24 13:32:16 +02:00
LVD-AC dcf30a69d6 Allowing #define DELTA_TOWER_ANGLE_TRIM[C_AXIS]
More consistent with M665 where C-value is allowed as well, then
normalized
2017-04-23 14:51:24 +03:00
Brian f41fb2b635 Numerous UBL-related changes:
* relocated ubl state to config. store:
 * removed a number of ubl state variables and padding which were largely unused - saved 58 bytes of both SRAM and EEPROM;
 * modified ubl sanity_check - no longer checks removed state variables that were otherwise unused, where checking didn't seem to accomplish anything, ultimately;
 * removed pre_initialized state, saving 64 bytes of SRAM;
 * removed automatic saving of UBL state after UBL activation/deactivation;
* consolidated multiple GRID_MAX_POINTS_X/Y to 'Global Leveling' section of EEPROM;
* minor update to G29 Sx notes/instructions;
* renamed mesh load and save parameter to 'slot' from 'm' for clarity;
2017-04-22 18:44:39 -05:00
Brian f1a4758cef use progmem instead of sram for mesh_index_to_x/ypos array;
fix maximum mesh_index_ array size at 16 (15+1);
2017-04-22 18:34:49 -05:00
Scott Lahteine d5ec34e7ed Merge pull request #6431 from thinkyhead/rc_bilinear_super_optimize
Minor cleanup, optimize number-to-string
2017-04-22 17:05:24 -05:00
Scott Lahteine 87d240042a Optimize number-to-string functions, no-fan display 2017-04-22 16:23:15 -05:00
Scott Lahteine 959566cf0a Update note about M163 / M164 2017-04-22 16:23:15 -05:00
Scott Lahteine 830851df13 Spend some SRAM to optimize bilinear leveling 2017-04-22 16:19:31 -05:00
Scott Lahteine 091179d960 bed_level_grid => z_values (also *_virt array) 2017-04-22 16:19:31 -05:00
Scott Lahteine 23cdbbb2d3 Add a method to refresh bilinear bed level after a change 2017-04-22 16:19:30 -05:00
Scott Lahteine ccda63c473 Drop the accessor form for LCD value editing 2017-04-22 16:19:30 -05:00
Scott Lahteine 10da175be5 Fix a pair of compiler complaints 2017-04-22 16:19:30 -05:00
Scott Lahteine ff0018e287 Format hex values as uppercase 2017-04-21 21:42:41 -05:00
android444 77aa16005d Polish font
Add polish font for GLCD displays only.
HD44780 work properly without polish character.
Update language_pl.h.
2017-04-21 21:42:41 -05:00
teemuatlut 244f67590e Delta probe height bug solved 2017-04-22 02:23:56 +03:00
Hans Raaf 406a83ff2d Fix for Meshpositions if printer has negative endstop positions 2017-04-22 00:16:16 +02:00
benlye 3ed737425d Fix typo in new SET_COM macro 2017-04-21 15:08:18 -05:00
Brian 88649b06a6 use planner.z_fade_height, etc. instead of private, ubl-specific g29 fade height 2017-04-21 09:09:09 -05:00
LVD-AC 004928148c Tower angles
Adding '7-point' tower angle correction calibration
2017-04-21 12:48:45 +03:00
LVD-AC 76ec7a0f80 Adding upto 7*7 probe grids
- adding Cn 5, 6 and 7
2017-04-21 11:58:39 +03:00
LVD-AC d4f593d200 Delete 'expert level'
and getting rid off verbose level 3 and configuration_adv settings
2017-04-21 11:58:39 +03:00
LVD-AC 13c8493878 M665 rework and related issues (all delta's)
- Making M665 compatible with repetier (see
http://reprap.org/wiki/G_code#M665:_Set_delta_configuration)

- M665 B also sets the radius for manual calibration menu

- Converting tower ajustment definitions to arrays - tower angle
corrections compatible with Esher 3D wizzard

- Only tower angles need to be adjustable with M665 and stored to EEPROM
- tower radius and diag rod can be adjusted in the FW only with #define
2017-04-21 11:58:39 +03:00
Scott Lahteine e66d9f1313 Merge pull request #6406 from thinkyhead/test_remote
Refresh Marlin git helper scripts
2017-04-20 23:45:24 -05:00
Scott Lahteine dd436ceeb7 Add 'mfdoc' and 'mfpub' scripts to help with documentation 2017-04-20 21:37:26 -05:00
Scott Lahteine 78308b1c0b New git helper scripts 'mfadd' and 'mfqp'
- `mfadd` adds and fetches a user’s fork of Marlin
- `mfqp` invokes `git commit -m`, `mfrb`, `git push -f`
2017-04-20 21:37:25 -05:00
Scott Lahteine 7b4c245de3 Improve existing git helper scripts 2017-04-20 21:37:25 -05:00
Scott Lahteine 06f4776be4 mfprune: fetch remotes, offer checkout option 2017-04-20 21:37:25 -05:00
Scott Lahteine c73b62447c Merge pull request #6403 from thinkyhead/rc_flsun_clean
FLSUN and trailing whitespace cleanup
2017-04-20 20:48:41 -05:00
Scott Lahteine e0e069c6d8 Clean up trailing whitespace 2017-04-20 17:52:07 -05:00
Scott Lahteine 9b94210394 Bring FLSUN config more up to date 2017-04-20 17:52:06 -05:00
Scott Lahteine b0aa256bc0 Updates for all configs 2017-04-20 17:52:05 -05:00
Scott Lahteine b6ed69571a Merge pull request #6400 from thinkyhead/rc_interrupt_macros
Add and apply interrupt helper macros
2017-04-20 17:17:21 -05:00
Scott Lahteine ee46ce1743 Add and apply interrupt helper macros 2017-04-20 16:04:29 -05:00
Scott Lahteine 6131c62499 General cleanup 2017-04-20 16:04:29 -05:00
benlye 2c86dfd3b5 Fix compiler type conversion errors after LCD changes 2017-04-20 16:04:29 -05:00
Scott Lahteine 55f9e76610 Merge pull request #6367 from thinkyhead/rc_cleanup_followup
Cleanup after some direct commits
2017-04-20 15:13:24 -05:00
Scott Lahteine d38a792a91 Merge pull request #6382 from MagoKimbra/fix_configuration_store
Fix double definition in configuration_store
2017-04-20 15:06:58 -05:00
Scott Lahteine b98bc034ae Replace c_assert hack with static_assert 2017-04-19 13:07:35 -05:00
Scott Lahteine 5eb2b1a790 Clear up G29 compiler warnings 2017-04-19 13:07:35 -05:00
Scott Lahteine 4ce2a63db0 Apply const, spacing to Marlin_main.cpp 2017-04-19 13:07:34 -05:00
Scott Lahteine e97f1284c1 Cleanup of pins testing code 2017-04-19 13:07:34 -05:00
Scott Lahteine e9b53ae00c Cleanup after some direct commits
https://github.com/MarlinFirmware/Marlin/commit/5e9726530ff21d3bc62beaa6
ac1b9437c276130a
2017-04-19 13:07:34 -05:00
Scott Lahteine e05d050a1e Add hex routine to print an address 2017-04-19 13:07:34 -05:00
Scott Lahteine 4542282f5e Fix broken TOGGLE macro in fastio.h 2017-04-19 12:38:13 -05:00
MagoKimbra ed52275a14 Fix double definition in configuration_store 2017-04-18 17:57:40 +02:00
Scott Lahteine de569e3d4e Merge pull request #6327 from Bob-the-Kuhn/M43-toggle-&-Z-probe-fixes
M43 Toggle & Z servo test - fix bug & add another check
2017-04-18 03:21:57 -05:00
Scott Lahteine f33a650ecc Merge pull request #6368 from thinkyhead/rc_linear_advance_eeprom
Add Linear Advance values to EEPROM and LCD
2017-04-18 02:54:12 -05:00
Scott Lahteine a00ae4790a Replace M905 with unique code M900 2017-04-17 16:39:37 -05:00
Scott Lahteine 1286d9603d Clean up and organize ultralcd.cpp 2017-04-17 16:39:36 -05:00
Scott Lahteine 3cdf78a79f MSG_VOLUMETRIC => MSG_FILAMENT 2017-04-17 16:39:36 -05:00
Thomas Moore f8e77d6545 Add Linear Advance values to EEPROM and enable configuration of K via LCD 2017-04-17 16:39:36 -05:00
Scott Lahteine eb2d073dae Add M905 R for setting the E/D ratio directly 2017-04-17 16:39:36 -05:00
Scott Lahteine 69dfa54a84 Use code_value_linear_units for known-linear axes 2017-04-17 16:39:36 -05:00
Scott Lahteine b956f2642b Show M503 report with current linear units 2017-04-17 16:39:36 -05:00
Scott Lahteine ba4a005ceb Merge pull request #6373 from mtowara/mt_makefile_fix
Fix Makefile build
2017-04-17 16:16:37 -05:00
towara 150b15c311 fix compiler errors generated by more stringent flags in Makefile:
- use volatile for registers
- avoid implicit casts
2017-04-17 11:59:47 +02:00
towara f6095c9325 fix missing serial.cpp in Makefile 2017-04-17 11:59:03 +02:00
Scott Lahteine 871f92378c Tweak headings in EEPROM structure 2017-04-16 18:42:33 -05:00
Scott Lahteine bf2548be4a Merge pull request #6362 from tcm0116/babystepping
Only queue babysteps if axis is in a known position
2017-04-16 17:46:06 -05:00
Scott Lahteine bddd75aa5c Merge pull request #6363 from dot-bob/display_reset
Identifed a display initialization issue.
2017-04-16 17:44:44 -05:00
dot-bob 9c410ddf68 Fixed an issue where a display with a hardware reset pin (LCD_RESET) may not get initialized properly. 2017-04-15 22:45:15 -06:00
Thomas Moore 72a7fac461 Only queue babysteps if axis is in a known position 2017-04-15 23:19:43 -05:00
Roxy-3D 5e9726530f Setup to find data corruption and general clean up
This data corruption problem is very difficult.  Just changing the code
a little bit changes whether the problem even happens and what is
affected.  I need these changes in the main branch so I can operate with
the extra debug code always available and turned on.

Everything is setup such that if M100 is turned off or DEBUG(ECHO) is
turned off, the code is not affected.   M100 has been made a little bit
more inteligent so it can display the serial command buffers in a more
meaningful way (because the data corruption seems to often times end up
in that area).
2017-04-15 19:26:43 -05:00
Scott Lahteine e519e95953 Merge pull request #6358 from thinkyhead/rc_doubleclick_fix
Show Cancel/Continue screen for ABL "Level Bed"
2017-04-15 17:25:37 -05:00
Scott Lahteine a81606c680 Show Cancel/Continue screen for ABL "Level Bed" 2017-04-15 16:51:03 -05:00
Scott Lahteine 51021bc7b8 Merge pull request #6353 from thinkyhead/rc_endstop_coolness
Clean up endstop triggering code
2017-04-15 16:49:54 -05:00
Scott Lahteine 857dec0990 Merge pull request #6342 from benlye/benlye-fix-softspi
Fix softspi variant conditional for 1284p
2017-04-15 16:33:50 -05:00
Scott Lahteine 4e04383d18 Merge pull request #6354 from thinkyhead/rc_doubleclick_fix
Fix undefined symbol if DOUBLECLICK_FOR_Z_BABYSTEPPING and HAS_BED_PROBE defined
2017-04-15 16:06:29 -05:00
Thomas Moore 8dd0492e68 Show lcd_babystep_zoffset screen if DOUBLECLICK_FOR_Z_BABYSTEPPING is enabled and HAS_BED_PROBE is defined 2017-04-15 14:44:50 -05:00
benlye 0a2f60fab4 Make spi.h inclusion conditional
spi.h is only needed if HEATER_0_USES_MAX6675 is defined, so making its inclusion conditional on HEATER_0_USES_MAX6675 being defined.
2017-04-15 16:22:42 +01:00
Bob-the-Kuhn 60471b7592 minor improvements
Configuration_store.cpp - changed a couple of print statements so the
values were printed.  The old method resulted in the formula being
printed.

ubl_G29
1) added support for R option to P4.  Now probes all points unless R is
present and the number is greater than 0.

2) P2 - moved map print statement so it showed the point that was
currently being probed,  The old location did this only for the first
point.

3) P4 - Moved the map print for the same reason.

ultralcd.cpp - changed "Mesh Editor :" to "Mesh Editor" because the LCD
draw routine puts a ":" in automatically so you end up with an extra ":"
using the old message.
2017-04-15 09:31:55 -05:00
Scott Lahteine 25a61e9061 Improve motion-based endstop triggering code 2017-04-15 06:16:50 -05:00
Scott Lahteine 5a97a7be97 Merge pull request #6352 from thinkyhead/rc_patch_menu_bug
Fix compiler warning about z-offset callback
2017-04-15 03:35:16 -05:00
Scott Lahteine a2356c2825 Fix compiler warning about z-offset callback 2017-04-15 02:50:27 -05:00
Scott Lahteine 3a40e637cd Merge pull request #6350 from thinkyhead/rc_more_dualx_logging
Add more Dual X logging
2017-04-15 02:02:54 -05:00
Scott Lahteine 037c964d26 Reverse bools on prepare_move sub-functions 2017-04-15 01:08:19 -05:00
Scott Lahteine d9c4333806 Extra logging of Dual X modes 2017-04-15 01:08:19 -05:00
Scott Lahteine 8cccf69ef7 Merge pull request #6348 from thinkyhead/rc_tmc2130_clean_clean
TMC2130 update. Fixes, tune-ups, new features
2017-04-14 23:40:56 -05:00
Scott Lahteine 4067d15c92 Cleanup, extend TMC2130 implementation 2017-04-14 23:00:00 -05:00
Scott Lahteine d60c02c5b1 Cleanup, extend TMC2130 configuration 2017-04-14 22:43:56 -05:00
Scott Lahteine 0e97b3d6d0 Fix some configuration spacing 2017-04-14 22:36:10 -05:00
Scott Lahteine cf6f483378 Merge pull request #6187 from thinkyhead/rc_flsun_delta_autocal
Delta: DELTA_HEIGHT, G33 Auto-Calibrate, drop M206/M428, add M665 H
2017-04-14 22:32:12 -05:00
Scott Lahteine 24882adfbf Allow NO_WORKSPACE_OFFSETS with DELTA_AUTO_CALIBRATION
- On `DELTA` the `M665 H` option supplants `M206`
- On `DELTA` `NO_WORKSPACE_OFFSETS` only reverts `G92` behavior
- Spawn 4 conditionals based on `NO_WORKSPACE_OFFSETS`
- Optimize coordinate space conversion for `DELTA` workspace
- To keep EEPROM version, retain `home_offset[XYZ]`, just ignore XY
2017-04-14 21:56:49 -05:00
Bob-the-Kuhn 1acb84ba02 fix 1 bug, add error messages
===============================================

make changes requested by reviewers

===============================================

add M43 test to Travis, fix EOL, remove trailing spaces
2017-04-14 20:57:45 -05:00
Scott Lahteine 40dfafbe89 Add Travis CI test for FLSUN config 2017-04-14 19:46:31 -05:00
LVD-AC 8821963873 Implement delta auto-calibration and delta_height 2017-04-14 19:46:31 -05:00
Scott Lahteine b305699046 Merge pull request #6341 from benlye/benlye-lcd_babystep_zoffset
Fix lcd_babystep_zoffset()
2017-04-14 19:11:46 -05:00
LVD-AC 03bda24d19 Add delta auto-calibration and configuration for Flsun AC 2017-04-14 19:08:14 -05:00
Scott Lahteine 396bd7b377 Update "firstpush" to open branch commits on Github 2017-04-14 19:06:31 -05:00
Scott Lahteine 1bd25fd2b3 Clean up config spacing, section headings, etc. 2017-04-14 19:06:31 -05:00
Scott Lahteine 153b0ae967 Tweak Delta Printer configuration note 2017-04-14 19:06:06 -05:00
Scott Lahteine 81ffd98dd9 Allow faux leveling 2017-04-14 19:06:06 -05:00
Scott Lahteine 2355d87e11 Merge pull request #6346 from thinkyhead/rc_broken_abl_test
Add support for SOLENOID_PROBE
2017-04-14 18:36:32 -05:00
Scott Lahteine f4685c28b7 Reorder Conditionals_post.h and add comments 2017-04-14 18:18:21 -05:00
Scott Lahteine 5135be14ea Include Travis CI tests for 5 extruders / e-steppers 2017-04-14 18:18:20 -05:00
Scott Lahteine 0ac2b5c045 Additional 5 extruders support (solenoids, microstepping) 2017-04-14 18:18:20 -05:00
Scott Lahteine fd2a0784ba Add support for SOLENOID_PROBE 2017-04-14 17:24:36 -05:00
Scott Lahteine 5803ba43a9 Expose EXT_SOLENOID as an advanced option 2017-04-14 17:24:36 -05:00
Scott Lahteine ea734f910b Use direct pin manipulation whenever possible 2017-04-14 16:55:35 -05:00
Scott Lahteine 19d0c6a0c0 Patch to init W with RGBW_LED 2017-04-14 16:55:23 -05:00
Scott Lahteine 3e079660b0 Never define SLED_PIN 2017-04-14 16:36:32 -05:00
Scott Lahteine 76765a8279 Merge pull request #6337 from thinkyhead/rc_core_endstop_fix
CORExx endstop detection fixes
2017-04-14 14:24:58 -05:00
benlye 1a447d0047 Fix variant conditional for 1284p 2017-04-14 18:46:09 +01:00
benlye 1f9ee42750 Fix lcd_babystep_zoffset()
Resolve 'steps_to_mm was not declared in this scope' compilation error after recent changes to merge babystepping with M851
2017-04-14 18:38:35 +01:00
Bob-the-Kuhn 445d39e95a CORExx endstop detection fixes
1. The CORExx printers were checking more endstop axis than needed.

2. Removed all the CORE_xx_NOT logic.  The motor_direction(xx) routine
always returns the correct data so it is not needed.  It was actually
cause the wrong direction to be checked in some cases.

3. Made the logic/defines for X, Y & Z axis all the same.  The old logic
checked inappropriate configurations for Y and didn't check all the
correct configurations on Z.

4. Added a check for zero steps before the X, Y & Z axis.  Previously
would check the they axis even if there were no movement.
2017-04-13 21:43:37 -05:00
Roxy-3D 28fec61f92 M100 Fixes and Features
All the memory accesses need to be unsigned char in  order to avoid
false errors being detected.   Two new features are available for
developers to call into the M100 functionality to look for data
corruption.
2017-04-13 18:20:53 -05:00
Scott Lahteine 2f2835e622 Merge pull request #6332 from thinkyhead/rc_babystep_zprobe
Make BABYSTEP_ZPROBE_OFFSET an optional feature
2017-04-13 16:50:08 -05:00
Scott Lahteine 52c3ace102 Add BABYSTEP_ZPROBE_OFFSET as an optional feature 2017-04-13 16:29:43 -05:00
Scott Lahteine cd4e6abec8 Group BABYSTEPPING options together 2017-04-13 16:26:45 -05:00
Scott Lahteine 972c9655e9 Merge pull request #6245 from thinkyhead/rc_babystep_zprobe
BABYSTEPPING updates Z probe offset
2017-04-13 16:06:07 -05:00
Scott Lahteine 60ac41a32c Add code to handle changes to zprobe_zoffset 2017-04-13 15:46:35 -05:00
Scott Lahteine 8fa4209916 Movement/adjustment should be reverse of probe offset change 2017-04-13 15:46:05 -05:00
Thomas Moore 361655828f Use babystepping to adjust bed probe z-offset 2017-04-13 15:46:05 -05:00
Scott Lahteine 36e5c7c389 Merge pull request #6330 from thinkyhead/rc_improvements
Sanity check per-axis options' array sizes
2017-04-13 13:08:44 -05:00
Scott Lahteine 02fca543bb Merge pull request #6272 from thinkyhead/rc_adc_variable_rate
Make ADC sensor reading frequency adjustable
2017-04-13 12:49:31 -05:00
Scott Lahteine 34308368c0 Sanity check per-axis settings for size 2017-04-13 11:35:20 -05:00
Scott Lahteine ac96ae89f9 Apply const in Stepper::isr 2017-04-13 06:20:36 -05:00
Scott Lahteine 2fa1e882d0 Merge pull request #6325 from thinkyhead/rc_M20_with_size
Simplified M20 with size
2017-04-13 05:06:52 -05:00
Bob-the-Kuhn 1b12fea0fa simplified M20 with size 2017-04-13 04:56:58 -05:00
Scott Lahteine 4022b971db Merge pull request #6315 from thinkyhead/rc_unify_M421
Unify M421
2017-04-12 19:43:28 -05:00
Scott Lahteine b236562354 Merge pull request #6306 from thinkyhead/cleanup_after_6302
Adjustments to M100
2017-04-12 19:12:27 -05:00
Scott Lahteine 5e4f4d387f Swap MBL z_values dimensions to [X][Y] 2017-04-12 17:24:05 -05:00
Scott Lahteine f81b518a03 Add Travis tests for optional M100 features 2017-04-12 17:07:22 -05:00
Scott Lahteine 063f641651 Unify M421 2017-04-11 15:46:13 -05:00
Scott Lahteine 6d5400dc31 Merge pull request #6240 from thinkyhead/rebuild_rgb_led
Extend RGB LED with Printer Events
2017-04-11 15:16:57 -05:00
Scott Lahteine dac21ec680 Add support for an RGBW LED 2017-04-11 12:58:55 -05:00
Scott Lahteine e7746ffee4 Extend RGB LED support, adding Printer Events 2017-04-11 12:15:41 -05:00
Scott Lahteine c7063eb55c theTarget => target_temp 2017-04-11 12:15:41 -05:00
Scott Lahteine 36bda2bade Add HAS_RESUME_CONTINUE shorthand macro 2017-04-11 12:15:40 -05:00
Scott Lahteine 53e6c33c37 2 is DXC_DUPLICATION_MODE 2017-04-11 12:15:40 -05:00
Scott Lahteine a2cb0a3d54 Use multiply for delta probe constraint 2017-04-11 12:15:40 -05:00
Scott Lahteine 6487c96a4a Merge pull request #6313 from Kaibob2/patch-10
Allow 10mm Movements for Z-Axis
2017-04-11 12:04:10 -05:00
Scott Lahteine 944218f7da Merge pull request #6309 from thinkyhead/rc_fix_minimum_pulse
Fix MINIMUM_STEPPER_PULSE calculations
2017-04-11 11:54:26 -05:00
Kai 001bc14255 Allow 10mm Movements for Z-Axis
I use the movement options via LCD quite often. Especially to get the nozzle out of the way. I see no reason, why the 10mm option is disabled for the Z-Axis, this is why i always delete this line when i compile a new version.
If this is unwanted, please just close this PR
2017-04-11 18:39:26 +02:00
Scott Lahteine 6a9b008044 Fix MINIMUM_STEPPER_PULSE maths 2017-04-11 11:11:17 -05:00
Scott Lahteine 68773f4486 Simplify stepper macros by renaming enable/disable macros 2017-04-11 11:10:26 -05:00
Scott Lahteine e02a5a6371 Add macros for delays by machine cycle 2017-04-11 09:18:32 -05:00
Scott Lahteine 4ea447959e Merge pull request #6311 from thinkyhead/rc_bare_M109_M190
Have M109 / M190 do nothing with no parameters
2017-04-11 06:10:31 -05:00
Scott Lahteine ecc537015a Have M109 / M190 do nothing with no parameters 2017-04-11 05:06:25 -05:00
Scott Lahteine 03aa9a390e Apply coding standards to M100, break up into functions 2017-04-10 21:09:43 -05:00
Scott Lahteine 48c16fc6ef Merge pull request #6307 from thinkyhead/rc_less_no_reentrance
Only lcd_synchronize needs no_reentry
2017-04-10 20:58:32 -05:00
Scott Lahteine 4fcfe926d6 Only lcd_synchronize needs no_reentry 2017-04-10 20:13:23 -05:00
Scott Lahteine 67fb7f82ac Merge pull request #6283 from thinkyhead/rc_eeprom_z_fade
Save / restore z_fade_height in EEPROM
2017-04-10 20:05:20 -05:00
Scott Lahteine eff5af569b Merge pull request #6300 from MagoKimbra/rc_fix_mesh_report
Fix mbl_mesh_report
2017-04-10 19:37:19 -05:00
Scott Lahteine 4a18968c10 Merge pull request #6297 from Kaibob2/patch-9
Fix EPROM -> EEPROM
2017-04-10 19:35:30 -05:00
Roxy-3D ba85faabc0 Fix M100 Free Memory Checker
M100 had numerious changes and quit working.   Part of the problem is
the overloading of the SERIAL_PROTOCOL functions.   Also, some of the
address arithmatic was changed to use char *ptr and passing ptr into the
SERIAL_PROTOCOL functions caused them to try to print a string instead
of a number.     M100 is working again.   Let's keep it that way!

M100 has been expanded to now have a function  int
free_memory_is_corrupted()  that can be called from other code to see if
the free space is still contiguous.  It may make sense to add a flag to
control its verbose nature but right now, the extra chit chat is very
helpful to know int free_memory_is_corrupted()  is doing the right thing
and what it found at various points when it was called.     A 'Show &
Tell' is coming up with int free_memory_is_corrupted().
2017-04-10 15:33:55 -05:00
Kai 3b82db5fe9 Missing semicolon in ultralcd.cpp
When PARK_HEAD_ON_PAUSE is defined Marlin won't compile because of two missing semicolon.
2017-04-10 14:45:51 -05:00
MagoKimbra 7d2e637867 Fix mbl_mesh_report 2017-04-10 20:50:19 +02:00
Kai afeb0452ef Fix EPROM -> EEPROM
These fixes are neede because before it showed the englisch text even if language = de was selected
2017-04-10 18:37:00 +02:00
Scott Lahteine 7f950a80c0 Make ADC sensor reading frequency adjustable 2017-04-09 22:18:21 -05:00
Scott Lahteine dad907b923 Merge pull request #6293 from thinkyhead/rc_move_toshiba
Put TOSHIBA with other stepper driver options
2017-04-09 22:08:36 -05:00
Scott Lahteine 786af73e24 Convert config code to a static class 2017-04-09 22:06:41 -05:00
james94jeans2 5b9476fe78 Added z_fade_height to EEPROM-Settings
Firmware was forgetting the z_fade_height in Planner, set by M420 Z<f>,
after each reset or loading settings from EEPROM. Added the float
z_fade_height to EEPROM-Storage, now remembers the value.
2017-04-09 21:16:58 -05:00
Scott Lahteine 9343f6a95f Put TOSHIBA with other stepper driver options 2017-04-09 20:52:49 -05:00
Scott Lahteine 7a704af5e6 Merge pull request #6284 from thinkyhead/rc_wt150_rebase
wt150 (Mightyboard Rev E) & RRD Full Graphic Smart Controller
2017-04-09 20:27:44 -05:00
Scott Lahteine 2bde7940e0 Merge pull request #6289 from zlowred/RCBugFix
Fixed comparison of float values to NaN
2017-04-09 19:39:04 -05:00
Max Matveev 2031fb913b Fixed comparison of float values to NaN 2017-04-09 20:28:46 +02:00
Scott Lahteine e48a52a530 Patch a display issue with LCD_DECIMAL_SMALL_XY
The `ftostr4sign` function got munged by the `WITHIN` patch
2017-04-09 10:25:35 -05:00
Scott Lahteine 1a3cd6a090 Merge pull request #6213 from thinkyhead/rc_gitattributes
Init bed_level_virt_interpolate on EEPROM load
2017-04-09 08:13:11 -05:00
Scott Lahteine 314a02e2d5 Toggle with XOR 2017-04-09 07:58:47 -05:00
Scott Lahteine cfad4736cd Merge pull request #6285 from thinkyhead/rc_cheaptronic_v2
Cheaptronic V2
2017-04-09 07:09:23 -05:00
Scott Lahteine 8bc0d90b00 Init bed_level_virt_interpolate on EEPROM load 2017-04-09 07:04:20 -05:00
MD 20dd5376b8 Cheaptronic V2
Add support for new electronics
www.reprapobchod.cz
2017-04-09 06:57:43 -05:00
Scott Lahteine 4cdda5615b Bring other configs up to date with wt150 changes 2017-04-09 06:45:42 -05:00
Paweł Stawicki 9b0885f4f6 Allow boards without a thermistor 2017-04-09 06:45:41 -05:00
Paweł Stawicki 64cfcebe66 Update SlowSoftI2CMaster link. MightyBoard digipots I2C bus has no resistors. 2017-04-09 06:45:03 -05:00
Paweł Stawicki 0eb16d9ff7 Add example config for the wt150 printer with RepRapDiscount Full Graphic Smart Controller 2017-04-09 06:44:54 -05:00
Paweł Stawicki 652bedfa18 Add RepRapDiscount Full Graphic Smart Controller support to MIGHTYBOARD REVE 2017-04-09 06:44:53 -05:00
Paweł Stawicki 44cdebb8f1 Add software spi support for max6675 2017-04-09 06:44:53 -05:00
Paweł Stawicki 191fec009f Add digipot i2c control for MCP4018 2017-04-09 06:44:53 -05:00
Scott Lahteine e5b16081cb Update TinyBoy2 configurations 2017-04-09 06:44:53 -05:00
Scott Lahteine 1855534f20 Config files cleanup 2017-04-09 06:44:52 -05:00
Scott Lahteine 2f5e934a19 Merge pull request #6282 from thinkyhead/rc_cleanup_and_5_extruders
Additional missed patches
2017-04-09 04:35:08 -05:00
Scott Lahteine c26a315d0b Additional missed patches 2017-04-09 04:24:23 -05:00
Scott Lahteine 635f182478 Merge pull request #6281 from thinkyhead/rc_cleanup_and_5_extruders
More patches for 5 extruders
2017-04-09 04:07:22 -05:00
Scott Lahteine 39617e10b8 Patch configs comment formatting 2017-04-09 03:49:16 -05:00
Scott Lahteine c54f6cf23d Updates to support 5 extruders 2017-04-09 03:49:16 -05:00
Scott Lahteine 2b88ccd0aa Apply UBL mesh bounds to remaining configs 2017-04-09 03:49:15 -05:00
Scott Lahteine 60be3d264b Macros to print floats, hiding imprecision 2017-04-09 03:48:40 -05:00
Scott Lahteine b356d73239 Merge pull request #6278 from thinkyhead/pr_delta_angles
Followup to additional delta trim options
2017-04-08 22:25:57 -05:00
Jimmy Envall f78d44e91a Added support for delta tower angle corrections. 2017-04-08 21:13:44 -05:00
Scott Lahteine d3b4d84586 Merge pull request #6277 from thinkyhead/pr_roxy3d_rcbugfix
Unify UBL Command Parsing
2017-04-08 20:17:46 -05:00
Scott Lahteine 98c9de11e1 Merge pull request #6266 from thinkyhead/rc_cleanup_after
Cleanup after recent merges
2017-04-08 20:08:15 -05:00
Scott Lahteine d4ce839351 Cleanup following Pins Debug update 2017-04-08 18:59:57 -05:00
Scott Lahteine c7a8f7970b Formatting / cleanup 2017-04-08 18:59:57 -05:00
Scott Lahteine 29d4ec8257 Support 5 extruder auto fans 2017-04-08 18:59:57 -05:00
Scott Lahteine 824f3c1c0d Fix up configuration comments 2017-04-08 18:59:56 -05:00
Scott Lahteine 995ed90248 Clean up Filament Width Sensor comments 2017-04-08 18:59:56 -05:00
Scott Lahteine 5a7b810fdd General comment cleanup 2017-04-08 18:58:33 -05:00
Scott Lahteine 0027c22839 Drop extraneous calls to lcd_update 2017-04-08 18:58:33 -05:00
Scott Lahteine d6db7a9b03 patch "step_remaining" 2017-04-08 18:13:20 -05:00
Scott Lahteine cbc2331187 Use LCD_MESSAGEPGM over lcd_setstatuspgm 2017-04-08 18:04:39 -05:00
Scott Lahteine 3729510b1e Set and check main parameter values, report all errors 2017-04-08 17:15:55 -05:00
Roxy-3D 34d3ed9ab1 These items were removed from the UBL Command Parsing
Having these items randomly (and errorniously) disappear cost me several
hours of work yesterday.
2017-04-08 15:30:20 -05:00
Scott Lahteine 15edb41cee Patches to UBL 2017-04-08 14:59:14 -05:00
Roxy-3D 14cf527bb8 Getting setup for debugging 2017-04-08 14:59:14 -05:00
Scott Lahteine f8408036f2 Merge pull request #6264 from thinkyhead/rc_five_extruders
Support up to 5 extruders in Marlin
2017-04-07 12:48:56 -05:00
Bob-the-Kuhn 5212cb8304 Merge pull request #6271 from Bob-the-Kuhn/MCP4728-consistency-2
MCP4728 consistency ... Finish name change
2017-04-07 11:31:19 -05:00
Bob-the-Kuhn f7fc49c3a3 Finish name change
DAC_STEPPER_DFLT wasn't changed to DAC_MOTOR_CURRENT_DEFAULT in all
places on PR #6124
2017-04-07 11:05:24 -05:00
Scott Lahteine 832064e4f2 Implementation changes to support 5 extruders 2017-04-07 10:46:37 -05:00
Scott Lahteine 04050237f0 Header and pins changes to support 5 extruders 2017-04-07 10:46:36 -05:00
Scott Lahteine 2a84122edd Configuration changes to support 5 extruders 2017-04-07 10:46:35 -05:00
Scott Lahteine edf18977c1 Patch pins files hotends/e-steppers sanity check 2017-04-07 10:46:33 -05:00
Scott Lahteine dc84678fc1 Fix HOTEND_STATUS_ITEM for graphical display 2017-04-06 23:07:30 -05:00
Scott Lahteine a0de5d94e2 Merge pull request #6258 from benlye/benlye-bilinearfix2
Better fix for bilinear Z offset and G29 Z (update to #6251)
2017-04-06 20:51:57 -05:00
Scott Lahteine b23aef5b8d Merge pull request #6190 from Bob-the-Kuhn/Stop-and-Kill-prints---round-2
Message for every KILL and STOP (also need delays)
2017-04-06 20:40:12 -05:00
Roxy-3D 945303c0d5 eleminate bootscreen.h 2017-04-06 19:55:41 -05:00
Roxy-3D ef3da3971e Update ubl.h 2017-04-06 19:55:41 -05:00
Roxy-3D 8644dc170b get synchronized to current file names 2017-04-06 19:55:41 -05:00
Roxy-3D 1451b7eacf UBL's Grid Based Leveling code
Pretty much...  The code is in place.  Still more work to do.    But it
has a lot of hooks and variables in other code, so commit and merge
before I pick up a million 'Conflicts'.
2017-04-06 19:55:41 -05:00
Bob-the-Kuhn 549055f20c Merge pull request #6124 from Bob-the-Kuhn/MCP4728-consistency
MCP4728 consistency & fix ultralcd.cpp (PRINTRBOARD Rev F and RIGIDBOARD V2)
2017-04-06 16:35:50 -05:00
Bob-the-Kuhn a77875c9d2 Merge pull request #6114 from Bob-the-Kuhn/try2-add-BLTouch-retry
Another BLTouch retry place (replaces PR #6108)
2017-04-06 16:25:55 -05:00
Bob-the-Kuhn 3b9ff2cb12 Merge pull request #5676 from Bob-the-Kuhn/configuration.h
Configuration.h - reword Z PROBE section
2017-04-06 16:18:34 -05:00
Bob-the-Kuhn 6643d553f6 # This is a combination of 2 commits.
# This is the 1st commit message:

MCP4728 consistency & fix ultralcd.cpp

The MCP4728 DAC controls the stepper motor current strenth on the
PRINTRBOARD Rev F and RIGIDBOARD V2 boards.

PR #5792 on 9 FEB 2017 implemented default drive percentages but only on
the RIGIDBOARD V2.

This change moves the default settings to Configuration_adv.h.

Also, ultralcd.cpp won't compile because of a type def conflict.
Changed it to match the one in stepper_dac.cpp

===========================================================

reword stepper curent section for clarity

===========================================================

change name & improve comments

===========================================================

changed name from A4JP to SCOOVO_X9H per PR #6139

# This is the commit message #2:

fix typo
2017-04-06 16:16:27 -05:00
Bob-the-Kuhn a44b3432c1 add BLTouch retry to a second place & add/update delays
=================================================

implement requested changes

=================================================

remove delays (they're in another PR) & move return
2017-04-06 16:13:07 -05:00
Bob-the-Kuhn a5abc61fb9 Merge pull request #6219 from Bob-the-Kuhn/Servo-probe-and-toggle-pins
M43 - add Toggle utility and Z servo utility (replaces PR #5864)
2017-04-06 16:10:50 -05:00
Bob-the-Kuhn f87012a063 Merge pull request #5762 from Bob-the-Kuhn/Z_DUAL_ENDSTOP-make-offset-a-configuration-item
Z_DUAL_ENDSTOPS -  make offset a configuration item
2017-04-06 16:09:15 -05:00
Bob-the-Kuhn 3b8926bd09 improved wording, consolidation of info, BLTouch warning
==============================================

clarified BLTouch calculation & changed comment delimitters/flags

I found it hard to pickout the various sections in this area so I
changed most comments from // style to /** ... */

Made the BLTouch calculation simpler and clarified the units of measure
for the result.

============================================

add changes to example configurations

============================================

add TinyBoy2 to this PR & add BLTouch Delay
2017-04-06 16:06:01 -05:00
Scott Lahteine 55d296aaf0 pinsDebug with more features, uses less RAM
I've just uploaded a major change to pinsDebug.
The big change was creating an array in FLASH that contained every
active pin definition. That reduced the RAM memory usage considerably
but increased the FLASH usage.
Creating the array requires going through the pin list twice. Rather
than having two copies of it in the code I moved the list out to another
file (pinsDebug_list.h) and then just did two #includes.
From the user’s view they’ll see the following changes:
1. Now reports all the names assigned to a pin
2. The port is now reported in addition to the pin number.
3. When PWM0A & PWM1C share a pin, both PWMs are reported
4. More PWM/Timer info is reported
One new item that may cause some concern is the usage of the LINE
predefined preprocessor macro. It may not be available if the Arduino
IDE goes to a different compiler.

Includes support for 1284 & 1286 families.

Memory usage changes when enabling PINS_DEBUGGING:
ATmega2560
FLASH
.           without   52576
.           with new  64592
.           with old  62826
.           new-out   12016
.           old-out   10250
.           new-old   1766
.
RAM
.           without   2807
.           with new  2875
.           with old  3545
.           new-out   68
.           old-out   738
.           new-old   -670

==================================================================

minor changes - mostly formatting

1) added newline to end of teensyduino file

2) changed flag name from TEENSYDUINO to TEENSYDUINO_IDE.  Got warnings
about redefining TEENSYDUINO

3) removed some trailing spaces

reduce PROGMEM size & update pin list

Reduced PROGMEM usage by
1) converting often used macro to a function
2) moved as much as possible into the function

This required creating two arrays of address pointers for the PWM
registers.

==================================================================

update with new M3, M4, M5 pin names

==================================================================

report I/O status for unused/unknown pins
2017-04-06 16:06:01 -05:00
Scott Lahteine e116723b8b Adjust indentation in ubl.h 2017-04-06 16:06:00 -05:00
Scott Lahteine 1b3a26f2f5 Rename all UBL files with a ubl_ prefix 2017-04-06 16:06:00 -05:00
Scott Lahteine d13991ae18 Use same config name for all mesh dimensions 2017-04-06 16:05:59 -05:00
Bob-the-Kuhn f9686a108c add Z servo test and toggle pins to M43 2017-04-06 15:59:38 -05:00
Scott Lahteine 62cbaa302e Z_DUAL_ENDSTOP - make offset a configuration item
The offset for Z_DUAL_ENDSTOP (z_endstop_adj) is already in Marlin.
This PR just makes it a configuration item.

z_endstop_adj is initialized in two places so both had to be modified.
2017-04-06 15:57:10 -05:00
Bob-the-Kuhn 3b6333c613 Merge pull request #5668 from Bob-the-Kuhn/pinsDebug-PROGMEM
pinsDebug with more features, uses less RAM
2017-04-06 15:51:45 -05:00
Scott Lahteine c9e35004e7 pinsDebug with more features, uses less RAM
I've just uploaded a major change to pinsDebug.
The big change was creating an array in FLASH that contained every
active pin definition. That reduced the RAM memory usage considerably
but increased the FLASH usage.
Creating the array requires going through the pin list twice. Rather
than having two copies of it in the code I moved the list out to another
file (pinsDebug_list.h) and then just did two #includes.
From the user’s view they’ll see the following changes:
1. Now reports all the names assigned to a pin
2. The port is now reported in addition to the pin number.
3. When PWM0A & PWM1C share a pin, both PWMs are reported
4. More PWM/Timer info is reported
One new item that may cause some concern is the usage of the LINE
predefined preprocessor macro. It may not be available if the Arduino
IDE goes to a different compiler.

Includes support for 1284 & 1286 families.

Memory usage changes when enabling PINS_DEBUGGING:
ATmega2560
FLASH
.           without   52576
.           with new  64592
.           with old  62826
.           new-out   12016
.           old-out   10250
.           new-old   1766
.
RAM
.           without   2807
.           with new  2875
.           with old  3545
.           new-out   68
.           old-out   738
.           new-old   -670

==================================================================

minor changes - mostly formatting

1) added newline to end of teensyduino file

2) changed flag name from TEENSYDUINO to TEENSYDUINO_IDE.  Got warnings
about redefining TEENSYDUINO

3) removed some trailing spaces

reduce PROGMEM size & update pin list

Reduced PROGMEM usage by
1) converting often used macro to a function
2) moved as much as possible into the function

This required creating two arrays of address pointers for the PWM
registers.

==================================================================

update with new M3, M4, M5 pin names

==================================================================

report I/O status for unused/unknown pins
2017-04-06 14:46:28 -05:00
Scott Lahteine 7dfe2cc132 Merge pull request #6254 from thinkyhead/rc_ubl_rename
Group all UBL files via a common prefix
2017-04-06 05:46:18 -05:00
Scott Lahteine 4abd53f65a Adjust indentation in ubl.h 2017-04-06 05:36:16 -05:00
Scott Lahteine f5c5c1f771 Rename all UBL files with a ubl_ prefix 2017-04-06 05:33:27 -05:00
Scott Lahteine 11430b6d33 Merge pull request #6256 from thinkyhead/rc_unify_grid_size
Use same config name for all mesh dimensions
2017-04-06 05:30:28 -05:00
benlye f1d50ac1dc Fixing bilinear Z offset and G29 Z
The fix in #6251 for bilinear Z offset was flawed and broke the Z parameter of G29 for bilinear levelling.  This is reverted and a different fix is used for the double-addition of the Z-probe offset to the bilinear correction grid.
2017-04-06 07:41:46 +01:00
Scott Lahteine eb1e6aa29b Use same config name for all mesh dimensions 2017-04-06 00:42:52 -05:00
Scott Lahteine 034e912c85 Merge pull request #6248 from thinkyhead/rc_marlin_scad_mesh
Add hidden option to output Bilinear grids in JSON
2017-04-06 00:36:45 -05:00
Scott Lahteine c961dd084d Add hidden option to output Bilinear grids in JSON 2017-04-05 23:43:17 -05:00
Scott Lahteine bc09e862a9 Re-enable .cpp as LF in .gitattributes 2017-04-05 22:30:30 -05:00
Scott Lahteine df7b4252fd Reduce M420 code for UBL slightly 2017-04-05 22:30:29 -05:00
Scott Lahteine 8866158d03 Add LEVELING_DATA as a capability 2017-04-05 22:30:28 -05:00
benlye 0a2b4f3486 Fix bilinear levelling z offset
Since run_probe was altered to return the probe Z position rather than the nozzle Z position bilinear levelling has been broken because the Z-offset has been applied twice - once in the run_probe function, and then again in the G29 code for bilinear levelling.
2017-04-05 22:01:40 -05:00
Scott Lahteine 44a849bdce Fix broken M206/M428/G92 offsets 2017-04-05 22:01:37 -05:00
Roxy-3D 52978e5ba5 Fix spelling mistake when UBL's mesh is Inactive 2017-04-02 20:07:09 -05:00
Roxy-3D 0423e93c42 Fix M421 AUTO_BED_LEVELING_BILINEAR and AUTO_BED_LEVELING_UBL
M421 was not connected up for AUTO_BED_LEVELING_BILINEAR.
M421 needed to migrate mesh data to new UBL EEPROM layout.
2017-04-02 16:46:37 -05:00
Scott Lahteine 3412950abc Merge pull request #6209 from thinkyhead/rc_psu_zero
Power Supply 0 as "General"
2017-04-02 16:44:42 -05:00
Roxy-3D 3e9e94801f Fix problem described in issue # 6175
As it turns out...   an unsigned int can not go to less than 0,  so the
loop never terminates.
2017-04-02 13:00:27 -05:00
Scott Lahteine a37a605fee Merge pull request #6217 from thinkyhead/rc_fix_invisibles_to_most
Patch .gitattributes till UBL line endings are fixed
2017-04-02 12:52:26 -05:00
Scott Lahteine 01a293b6e3 Patch .gitattributes till UBL line endings are fixed 2017-04-02 12:50:02 -05:00
Scott Lahteine 289e3d6844 Merge pull request #6215 from thinkyhead/rc_bed_false_alarm
Fix thermal runaway when nonexistent bed temp is set
2017-04-02 11:59:58 -05:00
Scott Lahteine 1c69a155cf Merge pull request #6214 from thinkyhead/rc_bltouch_delay_opt
Configurable delay for BLTouch servo emulation
2017-04-02 11:59:34 -05:00
Scott Lahteine 948728e63b Fix line-endings in UBL_G29 2017-04-02 11:48:26 -05:00
Scott Lahteine 699310d1d2 Fix: Thermal runaway if nonexistent bed's temp is set 2017-04-02 11:48:10 -05:00
Scott Lahteine c56eec29f0 Configurable delay for BLTouch servo emulation 2017-04-02 11:14:53 -05:00
Scott Lahteine deaad78df9 Merge pull request #5678 from Bob-the-Kuhn/G38-optional-double-tap
G38 bug fix, made double touch optional & reverted to Z_MIN_PROBE
2017-04-02 10:32:04 -05:00
Scott Lahteine b3e9977f97 Merge pull request #6212 from thinkyhead/rc_gitattributes
Fix LCD preheat menus
2017-04-02 09:54:13 -05:00
Scott Lahteine 5bce731962 Fix LCD preheat menus 2017-04-02 09:32:22 -05:00
Scott Lahteine 9faa8c4704 Merge pull request #6210 from thinkyhead/rc_gitattributes
Add .gitattributes to normalize line endings
2017-04-02 08:56:51 -05:00
Scott Lahteine 4c72167af3 Prevent a warning on echo_command 2017-04-02 08:36:58 -05:00
Scott Lahteine 9b5fd9522e Fix formatting, order for a UBL change 2017-04-02 07:15:40 -05:00
Scott Lahteine f0ef8a1cbd Add .gitattributes to normalize line endings 2017-04-02 06:47:52 -05:00
Tannoo 54173c80ad Power Supply 0 as "General" 2017-04-02 06:21:34 -05:00
Scott Lahteine 883c6762c4 Merge pull request #6208 from thinkyhead/rc_parity_with_32bit
Patch MarlinSerial to match up with 32-bit version
2017-04-02 05:13:03 -05:00
Scott Lahteine a2775d0c70 can wstring be removed? 2017-04-02 04:43:33 -05:00
Scott Lahteine de4e19f17e Patch MarlinSerial to match up with 32-bit version 2017-04-02 04:39:18 -05:00
Scott Lahteine 34b23ff312 Merge pull request #6202 from thinkyhead/rc_fix_broken_ubl
Patching up UBL, vetting recent commits
2017-04-02 03:51:38 -05:00
Scott Lahteine 2cbc7b4b73 Relocate serial macros and functions 2017-04-02 01:05:25 -05:00
Scott Lahteine eaa66f3c46 Indent MarlinSerial code 2017-04-02 01:05:25 -05:00
Scott Lahteine 7a7a80e6c5 status_printf => lcd_status_printf_P 2017-04-02 01:05:25 -05:00
Scott Lahteine 0e6ec34228 Use PSTR versions of lcd_status... to save SRAM 2017-04-02 00:45:39 -05:00
Scott Lahteine 34e2420b9b Apply const args, clean up find_closest_circle_to_print 2017-04-01 23:15:41 -05:00
Scott Lahteine e19fbd27ce Minor spelling patch 2017-04-01 23:08:00 -05:00
Scott Lahteine 790a3e9a8c Remove extraneous check of UBL_G26_MESH_EDITING 2017-04-01 23:03:40 -05:00
Scott Lahteine 7310110ec0 Fix logic of UBL::fade_scaling_factor_for_z 2017-04-01 22:52:48 -05:00
Scott Lahteine a7aa70e79a Merge pull request #6201 from thinkyhead/rc_fix_broken_ubl
Fix broken auto#.g, some other regressions
2017-04-01 22:14:04 -05:00
Scott Lahteine 1a775cecac Revert behavior of enqueue_and_echo_commands_P 2017-04-01 21:53:46 -05:00
Scott Lahteine 79d42d87c1 Syntax cleanup 2017-04-01 21:53:46 -05:00
Scott Lahteine b47fd31c37 Revert some changes to UBL 2017-04-01 21:53:45 -05:00
Bob-the-Kuhn 185337e787 add delays to allow stop & kill messages to get out 2017-04-01 00:23:14 -05:00
Scott Lahteine 63abb65146 Update description of PINS_DEBUGGING 2017-03-31 18:57:48 -05:00
Scott Lahteine f75aa4d5be Merge pull request #6050 from thinkyhead/rc_probe_manually
Add PROBE_MANUALLY — ABL without a probe
2017-03-31 12:27:33 -05:00
Scott Lahteine 73e193da1d Implement LCD_BED_LEVELING for PROBE_MANUALLY 2017-03-31 11:50:18 -05:00
Scott Lahteine fcadc7bb1a Implement the "manual" option for ABL 2017-03-31 11:50:18 -05:00
Scott Lahteine 9e22184936 Add a "manual" option for ABL 2017-03-31 11:50:18 -05:00
Scott Lahteine 541165e878 Merge pull request #6181 from thinkyhead/rc_ubl_further_fixes
Further adjustments to UBL code
2017-03-31 11:35:02 -05:00
Scott Lahteine b19a15fa7f Within applied to UBL 2017-03-31 11:12:57 -05:00
Scott Lahteine 342ee458ae Additional UBL fixes, optimizations 2017-03-31 11:12:57 -05:00
Scott Lahteine a5e085cbea Have run_probe() return probe Z, not nozzle Z 2017-03-31 09:27:49 -05:00
Scott Lahteine 4487d22d56 Apply FIXFLOAT macro 2017-03-31 09:27:48 -05:00
Scott Lahteine 6cac0f43eb MBL fiddle 2017-03-31 09:27:48 -05:00
Scott Lahteine 25a6bfa7ed Add and apply WITHIN macro 2017-03-31 09:27:48 -05:00
Scott Lahteine 81136c1e82 Merge pull request #6177 from thinkyhead/rc_tinyboy
Support for TinyBoy 2 3D printer (and its OLED display)
2017-03-31 04:31:47 -05:00
Scott Lahteine 93aad54dc1 Clean up code, remove _now command function 2017-03-31 04:17:31 -05:00
Stefan Brüns 6ba6c92a81 Add example configuration for TinyBoy L10/L16
The TB2 is a Indiegogo funded 3d printer. It uses a MKS SMELZI V1.0
main board (based on MELZI, i.e. Sanguinololu). I comes as a complete kit,
including display and panel.
Two variants exists, L10 and L16, with a height of 100 and 160 mm.
The heating function of the provided bed can enabled by soldering a
thermistor and some wires to it.

Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
2017-03-31 04:05:35 -05:00
Stefan Brüns 0fe57ad4f5 Add Support TinyBoy2 OLED/Encoder panel
The OLED is driven by an SSD1306, connected to the board via
I2C, the rotary encoder is connected to 3 GPIO pins.

Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
2017-03-31 04:05:34 -05:00
Scott Lahteine baadb11536 Merge pull request #6174 from thinkyhead/rc_ubl_continued
UBL additional cleanup
2017-03-31 03:39:50 -05:00
Scott Lahteine 65ca6472ba Make G26 compatible with G92 and M206 2017-03-31 02:20:20 -05:00
Scott Lahteine 4902fd4e95 More data in UBL class, make it a static class
- Make all `unified_bed_leveling` data/methods static
- Move some UBL-related variables into the class
- Replace `map_[xy]_index_to_bed_location` with `mesh_index_to_[xy]pos`
2017-03-31 02:20:20 -05:00
Scott Lahteine edbc024d76 Disable UBL_G26_MESH_EDITING by default 2017-03-31 02:20:20 -05:00
Scott Lahteine 9e4bd6b3b5 Further repairs to UBL, comments, spacing 2017-03-31 02:20:20 -05:00
Bob-the-Kuhn f3618c3337 Reduce UBL RAM usage by making G26/G29 optional 2017-03-31 02:20:19 -05:00
Scott Lahteine e746d68a12 Merge pull request #6176 from thinkyhead/rc_mbl_abl_optimize
Make MBL a static class, use lookup for index-to-point conversion
2017-03-31 02:12:49 -05:00
Scott Lahteine c9eb1d6ab7 Make MBL a static class, use lookup for index-to-point conversion 2017-03-31 01:28:07 -05:00
Scott Lahteine de9d2cddc3 Merge pull request #6152 from thinkyhead/rc_cleanup_6150_etc
UBL cleanup, optimization
2017-03-30 17:40:29 -05:00
Scott Lahteine 9217e4b8ec Various UBL cleanups and bug fixes 2017-03-30 17:09:49 -05:00
Scott Lahteine 9924199802 Merge pull request #5908 from thinkyhead/rc_fix_slowdown
General minor cleanup
2017-03-29 21:43:33 -05:00
Scott Lahteine 0e71e7b2fb Cleanup to planner.cpp 2017-03-29 06:48:07 -05:00
Scott Lahteine f105cad43c Marlin: Slight cleanup to Marlin_main.cpp 2017-03-29 06:40:29 -05:00
Scott Lahteine 499f9e04e1 Marlin: Temperature soft-PWM cleanup 2017-03-29 06:37:27 -05:00
Scott Lahteine 7ddd94dc61 Merge pull request #5994 from StefanBruens/fix_Makefile_errors
Fix makefile errors, cleanup
2017-03-29 06:32:08 -05:00
Scott Lahteine af09095f03 Merge pull request #6154 from thinkyhead/rc_fil_sensor_vs_sd
Show Filament Width on LCD when SD is disabled
2017-03-29 05:24:48 -05:00
Remo Kallio d38b1bc4b1 Show filament width sensor values in LCD constantly if SD card support is not enabled. 2017-03-29 04:03:08 -05:00
Scott Lahteine e3459ec178 Merge pull request #5989 from MagoKimbra/rc_fix_delta_angles
Fix delta_angles
2017-03-29 03:35:18 -05:00
Scott Lahteine 592300922c Merge pull request #6149 from thinkyhead/rc_scara_feedrate
Convert feedrate on SCARA from mm/s to deg/s
2017-03-29 03:31:44 -05:00
Scott Lahteine f49aec057f Tweak "can not" => "can't" in RUMBA pins 2017-03-29 01:04:50 -05:00
Scott Lahteine 0a23a1bb3b Dynamic feedrate on SCARA, converting target mm/s to deg/s 2017-03-28 17:21:07 -05:00
Roxy-3D d8724bb546 Get G29's P1 (Automated Probing) working again.
Incorrect optimizations of data types and ternary operators caused some
issues.
2017-03-28 17:11:02 -05:00
Scott Lahteine 8d53298a6d Merge pull request #6139 from thinkyhead/rc_a4jp_scoovo
Board A4JP should be SCOOVO_X9H
2017-03-28 14:06:39 -05:00
Scott Lahteine c7f6ee9c93 Board A4JP should be SCOOVO_X9H 2017-03-27 22:22:13 -05:00
Scott Lahteine 8c07ac7f7c Merge pull request #6133 from thinkyhead/rc_use_safe_delay
Use safe_delay to ensure watchdog reset
2017-03-27 00:18:02 -05:00
Scott Lahteine a9fc30ae2e Use safe_delay to ensure watchdog reset 2017-03-26 23:49:56 -05:00
Roxy-3D 171904b6c7 Make G29 What command print reliably and fix G29 P1 bug Waldo found 2017-03-26 17:05:58 -05:00
Roxy-3D 9d3ac66f73 Map clean up of UBL
UBL's maps are cleaner.   And with a 1 value, G29 O 1  will generate a
map suitable to be Cut & Pasted into Excel so a Suface Map can be
generated.
2017-03-25 18:55:05 -05:00
Roxy-3D 9a1949a91e Cleaned up G26 ready to replace existing one at MarlinFirmware/Marlin 2017-03-25 10:15:40 -05:00
Roxy-3D aec85ad45a Start of process to get UBL running again.
The wait_for_user change totally broke UBL.   But there is stuff wrong
now in the thermal code and/or LCD Panel code.
2017-03-24 18:38:27 -05:00
Scott Lahteine b47eaf14ae Merge pull request #6109 from thinkyhead/rc_soft_pwm_dither
PWM dithering followup
2017-03-24 18:21:07 -05:00
Scott Lahteine 34d1c41b5f Merge pull request #6111 from benlye/benlye-patch-echo_command
Fix type conversion issue with echo_command
2017-03-24 17:57:28 -05:00
Scott Lahteine 7d65911c00 Merge pull request #6110 from thinkyhead/rc_bilinear_and_m851
Adjust bilinear grid in M851
2017-03-24 17:51:25 -05:00
benlye 6a601aca35 Fix type conversion issue with echo_command
With the the current definition of echo_command I cannot compile RCBugFix (Arduino IDE 1.8.1) with the error "invalid conversion from 'const char*' to 'char*'".  This change resolves that.
2017-03-24 17:23:02 +00:00
Scott Lahteine 009a6ddd39 Adjust bilinear grid in M851 2017-03-24 06:28:59 -05:00
Scott Lahteine eab7854a73 Merge pull request #6074 from thinkyhead/rc_immediate_shove
Immediate commands take precedence
2017-03-24 05:52:27 -05:00
Stefan Brüns 5699e2b881 Add SOFT_PWM_DITHER to other configurations 2017-03-24 05:02:24 -05:00
Scott Lahteine 5a2abeca78 Merge pull request #6100 from thinkyhead/rc_soft_pwm_dither
Enhancement of PWM, with dithering
2017-03-24 04:57:40 -05:00
Scott Lahteine 043be2856b Use "& 0x3F" instead of "% 64" 2017-03-24 04:13:50 -05:00
Stefan Brüns 6a040a6967 SOFT_PWM: Do not switch off heaters twice on pwm_count wraparound
After wraparound, pwm_count <= pwm_mask holds, thus soft_pwm_X <= pwm_count
guarantees soft_pwm_X < pwm_mask is true, and the heater will be switched
off in the first branch.
Do not evaluate the pwm conditions a second time, this reduces the
instruction count (4 instructions per PWM) and text size (6 byte).

Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
2017-03-24 04:13:50 -05:00
Stefan Brüns 0a74774af1 soft_pwm: avoid useless refetches of pwm_count
The compiler is not able to reuse the value of pwm_count, but reloads it
on every evaluation, if is stored in a static variable, as it cannot prove
it will be unchanged. A variable with local scope may not be modified from
the outside, so its value can be reused.
Doing so reduces text size and instruction count.

Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
2017-03-24 04:13:50 -05:00
Stefan Brüns 35a55d5757 SOFT_PWM: Implement dithering if SOFT_PWM_SCALE is 1 or more
If dithering is enabled, the remainder of the soft_pwm_X duty value at
turnoff time is added to the next cycle. If e.g. the duty is set to 9 and
SCALE is set to 2, the PWM will be active for 8 counts for 3 cycles and
12 counts on each fourth cycle, i.e. the average is 9 cycles.

This compensates the resolution loss at higher scales and allows running
fans with SOFT_PWM with significantly reduced noise.

Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
2017-03-24 04:13:36 -05:00
Stefan Brüns 2aed66a955 temperature: Fix SOFT_PWM off by one
A 128 step PWM has 127 intervals (0/127 ... 127/127 duty). Currently, a
PWM setting of 1/127 is active for 2/128, i.e. double the expected time,
or, in general n+1/128 instead of n/127.
Fixes issue#6003.

Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
2017-03-24 04:13:36 -05:00
Scott Lahteine 4433b63d7a Merge pull request #6099 from thinkyhead/rc_cleanup_ubl_1
Patch till UBL is integrated with planner-based leveling
2017-03-24 02:07:55 -05:00
Scott Lahteine b5711a99a2 Patches to bring UBL closer to compliance 2017-03-24 01:37:52 -05:00
Scott Lahteine d076c1b604 Apply some general cleanup to code 2017-03-24 01:37:51 -05:00
Scott Lahteine d1e6b0e21a Reduce STEP_PULSE_CYCLES code slightly 2017-03-24 00:50:05 -05:00
Scott Lahteine 783338a0b8 Add UBL_MESH_EDIT_ENABLED to configs 2017-03-24 00:44:55 -05:00
Scott Lahteine 8d54ffbf05 Adjust vector_3 code with const, some optimization 2017-03-23 19:41:42 -05:00
Roxy-3D 8ee2612ebb The hex nibble routine can print again!
The code to print a hex nibble got broke.   SERIAL_ECHO( (char) ) isn't
suitable for its use.
2017-03-23 16:08:37 -05:00
Roxy-3D b8e4a6970b Get UBL up and running again
All the changes to get the code into compliance with Marlin coding
standards made UBL sick.   This pretty much gets UBL back up and
running.
2017-03-23 16:08:37 -05:00
Roxy-3D 5de1da2b3c Make UBL honor the #define ENABLE_LEVELING_FADE_HEIGHT option 2017-03-23 16:08:37 -05:00
Scott Lahteine 8f9face956 Merge pull request #6088 from rafaljot/patch-3
Update Marlin_main.cpp
2017-03-23 01:51:51 -05:00
Scott Lahteine 782634b6c9 Merge pull request #6081 from Sebastianv650/MIN_STEPPER_PULSE_for_Babystepping
Add MINIMUM_STEPPER_PULSE ability to babystepping
2017-03-22 21:57:36 -05:00
Scott Lahteine d29ab8f2a6 Merge pull request #6075 from thinkyhead/rc_cleanup_ubl_1
Additional cleanup of UBL code
2017-03-22 21:45:59 -05:00
Scott Lahteine af2ea23e9c EXTRUDER_RUNOUT_PREVENT uses buffer_line_kinematic 2017-03-22 20:51:12 -05:00
Scott Lahteine cd882b88db #if defined => #ifdef / PIN_EXISTS 2017-03-22 20:51:11 -05:00
Scott Lahteine e244399766 Additional cleanup of UBL code 2017-03-22 20:51:10 -05:00
Bob-the-Kuhn 0934563b97 G38 optional double touch
Made the double touch portion a conditional compile based on the
PROBE_DOUBLE_TOUCH flag.

==============================================

Bugfix

The current G38 only stopped a move if it involved the Z axis.

Moved all the G38 code to it's own section and put it where it would
always be executed no matter what axis was moving or if the endstop was
enabled.

Also added a comment to configuration_adv to alert the user the double
tap had to be turned on.

==============================================

Change G38 back to using Z_MIN_PROBE

There's no Z_MIN endstop if Z_DUAL_ENDSTOPS is enabled and you have them
set to the top of the gantry.

G38 started out as using the Z_MIN_PROBE pin.  I don't remember why we
changed it to the Z_MIN endstop.
2017-03-22 15:08:49 -05:00
Scott Lahteine cc3204509c UBL patch from Bob-the-Kuhn 2017-03-22 07:54:20 -05:00
Scott Lahteine 100c9bc52d Merge pull request #6079 from thinkyhead/rc_audio_feedback
Standard audio feedback. Use for settings store/load/reset
2017-03-22 07:35:57 -05:00
Scott Lahteine b904b5ae8d Audible feedback for settings store/load/reset 2017-03-22 02:15:21 -05:00
Sebastianv650 bf57eb2447 Protect Babystepping against other ISRs
Especialy against stepper ISR.
This is even more important when a minimum pulse width is set,
increasing the runtime of a babystep.
2017-03-21 18:05:44 +01:00
Sebastianv650 80830919dc Add MINIMUM_STEPPER_PULSE ability to babystepping 2017-03-21 17:50:38 +01:00
rafaljot 6da949bbf0 Update Marlin_main.cpp
Sometimes after killing heaters are still on.
2017-03-21 15:06:01 +01:00
Roxy-3D 72f7b14e66 Make G29's Interactive Mesh Editor Work 2017-03-20 12:52:51 -05:00
Roxy-3D 3fd74b121f Get G29's Interactive Mesh Editor running
G29 P4 R O  should work now.
2017-03-20 12:52:51 -05:00
Roxy-3D 1d58558bec Spelling fix 2017-03-20 12:52:51 -05:00
Scott Lahteine 2573f4dd05 Merge pull request #6052 from thinkyhead/rc_lift_on_pause
Add PARK_HEAD_ON_PAUSE feature / M125
2017-03-20 03:36:31 -05:00
Scott Lahteine 48c6284c91 Immediate commands take precedence 2017-03-19 21:50:48 -05:00
Scott Lahteine 786fe2ba2a Include PARK_HEAD_ON_PAUSE in Travis testing 2017-03-19 18:34:58 -05:00
Roxy-3D b3c4f71c6f Merge pull request #6071 from Roxy-3D/RCBugFix
Allow FWRETRACT with UBL Enabled
2017-03-19 16:54:57 -05:00
Roxy-3D 76c270fdf2 Allow FWRETRACT with UBL Enabled
The retraction flag in UBL's G26 was conflicting with the FWRETRACT option.

All fixed!
2017-03-19 15:43:12 -06:00
Roxy-3D 06c31daa53 Merge pull request #6070 from Roxy-3D/RCBugFix
Allow G29 P1 R to generate the mesh
2017-03-19 16:34:48 -05:00
Roxy-3D c377c59d47 Allow G29 P1 R to generate the mesh
Fix the logic change that happened when UBL got merged.
2017-03-19 15:13:33 -06:00
Scott Lahteine ff0dd162b7 PARK_HEAD_ON_PAUSE implementation 2017-03-19 07:27:35 -05:00
Scott Lahteine 26473cab6d Add PARK_HEAD_ON_PAUSE feature 2017-03-19 05:06:55 -05:00
Scott Lahteine 4cf51157b3 Use XYZE rather than NUM_AXIS 2017-03-19 01:14:39 -05:00
Scott Lahteine 4c7f14752a Add disable_e_steppers function 2017-03-19 01:14:39 -05:00
Scott Lahteine 8eb29f91e6 Patch filament change options and beep code 2017-03-19 01:14:39 -05:00
Scott Lahteine 56c9dfc83b Merge pull request #6066 from thinkyhead/rc_felix_fix
Update Felix config for UBL
2017-03-19 01:11:02 -05:00
Scott Lahteine 9b2b53f63a Merge pull request #6042 from thinkyhead/rc_fix_toolchange_z
Move Z last in tool-change for SWITCHING_EXTRUDER
2017-03-19 00:34:41 -05:00
Scott Lahteine f98fb6b38e Update Felix config for UBL 2017-03-19 00:28:48 -05:00
Scott Lahteine 7cabe81373 Merge pull request #6057 from thinkyhead/rc_followup_6054
Followup 6054 with some cleanup
2017-03-18 13:49:20 -05:00
Scott Lahteine 4bca27ab89 Fix Kelvin conversion
Thanks to @ospalh -- #6056
2017-03-18 13:23:08 -05:00
Scott Lahteine 143ab8f329 Remove Roxy's personal configurations 2017-03-18 12:35:02 -05:00
Scott Lahteine 2512871a36 Patch configs UBL followup 2017-03-18 12:32:03 -05:00
Scott Lahteine 27b5666e15 Move Allen Key probe definition to the top 2017-03-18 12:27:37 -05:00
Scott Lahteine 77cf648ed3 Move menu selection past static items in 1 screen 2017-03-18 12:26:21 -05:00
Scott Lahteine 2c630a1b5c Merge pull request #6054 from thinkyhead/rc_ubl_renewal
UBL for RCBugFix — cleanup, rebase, patch
2017-03-18 12:07:57 -05:00
Scott Lahteine 0492a3a8f1 Merge pull request #6027 from Bob-the-Kuhn/add_kill_info
Message for every KILL and STOP
2017-03-18 11:49:35 -05:00
Scott Lahteine fba22652fc Add UBL testing to Travis 2017-03-18 11:35:21 -05:00
Scott Lahteine 6618346148 Patches to work around "register spill" compiler bug 2017-03-18 11:35:21 -05:00
Scott Lahteine be7dd90382 Add Thermistor 75: MGB18 silicon pad 2017-03-18 11:35:20 -05:00
Scott Lahteine f890ceba9e Add 'tags' to .gitignore 2017-03-18 11:35:20 -05:00
Scott Lahteine b0a9c82c31 Fix single-char echo and pinMode usage 2017-03-18 11:35:20 -05:00
Scott Lahteine fb60aa3736 UBL implementation 2017-03-18 11:35:20 -05:00
Scott Lahteine 238b8fd2a3 UBL core and support files 2017-03-18 11:35:19 -05:00
Scott Lahteine cf94688925 Univeral Bed Leveling - configuration 2017-03-18 11:35:19 -05:00
Scott Lahteine 03aa424ccb Merge pull request #6053 from thinkyhead/rc_clean
Remove extraneous whitespace
2017-03-18 03:26:45 -05:00
Scott Lahteine af644871bf Merge pull request #6045 from thinkyhead/rc_remove_raw_kinematics
Remove delta optimization concepts… for now
2017-03-18 03:26:24 -05:00
Scott Lahteine 77491dd924 Remove extraneous whitespace 2017-03-18 03:17:39 -05:00
Scott Lahteine ed4f9d7e1c Merge pull request #6046 from robbycandra/RCBugFix-ignore_visual_studio_files
Ignore Visual Studio Files
2017-03-17 22:25:01 -05:00
Scott Lahteine d15f25539b Merge pull request #6031 from thinkyhead/rc_mbl_z_unhack
MBL: Disable sw endstops instead of altering Z
2017-03-17 17:20:35 -05:00
Robby Candra 0dada36e5a Ignore Visual Studio Files 2017-03-17 22:13:46 +07:00
Scott Lahteine b865b21d32 Can't use Z fade height with DELTA 2017-03-17 08:34:47 -05:00
Scott Lahteine 1e57b0c269 Remove delta interpolation concept 2017-03-17 06:32:11 -05:00
Scott Lahteine e46898f8e5 Remove kinematic optimizations 2017-03-17 06:30:22 -05:00
Scott Lahteine 11f1fdfab4 _lcd_level_bed_position => manual_probe_index 2017-03-17 06:05:17 -05:00
Scott Lahteine 0e410c9dfd Software endstop options as simple switches 2017-03-17 06:05:17 -05:00
Scott Lahteine d01b915085 Implement soft_endstops_enabled for clamping 2017-03-17 06:05:17 -05:00
Scott Lahteine e4649c9044 Add HAS_SOFTWARE_ENDSTOPS macro 2017-03-17 06:05:17 -05:00
Scott Lahteine 3e927ff204 Replace MBL Z hacking 2017-03-17 06:05:17 -05:00
Scott Lahteine 4e53124681 Merge pull request #6039 from Bob-the-Kuhn/M114-sync-with-stepper
M114 - wait for move completion before reporting position
2017-03-17 05:22:46 -05:00
Scott Lahteine 734f9ea133 Merge pull request #6040 from thinkyhead/rc_sanity_use_assert
Simplify some sanity checks with static_assert
2017-03-17 05:22:17 -05:00
Scott Lahteine f02af83d42 Remove some extraneous spaces 2017-03-16 23:59:11 -05:00
Scott Lahteine 672e45652e Improved solution to tool-change bug 2017-03-16 23:59:10 -05:00
Scott Lahteine 23f1cfb46f Fix stuck CHDK pin as suggested in #6041 2017-03-16 21:49:39 -05:00
Scott Lahteine 0b22069e82 Merge pull request #6021 from Bob-the-Kuhn/BUG-FIX--Switching-extruder-tool-change-Z-height
Bug Fix: Switching extruder tool change leaves Z in wrong position
2017-03-16 21:15:20 -05:00
Scott Lahteine e7e4500629 Simplify some sanity checks with static_assert 2017-03-16 16:31:34 -05:00
Bob-the-Kuhn 34ff0c3439 M114 - wait for move completion before reporting position 2017-03-16 15:10:45 -05:00
Bob-the-Kuhn b31604a492 Message for every KILL and STOP
No more mystery halts & resets

Moved messages to language.h

Added current command to inactive timeout message
2017-03-15 21:05:11 -05:00
Roxy-3D 48925b7298 Merge pull request #6032 from Kaibob2/patch-7
Update language_de.h
2017-03-15 10:31:09 -05:00
Kai 13b44d019b Update language_de.h
Addition of missing strings to match language_en.h
2017-03-15 16:06:52 +01:00
Bob-the-Kuhn 685ed5393a Bug Fix: Switching extruder tool change leaves Z in wrong position
The tool_change function saves the current_position to the destination
array soon after starting.  Later in the switching extruder section, the
destination array is modified when moving the Z axis up & down.  A later
section of tool_change moves the head back to the “original location”
using the destination array.  This later section assumes that the
destination array hasn’t been modified.

The fix is to save the destination Z position and then restore it after
the Z movements have completed.

Going back to using the current_position array for the switching
extruder Z axis moves (and  leaving the destination array untouched)
doesn’t fix the problem.

This bug was introduced by the “Make tool_change kinematic compatible”
commit # 847429eff4 which was merged on 10
Oct 2016 as part of PR 4982.

This bug was discovered in Issue 5966.
2017-03-14 02:36:24 -05:00
Scott Lahteine 51353f8fea Merge pull request #6000 from trivalik/NoWorkspaceWarning
prevent warning with define of NO_WORKSPACE_OFFSETS
2017-03-12 00:00:51 -06:00
Scott Lahteine 54dada56a7 Merge pull request #6010 from MagoKimbra/rc_fix_bug_set_position_mm
Fix BUG set_position_mm
2017-03-12 00:00:16 -06:00
MagoKimbra a4a9bd8bc9 Fix BUG set_position_mm
Set postion must have axis and not E_AXIS + active_extruder.
2017-03-11 14:13:39 +01:00
Trivalik 71ac6f9d42 prevent warning with define of NO_WORKSPACE_OFFSETS 2017-03-09 23:49:57 +01:00
Stefan Brüns 9ba6c051a1 Makefile: add nozzle.cpp too CXXSRC list
The file is required by the optional NOZZLE_PARK_FEATURE.

Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
2017-03-09 03:08:49 +01:00
Stefan Brüns 9cc8d495b8 Makefile: remove no longer existing search paths
ArduinoAddons has been removed from Marlin, remove any references to it.
Replace HARDWARE_SRC and HARDWARE_DIR with its expanded equivalents.

Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
2017-03-09 01:46:47 +01:00
Stefan Brüns bf563e62c1 Makefile: add printcounter.cpp too CXXSRC list
The file is required by the optional PRINTCOUNTER feature.

Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
2017-03-09 01:45:54 +01:00
Stefan Brüns ddecc1441d Makefile: Fix linker error
Instantiation of the static singleton instance thermalManager in general
requires locking, but we know its safe to do without.

Add -fno-threadsafe-statics to avoid using locking primitives, which
result in linking errors:
	undefined reference to `__cxa_guard_acquire'
	undefined reference to `__cxa_guard_release'

Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
2017-03-09 01:45:38 +01:00
MagoKimbra 37a26dfc09 Fix delta_angles 2017-03-08 09:23:30 +01:00
Scott Lahteine 6caf0830ae Merge pull request #5985 from thinkyhead/rc_better_endstops_init
Use SET_INPUT_PULLUP where appropriate
2017-03-08 00:08:30 -06:00
Scott Lahteine 2defb1d748 Use SET_INPUT_PULLUP where appropriate 2017-03-07 23:43:33 -06:00
Scott Lahteine deb9d0dabd Merge pull request #5984 from thinkyhead/rc_delta_angles
Add delta_tower_angle_trim
2017-03-07 19:41:24 -06:00
Scott Lahteine 58b3e98878 Use arrays for delta tower parameters 2017-03-07 19:00:22 -06:00
Scott Lahteine 47242a40bb Apply updated changes for delta_tower_angle_trim 2017-03-07 18:15:11 -06:00
Jimmy Envall 00b6b3da79 Added support for delta tower angle corrections. 2017-03-07 16:35:58 -06:00
Scott Lahteine 7c9e2e2a1a Merge pull request #5981 from thinkyhead/rc_tmc2130_redo
TMC2130 Library: @teemuatlut replaces @makertum
2017-03-07 16:23:52 -06:00
Scott Lahteine 5a456c832a Apply TMC2130 to example configurations 2017-03-07 04:22:06 -06:00
Scott Lahteine 45f949d833 TMC2130 Library: @teemuatlut replaces @makertum 2017-03-07 04:22:06 -06:00
Scott Lahteine 33f8a8a344 Merge pull request #5973 from thinkyhead/rc_circle_pattern
Add circle pattern to nozzle clean
2017-03-06 04:47:01 -06:00
Scott Lahteine 94b3e0a483 Merge pull request #5959 from benlye/benlye-fixm48
Remove extra carriage return in M48 V1 output
2017-03-06 04:24:28 -06:00
Scott Lahteine a9a1971295 Merge pull request #5972 from thinkyhead/rc_cooldown_before
Fix preheat menu formatting
2017-03-06 03:21:29 -06:00
Scott Lahteine 6aa81255a9 Patch and clean up "flsun" kossel. Followup to #5911. 2017-03-06 03:15:00 -06:00
Scott Lahteine b2270b3f3e Apply prior nozzle clean update 2017-03-06 03:14:59 -06:00
Marek Pikuła 7698c5617a Added circle nozzle cleaning parameters to example configurations 2017-03-06 03:04:58 -06:00
Marek Pikuła 6836b94eea Added circle pattern for nozzle cleaning feature 2017-03-06 03:03:00 -06:00
Scott Lahteine 3b75518ef6 Merge pull request #5911 from aphex3k/flsun_kossel_mini
Configuration.h and Configuration_adv.h for the kossel mini by flsun
2017-03-06 02:26:01 -06:00
Scott Lahteine 3830778852 Apply NO_WORKSPACE_OFFSETS to lcd menu 2017-03-06 02:21:42 -06:00
Scott Lahteine 7e3aab889d Fix preheat menu formatting 2017-03-06 02:07:07 -06:00
Scott Lahteine fea0d3f20f Endstop and temp-isr general cleanup 2017-03-06 02:07:07 -06:00
Scott Lahteine aef08e8780 Compact some macro substitutions 2017-03-06 02:07:07 -06:00
Scott Lahteine 2f620f86d9 Merge pull request #5970 from thinkyhead/rc_cooldown_before
Preheat Hotend Only menu items
2017-03-06 01:56:05 -06:00
Scott Lahteine 02de8e6f18 Merge pull request #5957 from MagoKimbra/rc_stepper_indirection_fix
Stepper indirection fix tmc driver
2017-03-06 01:16:40 -06:00
Scott Lahteine 6c5312559c Menu item to preheat only the hotend 2017-03-06 01:14:54 -06:00
Scott Lahteine 9d0142e8ae Move Change Filament above Cooldown 2017-03-06 01:13:12 -06:00
Scott Lahteine 0c55095c5e Move Cooldown above Preheat 2017-03-06 01:13:12 -06:00
Scott Lahteine c15c65f18a Merge pull request #5971 from thinkyhead/rc_fix_e_factors
Patch DISTINCT_E_FACTORS bug
2017-03-06 01:11:17 -06:00
Scott Lahteine bfb0007573 Patch DISTINCT_E_FACTORS bug 2017-03-05 23:19:31 -06:00
Scott Lahteine be98016674 Merge pull request #5963 from thinkyhead/rc_no_offsets_optim
New option: NO_WORKSPACE_OFFSETS
2017-03-05 21:46:49 -06:00
Scott Lahteine 8e89a802f7 Document PROTOCOL_VERSION 2017-03-05 04:43:46 -06:00
Scott Lahteine 87b03b16bd Use a macro for array copies 2017-03-05 04:43:46 -06:00
Scott Lahteine e141f3a03f Optimize coordinate transformation
Pre-compute the combined position shift and home offset to save a
single float fetch-and-add per conversion. Great for delta/scara and
bed leveling.
2017-03-05 04:43:16 -06:00
Scott Lahteine 5f7e85398b Implement NO_WORKSPACE_OFFSETS 2017-03-05 04:43:15 -06:00
Scott Lahteine 05abe853f9 New option: NO_WORKSPACE_OFFSETS 2017-03-05 04:43:15 -06:00
Scott Lahteine 20addc6e32 Merge pull request #5955 from thinkyhead/rc_eeprom_fail_better
Display a message for EEPROM version mismatch
2017-03-04 17:15:07 -06:00
benlye dead89062a Update Marlin_main.cpp
Remove unnecessary line break from M48 V1 output.
2017-03-04 17:58:10 +00:00
MagoKimbra ae277aebc6 Stepper indirection fix tmc driver 2017-03-04 12:17:39 +01:00
Scott Lahteine 8f4e4b1995 Display a message for EEPROM version mismatch 2017-03-04 01:20:36 -06:00
Scott Lahteine 177ad245f6 Merge pull request #5953 from thinkyhead/fix_fc_e_index
Fix submenu hotend status display
2017-03-04 00:12:29 -06:00
Scott Lahteine cea3ea772c Fix submenu hotend status display 2017-03-03 22:12:22 -06:00
Scott Lahteine b27f69ba51 Merge pull request #5813 from thinkyhead/rc_fix_makrpanel
Fix MAKRPANEL assignments
2017-03-03 21:40:49 -06:00
Scott Lahteine 1ef6ccd919 Merge pull request #5951 from thinkyhead/rc_print_2d_array
Reduce code size (40b, or 166b with bilinear subdivision)
2017-03-03 21:27:44 -06:00
Scott Lahteine b9b203bfb2 Merge pull request #5950 from thinkyhead/rc_cleanup_mar3
General cleanup, const usage, var naming
2017-03-03 21:25:34 -06:00
Scott Lahteine 53f5086905 Fix MAKRPANEL assignments
MAKRPANEL is a DOGLCD+ULTRA_LCD+NEWPANEL so customize its pins within
that block.
2017-03-03 21:22:21 -06:00
Scott Lahteine 98c7b682ca General cleanup, const usage, var naming 2017-03-03 20:57:49 -06:00
jes 369bfc8a1e Reduce code size (40b, or 166b with bilinear subdivision) 2017-03-03 20:36:32 -06:00
Scott Lahteine 21fb347eee Merge pull request #5948 from thinkyhead/rc_fix_status_printf
Fix "Heating..." message
2017-03-03 12:28:27 -06:00
Scott Lahteine 0d13412105 Fix "Heating..." message 2017-03-03 12:12:51 -06:00
Scott Lahteine 5065636023 Merge pull request #5934 from thinkyhead/rc_advance_ed_ratio
LIN_ADVANCE: Fixed E/D ratio option
2017-03-03 03:24:41 -06:00
Scott Lahteine 903808bb97 Merge pull request #5943 from thinkyhead/catalan_march_2017
Update Catalan language
2017-03-03 03:13:51 -06:00
divendres 75ad82baab Update Catalan language 2017-03-02 20:40:06 -06:00
Scott Lahteine 34253497d4 Babysteps code tweak
As suggested by https://github.com/MarlinFirmware/Marlin/pull/5887#issuecomment-283832163
2017-03-02 20:35:45 -06:00
Scott Lahteine e309e980ce Merge pull request #5942 from thinkyhead/rc_cleanup_finish_5887
Clean up and finish #5887
2017-03-02 20:26:13 -06:00
Scott Lahteine fb4aead2b1 Clean up and finish #5887 2017-03-02 20:16:29 -06:00
Scott Lahteine b3e2bd6f29 Reduce E_D_ratio code 2017-03-02 01:00:37 -06:00
Sebastianv650 de6c40ed8f Add option to fix E/D ratio
Work around for slicers producing buggy gcode.
2017-03-02 01:00:37 -06:00
Scott Lahteine eeb490221f Remove BEEPER_PIN override in pins_RIGIDBOARD.h
Resolves #5926. This override is no longer needed since the RAMPS LCD controller pins were fixed.
2017-03-01 18:26:29 -06:00
Roxy-3D 11e892bd84 Merge pull request #5887 from Roxy-3D/RCBugFix
Double Click of Encoder Wheel Jumps to Z-BabyStepping
2017-03-01 17:15:02 -07:00
Scott Lahteine cbeff12f8a Merge pull request #5933 from teemuatlut/lcd_days_hours
Fix formatting of SD print time hours above one day
2017-03-01 15:44:10 -06:00
Scott Lahteine 8a4e9d08a3 Merge pull request #5931 from thinkyhead/rc_core_endstop_fix
Fix CoreYX / YZ / ZX endstop logic
2017-03-01 15:32:11 -06:00
teemuatlut 9175d16660 Fix formatting of print time hours above one day 2017-03-01 18:55:25 +02:00
Scott Lahteine b6d9eb229f Extend Core endstop commentary 2017-03-01 10:01:50 -06:00
Bob-the-Kuhn c5e08e8761 CoreYX/YZ/ZX needs different endstop logic than CoreXY/YZ/XZ
In the endstop testing section, add the "reverse" logic in addition to "normal" core handling.

In CoreXY/YZ/XZ steppers rotating the same direction gives X movement. Opposing directions produces Y movement.

In CoreYX/ZY/ZX this is reversed. Same = Y, Opposite = X.

----

Fixes the issue where the Y endstop was being checked when moving in the X direction, etc.
2017-03-01 09:40:24 -06:00
Scott Lahteine 05b217c0d0 Merge pull request #5930 from thinkyhead/rc_lcd_timeout_config
Make LCD_TIMEOUT_TO_STATUS configurable
2017-02-28 19:42:27 -06:00
Scott Lahteine c759c26cca Make LCD_TIMEOUT_TO_STATUS configurable
As suggested in
https://github.com/MarlinFirmware/Marlin/issues/5570#issuecomment-283059
065
2017-02-28 19:02:50 -06:00
Michael Henke 47729918fc enable ENSURE_SMOOTH_MOVES 2017-02-27 20:42:49 -08:00
Michael Henke 330b981912 created Configuration.h and Configuration_adv.h for the kossel mini sold by flsun 2017-02-25 21:31:37 -08:00
Scott Lahteine 493e738575 Merge pull request #5910 from thinkyhead/rc_more_nozzle_wipe
Bidirectional Zig-Zag Nozzle Wipe
2017-02-25 22:03:33 -06:00
Colin Gilgenbach 48b7e0f8d8 Nozzle Wipe Vertical Zig-Zag
- Add configuration support for zigzags in either the X or Y axis, for
wipe pads significantly longer in one dimension.
- Add configuration for default number of zig-zag triangles, vs. a
magic number in `Marlin_main.cpp`.
- Update description of auto nozzle wiping to match functionality
2017-02-25 21:52:43 -06:00
Scott Lahteine f17b81b765 Add MAPPER_C2C3 to French language 2017-02-25 18:49:00 -06:00
Roxy-3D 7e607b06eb Better comments on DOUBLE_CLICK_TIME_WINDOW 2017-02-23 13:13:57 -07:00
Scott Lahteine f9e4717f5b Merge pull request #5892 from thinkyhead/rc_msg_heating_pstr
Use PSTR for MSG_HEATING
2017-02-22 12:26:08 -06:00
Scott Lahteine 34cba42104 Use PSTR for MSG_HEATING 2017-02-22 11:30:19 -06:00
Roxy-3D 584d147a02 fixup the indentation 2017-02-22 07:23:54 -07:00
Roxy-3D e443e0e2a9 Fix scoping issues for double click to Z-Babystepping 2017-02-21 18:15:28 -07:00
Roxy-3D 17d1cd7c09 Double Click of Encoder Wheel Jumps to Z-BabyStepping 2017-02-21 18:08:19 -07:00
Roxy-3D 48d862377a Double Click of Encoder Wheel Jumps to Z-BabyStepping 2017-02-21 18:04:31 -07:00
Scott Lahteine cfdc189796 Merge pull request #5856 from thinkyhead/rc_fix_bad_comment
Remove non-applicable comment on MANUAL_Z_HOME_POS
2017-02-20 17:54:30 -06:00
Scott Lahteine 2efdc72aa5 Merge pull request #5876 from thinkyhead/rc_hotend_status
Add status_printf to print messages to the lcd status line.
2017-02-20 17:29:27 -06:00
dot-bob cd68380ce6 Add status_printf to print messages to the lcd status line.
Also add a hotend indicator to the heating message displayed on the lcd status line.
2017-02-20 15:26:54 -06:00
Scott Lahteine 012aff6823 Merge pull request #5862 from thinkyhead/rc_fix_a_thing
Finish reducing of ABL_BILINEAR_SUBDIVISION
2017-02-18 21:36:28 -06:00
Scott Lahteine b9187020c4 Finish reducing of ABL_BILINEAR_SUBDIVISION 2017-02-18 20:01:19 -06:00
Scott Lahteine e282b72151 Remove non-applicable comment on MANUAL_Z_HOME_POS 2017-02-18 05:14:43 -06:00
Scott Lahteine 49d562d23d Merge pull request #5855 from thinkyhead/rc_followup_5840
Apply DISTINCT_E_FACTORS to sync_from_steppers
2017-02-18 04:51:01 -06:00
Scott Lahteine 57f92a4632 Apply DISTINCT_E_FACTORS to sync_from_steppers
Followup to #5840
2017-02-18 04:36:41 -06:00
Scott Lahteine 4da8b1494b Merge pull request #5854 from thinkyhead/rc_fixup_m600
M600 cleanup and bugfix
2017-02-18 04:27:13 -06:00
Scott Lahteine dd02dba6e6 Merge pull request #5840 from MagoKimbra/rc_fix_lin_advanced_step_to_mm
Fix steps_to_mm for active extruders
2017-02-18 04:25:53 -06:00
Scott Lahteine 6e0b3fcc08 Optimize M600 heater status LCD items 2017-02-18 04:08:00 -06:00
Scott Lahteine 44b4e116bd Commentary / style in gcode_M600 2017-02-18 04:08:00 -06:00
Scott Lahteine 561904345f Tweak config ordering for M600 2017-02-18 00:01:31 -06:00
Scott Lahteine 7fdc620ef7 Merge pull request #5850 from thinkyhead/drop_some_comments
Remove some old code comments
2017-02-17 16:45:44 -06:00
Scott Lahteine 284d6de9da Remove some old code comments 2017-02-17 15:25:56 -06:00
MagoKimbra 3685224c1a Fix steps_to_mm for active extruders 2017-02-15 21:45:39 +01:00
Scott Lahteine babe1d211c Merge pull request #5794 from thinkyhead/rc_m600_improve
M600 wait for heatup, prevent stepper timeout, etc.
2017-02-15 05:38:06 -06:00
Scott Lahteine 4578c573fe Pause the print job timer while in M600 2017-02-15 05:29:34 -06:00
Scott Lahteine bfe6f71794 Simplify filament_change_beep function 2017-02-15 05:29:34 -06:00
Scott Lahteine 8289ea1316 Use a short name for the filament "endstop" 2017-02-15 05:29:34 -06:00
Scott Lahteine d9dcef8a87 Spacing, coding standards 2017-02-15 05:29:34 -06:00
Scott Lahteine 931914e679 Apply M600 updates to all configs 2017-02-15 05:29:34 -06:00
Roxy-3D 8bf0b496b9 Improve M600 with timeout, wait for heatup. 2017-02-15 05:29:34 -06:00
Scott Lahteine 58b8e0cae7 Merge pull request #5837 from thinkyhead/rc_fix_mbl_homing
Fix broken homing in MBL
2017-02-15 04:48:30 -06:00
Tannoo c40fe2113c Fix for broken MBL
LCD call was waiting forever, causing the system to hang.
2017-02-15 04:39:22 -06:00
Scott Lahteine 4d4745c0eb Parenthesize some menu defines for safety 2017-02-14 23:12:27 -06:00
Scott Lahteine 20ef0a6e27 Merge pull request #3152 from thinkyhead/sd_alpha_sort
SD files alphabetical sort in LCD menus
2017-02-14 21:48:57 -06:00
Scott Lahteine 47f9883b0f Dynamic allocation for SDCARD_SORT_ALPHA 2017-02-14 21:37:25 -06:00
Scott Lahteine a561bd5e3a New feature: SDCARD_SORT_ALPHA 2017-02-14 21:37:24 -06:00
Scott Lahteine c04d6b5aa6 Merge pull request #5829 from thinkyhead/rc_fix_isr_reentry
Combine fixes for LIN_ADVANCE and temperature ISR
2017-02-14 20:36:58 -06:00
Scott Lahteine 467f01435f Merge pull request #5816 from thinkyhead/rc_abl_virt_reduce
Reduce memory use by ABL_BILINEAR_SUBDIVISION slightly
2017-02-14 08:41:44 -06:00
Scott Lahteine 97b6fb6381 Reduce / optimize LIN_ADVANCE code 2017-02-14 07:52:03 -06:00
Sebastianv650 271ced7341 Prevent re-entering of temperature ISR
If Marlin is inside the temperature ISR, the stepper ISR is enabled. If
a stepper event is now happening Marlin will proceed with the stepper
ISR. Now, at the end of the stepper ISR, the temperatre ISR gets enabled
again. While Marlin proceed the rest of the temperature ISR, it's now
vulnerable to a second ISR call.
2017-02-14 07:52:03 -06:00
Sebastianv650 1b59766fcb Cleanup position_float
Hopefully fixes Marlin #5481
2017-02-12 13:09:06 +01:00
Scott Lahteine a950c31e2d Merge pull request #5815 from thinkyhead/rc_pulses_per_step
Give encoder pulse/steps conditionals their own block
2017-02-12 04:14:00 -06:00
Scott Lahteine 7176de8605 Merge pull request #5814 from thinkyhead/hotend_loop_always
Make HOTEND_LOOP more consistent, let compiler optimize it
2017-02-12 04:13:14 -06:00
Scott Lahteine adec219ca5 Merge pull request #5811 from thinkyhead/fix_two_strings
No space after X: or A: in M114 output
2017-02-12 04:11:51 -06:00
jes eaa829b58c Reduce memory use by ABL_BILINEAR_SUBDIVISION slightly 2017-02-12 04:09:48 -06:00
Scott Lahteine 1c99ca82d8 Give encoder pulse/steps conditionals their own block 2017-02-12 03:57:57 -06:00
Scott Lahteine e44294bb4d Make HOTEND_LOOP more consistent, let compiler optimize it 2017-02-12 02:50:38 -06:00
Scott Lahteine 701f4a6d9d Merge pull request #5729 from Bob-the-Kuhn/guaranteed-BLTouch-detection
guaranteed BLTouch detection
2017-02-12 01:13:35 -06:00
Scott Lahteine c15b9a6a06 No space after X: or A: in M114 output 2017-02-12 00:10:03 -06:00
Scott Lahteine e1702816f6 Fix SD_CHECK_AND_RETRY condition
Addressing #5806
2017-02-11 23:55:56 -06:00
Scott Lahteine c64ecf95e2 Merge pull request #5808 from thinkyhead/rc_delta_float_radius
Cast DELTA_PRINTABLE_RADIUS to float in sq()
2017-02-11 23:43:46 -06:00
Scott Lahteine 1bc5be3bdf Cast DELTA_PRINTABLE_RADIUS to float in sq()
Addressing #5625
2017-02-11 23:28:39 -06:00
Bob-the-Kuhn 0369f97ec1 guaranteed BLTouch detection
To guarantee that the 5mS pulse from a BLTouch is recognized you need to
have the endstops.update() routine run twice in that 5mS period.

At 200 steps per mm, my system has problems  below a feedrate of 120 mm
per minute.

Two things were done to guarantee the two updates within 5mS:
1) In interrupt mode, a check was added to the temperature ISR.  If the
endstop interrupt flag/counter is active then it'll kick off the endstop
update routine every 1mS until the flag/counter is zero.  This
flag/counter is decremented by the temperature ISR AND by the stepper
ISR.

2) In poling mode, code was added to the stepper ISR that will make sure
the ISR runs about every 1.5mS.  The "extra" ISR runs only check the
endstops.  This was done by grabbing the intended ISR delay and, if it's
over 2.0mS, splitting the intended delay into multiple smaller delays.
The first delay can be up to 2.0mS, the next ones 1.5mS (as needed) and
the last no less than 0.5mS.

=========================================

BLTouch error state recovery

If BLTouch already active when deploying the probe then try to reset it
& clear the probe.

If that doesn't fix it then declare an error.

Also added BLTouch init routine to startup section
2017-02-11 12:01:34 -06:00
Scott Lahteine 1e4d4e5915 Fix typo in language_uk
Thanks to @pavlus for this one
2017-02-10 15:34:31 -06:00
Scott Lahteine 7fe7a0c8be Merge pull request #5793 from thinkyhead/rc_adjust_probe_output
Adjust probe_pt() terminal output to respect probe z-offset
2017-02-09 23:05:02 -06:00
Scott Lahteine 633c253bc1 Merge pull request #5792 from thinkyhead/rc_default_dac_vals
Default DAC values for RigidBoard V2
2017-02-09 22:56:03 -06:00
Florian Heilmann 7bbc31704c Adjust probe_pt() terminal output to respect probe z-offset 2017-02-09 22:54:22 -06:00
Scott Lahteine 6dac1fe07e Merge pull request #5701 from tohara/RCBugFixCmake
Updated CMakeLists
2017-02-09 22:45:05 -06:00
Scott Lahteine a245656db3 Merge pull request #5713 from gege2b/RCBF-French
French translation : Added missing strings as well as missing accents
2017-02-09 22:43:56 -06:00
jaysonkelly 713931338a Default DAC values for RigidBoard V2 2017-02-09 22:39:00 -06:00
Scott Lahteine fb11e52cd2 Merge pull request #5787 from thinkyhead/rc_bob_pins_added
pinsDebug for 644/1284 & USB646/1286 families
2017-02-09 15:07:55 -06:00
Bob-the-Kuhn ae706233a8 pinsDebug for 644/1284 & USB646/1286 families
added conditional compilation for PWMs 1C & 3C

add Teensyduino compatibility

==========================================

changes per review - minor formatting changes

1) remove non-printable character at the end of line 687

2) split a really long comment into two lines

3) got rid of some trailing spaces

============================================

Made pinsDebug_Teensyduino.h the same between this PR and PR 5668 which
is for a re-written pinsDebug.h file.

The changes were:
1) added copyright @ GNU license header
2) a blank line crept in.
2017-02-09 07:24:02 -06:00
Gege2B 22dfcc9a71 French translation : Added missing strings as well as missing accents 2017-01-17 23:29:23 +01:00
Tom Haraldseid 1d65b4b316 Updated CMakeLists 2017-01-15 13:39:26 +08:00
Scott Lahteine 9b5515926a Merge pull request #5696 from thinkyhead/rc_volumetric_default
Allow enabling volumetric filament on config load
2017-01-14 05:48:51 -08:00
Robert Kirk 0d147ead66 Allow enabling volumetric filament on config load 2017-01-14 04:37:49 -08:00
Scott Lahteine d3cb1a86be Merge pull request #5691 from AnHardt/fix5677
Fix M110 without leading N
2017-01-14 03:22:26 -08:00
AnHardt fa26767efe Replace all remaining 'boolean' with 'bool' 2017-01-13 13:03:52 +01:00
AnHardt f6858d9974 Fix M110 without leading N
Store N in the right variable.
This is too rarely used.

"mea culpa, mea culpa, mea maxima culpa"
2017-01-13 12:33:50 +01:00
Scott Lahteine 0c0c840ba8 Merge pull request #5683 from emartinez167/EMartinez-Changes
Updates to some incorrectly ended strings in the Spanish translation
2017-01-12 07:49:15 -08:00
Scott Lahteine 738b87091a Merge pull request #5684 from Kaibob2/patch-6
Update language_de.h
2017-01-12 07:48:41 -08:00
Kai 25dae3bccc Update language_de.h
Small corrections
2017-01-12 16:06:58 +01:00
emartinez167 7292145f4e Fix for some wrong strings
On last commit, some strings were ended with the incorrect character.
This fixes it.
2017-01-12 22:35:04 +08:00
emartinez167 3dee35888e Merge remote-tracking branch 'MarlinFirmware/RCBugFix' into EMartinez-Changes 2017-01-12 22:22:52 +08:00
Scott Lahteine 93a9aa6b76 Merge pull request #5682 from thinkyhead/rc_spanish_jan
Updates to Spanish language
2017-01-12 06:14:10 -08:00
Scott Lahteine 7a9c1a279b Merge pull request #5681 from thinkyhead/rc_prevent_boot_loop
Reset watchdog in SD init to prevent reboot
2017-01-12 06:13:56 -08:00
Scott Lahteine e409c7f9e8 Merge pull request #5645 from esenapaj/From-microseconds-to-milliseconds
From "microseconds" to "milliseconds"
2017-01-12 06:02:55 -08:00
emartinez167 020c6af7b0 Updates to Spanish language
Add missing Spanish language definitions.
2017-01-12 05:53:39 -08:00
Hans Raaf d29cc8f7bc Reset watchdog in SD init to prevent reboot
If the watchdog is enabled and bootscreen + SD card checks take too long, Marlin may hang at boot time because of the reset loop. We have this happen all the time with the Anet board if no SD card is inserted.
2017-01-12 05:33:38 -08:00
Scott Lahteine 7743849608 Merge pull request #5680 from thinkyhead/rc_configs_puhlease
code_value_float tweak
2017-01-12 05:22:47 -08:00
Scott Lahteine 16357fbfdf Merge pull request #5619 from Ocarthon/RCBugFix
Disable SD Detect for K8400
2017-01-12 05:22:03 -08:00
Scott Lahteine e57c0fce66 Move MOSFET changes above #include for RIGIDBOARD
Correction to #5629
2017-01-12 04:46:49 -08:00
Scott Lahteine c376f6a2cb code_value_float tweak 2017-01-12 04:38:09 -08:00
Scott Lahteine fb3c30e24c Fix lcd_wait_for_homing causing menu to block
As a showcase function for how to do waiting in the lcd menu, this function should be preserved.
2017-01-12 04:37:23 -08:00
Scott Lahteine f8ae0fd29f Merge pull request #5647 from manianac/RCBugFix-PrepareMenuFix
Fix empty Prepare menu
2017-01-12 04:20:18 -08:00
Robert Kirk aab5118c6a Remove error causing break command
Use index macro instead of e
2017-01-01 17:47:01 -05:00
esenapaj d38e335272 From "microseconds" to "milliseconds"
delay() is milliseconds
2017-01-02 01:19:33 +09:00
Scott Lahteine 34d5eb5201 Merge pull request #5589 from thinkyhead/rc_configs_puhlease
Better sanity check for FILAMENT_CHANGE_FEATURE, FILAMENT_RUNOUT_SCRIPT
2016-12-30 04:56:30 -08:00
emartinez167 a2fe24f319 Fix some errors and update a message 2016-12-29 23:34:42 +08:00
Philip Standt 8ae2bc7e2e Disable SD Detect for K8400 2016-12-28 23:21:18 +01:00
emartinez167 0844da794d Updates to Spanish language
Add missing Spanish language definitions.
2016-12-24 22:11:14 +08:00
Scott Lahteine 4061fca1ad Sanity checks for FILAMENT_CHANGE_FEATURE and FILAMENT_RUNOUT_SCRIPT 2016-12-23 19:55:12 -08:00
Scott Lahteine 5ab7b91615 Comment on filament runout sensor config 2016-12-23 19:50:27 -08:00
Scott Lahteine 922c67f17d Merge pull request #5588 from thinkyhead/rc_remove_biv25
Drop biv2.5 delta configurations
2016-12-23 19:14:50 -08:00
Scott Lahteine 78459d5de1 Merge pull request #5587 from thinkyhead/rc_never
Define ADV_NEVER, ADV_RATE
2016-12-23 19:00:57 -08:00
Scott Lahteine 8c6c048551 drop biv2.5 delta configurations 2016-12-23 18:56:07 -08:00
Scott Lahteine 92dbeebf40 Define ADV_NEVER, ADV_RATE 2016-12-23 18:43:23 -08:00
Scott Lahteine 71378f72af Merge pull request #5577 from manianac/RCBugFix-M600Dryrun
Allow M600 when dryrun debugging
2016-12-22 19:07:05 -08:00
Robert Kirk 306c184b1a Allow M600 when dryrun debugging 2016-12-21 20:30:51 -05:00
Scott Lahteine fe2ea2906f Merge pull request #5573 from thinkyhead/rc_unify_stepper_isr
LIN_ADVANCE with unified stepper ISR
2016-12-21 02:53:32 -08:00
Sebastianv650 84c685f8b5 First draft of Unified Stepper / E Advance ISR 2016-12-21 01:34:39 -08:00
Scott Lahteine 83021d82c6 Merge pull request #5502 from AnHardt/symbol-strings
Add symbol-strings
2016-12-21 00:51:59 -08:00
Scott Lahteine 036eccfd6e Merge pull request #5572 from Kaibob2/patch-5
Update language_de.h
2016-12-21 00:50:40 -08:00
Scott Lahteine b794b76836 Merge pull request #5567 from AnHardt/fix5194
Fix 5194
2016-12-21 00:49:52 -08:00
Scott Lahteine 451ba5df01 Merge pull request #5516 from esenapaj/Suppress-warning
Suppress warning
2016-12-21 00:00:35 -08:00
Scott Lahteine 92dbc63949 Merge pull request #5571 from esenapaj/Update-Japanese-translation
Update Japanese translation
2016-12-20 23:59:55 -08:00
Kai ade72535c4 Update language_de.h
Added tarnslation for
```
#define MSG_DEBUG_MENU 
#define MSG_PROGRESS_BAR_TEST
```
2016-12-21 08:57:39 +01:00
Scott Lahteine 06153add6b Merge pull request #5565 from thinkyhead/rc_negative_retract_in_menu
Followup to #5550 - spacing before "mm"
2016-12-20 18:42:37 -08:00
esenapaj ab6b005867 Suppress warning 2016-12-21 09:13:03 +09:00
AnHardt 61f15ef7e7 Fix 5194
I have been a bit too radical in cleaning up this section.
2016-12-21 00:45:29 +01:00
esenapaj 60515ff700 Update Japanese translation
・Add new translation
2016-12-21 08:44:07 +09:00
Scott Lahteine 1e419655f3 Followup to #5550 - spacing before "mm" 2016-12-20 02:27:54 -08:00
Scott Lahteine 1a26ce1cdc Merge pull request #5550 from FHeilmann/patch-2
Allow negative retract values in the LCD
2016-12-20 02:10:22 -08:00
Scott Lahteine bec30c89e7 Merge pull request #5522 from esenapaj/Add-description-for-dual-x
Add description for choice of DEFAULT_DUAL_X_CARRIAGE_MODE
2016-12-20 01:31:53 -08:00
Florian Heilmann 780dabf32b Merge pull request #8 from thinkyhead/rc_negative_retract_in_menu
Replace "+mm" with "mm." Allow negative recover-swap length.
2016-12-20 10:31:07 +01:00
Scott Lahteine 7739c0affa Change "+mm" to "mm" in most languages
- Japanese and Chinese still need update
2016-12-20 01:16:51 -08:00
Scott Lahteine 1cba425308 Allow negative recover-swap length from LCD 2016-12-20 01:16:08 -08:00
Scott Lahteine 298a8c6a3c Merge pull request #5561 from thinkyhead/rc_no_case_light
Support for M335 case light "no case light"
2016-12-20 01:06:59 -08:00
Scott Lahteine 644f45cbd8 Merge pull request #5563 from akaJes/m600
FILAMENT_CHANGE_FEATURE allowed in idle mode
2016-12-20 01:06:10 -08:00
Scott Lahteine 4213330d22 Merge pull request #5562 from thinkyhead/rc_char_lcd_tweaks
Fix various LCD-related issues
2016-12-20 01:03:38 -08:00
Scott Lahteine 0d2fc13516 Place "Level Bed" closer to "Auto Home" 2016-12-20 00:51:03 -08:00
Scott Lahteine b031d28ebf Encoder events should not skip stripes 2016-12-20 00:21:51 -08:00
Scott Lahteine 22881f38b9 Fix updating of "bool" menu items 2016-12-20 00:21:51 -08:00
Scott Lahteine eb68715b94 No "Cooldown" menu if heaters are off 2016-12-20 00:21:51 -08:00
Jesus 4ed976b5ff m600 fixes 2016-12-20 09:47:46 +02:00
Damien 4e2639942b Support for M335 case light "no case light" 2016-12-19 23:23:08 -08:00
Scott Lahteine 18ba31e9b5 Add Debug Menu with LCD_PROGRESS_BAR_TEST as an example 2016-12-19 22:57:14 -08:00
Scott Lahteine 03af5961b0 Hide (or remove) custom character change on boot screen 2016-12-19 22:27:28 -08:00
Scott Lahteine 1642f5ed31 Add macro to some en strings 2016-12-19 22:27:28 -08:00
Scott Lahteine dbb2d56c89 Correct comment on watchdog timer 2016-12-19 22:27:28 -08:00
Scott Lahteine 41a30923f3 Merge pull request #5559 from thinkyhead/rc_minimum_gcc_version
Throw an error for gcc before 4.7
2016-12-19 19:50:44 -08:00
Scott Lahteine 04f77df6c0 Merge pull request #5560 from thinkyhead/rc_bl_status
Have bed leveling status output current status, not requested.
2016-12-19 19:18:06 -08:00
Scott Lahteine 6d6a1db6ec Apply const to _EEPROM_writeData value param 2016-12-19 18:50:43 -08:00
Robert Kirk f724ef5820 Have bed leveling status output current status, not requested. 2016-12-19 18:47:45 -08:00
Scott Lahteine 20218e553d Merge pull request #5527 from MagoKimbra/rc_configuration_store_fix_size
Fix size
2016-12-19 18:47:28 -08:00
Scott Lahteine dcfbe2bd3c Throw an error for gcc before 4.7 2016-12-19 18:30:51 -08:00
Scott Lahteine 82fde7df2e Merge pull request #5512 from AnHardt/speed-compare-bbr
Optimize handling of block_buffer_runtime()
2016-12-19 18:21:06 -08:00
Scott Lahteine 64a44f697c Merge pull request #5557 from thinkyhead/rc_thermistor_breakup
Split up thermistor tables
2016-12-19 15:01:18 -08:00
Scott Lahteine 8986225752 Spacing, cleanup in speed_lookuptable.h 2016-12-19 14:52:45 -08:00
Scott Lahteine e12c8e5cac Split up thermistor tables 2016-12-19 14:47:54 -08:00
Florian Heilmann a7334fd2a0 Allow negative retract values in the LCD
This can already be done via G-Code, so adding the capability to the LCD should be straight forward.
2016-12-19 14:19:06 +01:00
AnHardt 292eb365c6 Optimize handling of block_buffer_runtime()
millis_t is long - divisions take for ever.

Return a kind of millisecond instead of microsecond -
divided by 1024 instead of 1000 for speed. (2.4% error)

That does not matter because block_buffer_runtime is
already a too short estimation.
Shrink the return-type.
2016-12-19 11:47:28 +01:00
esenapaj 6854f44bf2 Add description for choice of DEFAULT_DUAL_X_CARRIAGE_MODE 2016-12-19 02:21:10 +09:00
Scott Lahteine 3f6f036f7c Merge pull request #5524 from thinkyhead/rc_optional_dogm_splitup
Report EEPROM data size, not final index
2016-12-16 18:55:48 -08:00
MagoKimbra 86ba7e4542 Fix size
Fix size for writeData and readData.
For bilinear grid 11 x 11 for example, size is 4 (float) x 11 x 11 = 484. uint8_t max is 255.
2016-12-16 14:49:33 +01:00
Scott Lahteine f9f75c8016 Fix USE_RAW_KINEMATICS in prepare_kinematic_move_to 2016-12-15 23:15:38 -08:00
Scott Lahteine 87921f390a Clarify what are "logical" positions in the planner 2016-12-15 23:15:38 -08:00
Scott Lahteine a4f10f59c3 Write the E parameter length correctly 2016-12-15 23:15:38 -08:00
Scott Lahteine 2e904cb4f9 Merge pull request #5514 from esenapaj/Update-Japanese-translation
Update Japanese translation
2016-12-15 21:38:40 -08:00
Scott Lahteine 0b6817e0f9 Merge pull request #5505 from android444/patch-4
Update for translations language_pl.h
2016-12-15 21:38:18 -08:00
Scott Lahteine 3bd76f60e4 Report EEPROM data size, not final index 2016-12-15 20:26:28 -08:00
Scott Lahteine 78d6d6e076 Merge pull request #5452 from thinkyhead/rc_save_your_mesh
Save Bed Leveling to EEPROM
2016-12-15 20:23:01 -08:00
Scott Lahteine 0d0aa6c20d Patch type for max_acceleration_mm_per_s2 save/restore 2016-12-15 20:05:42 -08:00
Scott Lahteine d4f5418802 Merge pull request #5517 from esenapaj/Fix-for-PR-#5255
Fix for the PR #5255 (Case light menu (3rd attempt))
2016-12-15 20:01:22 -08:00
Scott Lahteine fa7010b0a1 Merge pull request #5515 from esenapaj/Remove-unnecessary-tabs-and-spaces
Remove unnecessary tabs and spaces
2016-12-15 19:58:32 -08:00
Scott Lahteine 6d7b1cdf6c Add M421 for ABL Bilinear 2016-12-15 19:39:11 -08:00
Scott Lahteine 32e65dc429 Extend M420 to print state and, with V, the matrix / mesh 2016-12-15 19:39:11 -08:00
Scott Lahteine d04258753b Don't throw away the bed level matrix on G28 2016-12-15 19:21:18 -08:00
Scott Lahteine 8f0f225d10 Save ABL Planar Matrix to EEPROM 2016-12-15 19:21:15 -08:00
Scott Lahteine e2429a9da1 Generalize Bed Leveling flag in EEPROM 2016-12-15 19:20:52 -08:00
Scott Lahteine e42fd7813a Save ABL Bilinear Grid to EEPROM 2016-12-15 19:20:48 -08:00
Scott Lahteine 492b68f8e3 Better EEPROM read/write error handling 2016-12-15 19:08:44 -08:00
Scott Lahteine 55722c09da Use "UNPROBED" for un-probed bed_level_grid points 2016-12-15 19:08:44 -08:00
Scott Lahteine 2643404ac8 Throw an error in M420 if can't enable 2016-12-15 19:08:43 -08:00
Scott Lahteine b1539394fd Use planner.unapply_leveling to undo tilt in G29 2016-12-15 19:08:43 -08:00
Scott Lahteine 04636f78eb Re-enable MBL/ABL after M48 2016-12-15 19:08:43 -08:00
Scott Lahteine 9b41638672 Minor tweak to G29 grid points 2016-12-15 19:08:42 -08:00
Scott Lahteine daa2cad21f Fix comment on G29 to include 'Z' 2016-12-15 19:08:42 -08:00
Scott Lahteine 8244fefcc2 Tweak call to reset_bed_level in G29 2016-12-15 19:08:42 -08:00
Scott Lahteine 0995a5d734 Fixup reset_bed_level 2016-12-15 19:08:42 -08:00
Scott Lahteine 1b2fb2bdc7 ABL_GRID_POINTS_* => ABL_GRID_MAX_POINTS_* 2016-12-15 19:08:41 -08:00
Scott Lahteine b091c9ceb7 Merge pull request #5520 from esenapaj/Fix-for-commented-section
Fix for commented section of Config_RetrieveSettings()
2016-12-15 18:16:30 -08:00
esenapaj d486361c69 Fix for commented section of Config_RetrieveSettings() 2016-12-16 04:34:47 +09:00
esenapaj 88157ba529 Fix for the PR #5255 (Case light menu (3rd attempt)) 2016-12-16 00:57:32 +09:00
esenapaj 069c6b38dd Remove unnecessary tabs and spaces 2016-12-16 00:21:32 +09:00
esenapaj 9c8116aedf Update Japanese translation
・Add new translation
2016-12-16 00:06:58 +09:00
AnHardt 57b1275cde Add symbol-string to _de
Add symbol-string for _de
to reduce the frquencey of regenerating 'mappers' and 'fonts'
with the new utf-system.
2016-12-15 14:37:18 +01:00
android444 3363d2c937 Update for translations language_pl.h 2016-12-14 17:32:33 +01:00
Scott Lahteine 7ca4f16a5c Merge pull request #5430 from thinkyhead/rc_optional_dogm_splitup
Move Hollow Frame options to config-adv
2016-12-14 04:55:15 -08:00
Scott Lahteine 06af3b62ba Move HOLLOW_FRAME options to config_adv 2016-12-14 04:31:27 -08:00
Scott Lahteine 67ca6c7bfe Codestyle tweaks to ultralcd.cpp 2016-12-14 04:20:33 -08:00
Scott Lahteine 8d9fcd8e6f Merge pull request #5495 from AnHardt/autoadjusting_display-updates
Adaptive screen updates for all kinds of displays
2016-12-14 04:16:26 -08:00
Scott Lahteine 77a360912d Merge pull request #5491 from yhfudev/devel-rcbugfix-language-headers
UTF-8 language header files
2016-12-14 02:23:09 -08:00
Scott Lahteine efb8b8425c Merge pull request #5493 from thinkyhead/rc_fix_recover_unhop
Prevent retract un-hop at wrong height
2016-12-14 02:20:08 -08:00
AnHardt d0e24e0876 Adaptive screen updates for all kinds of displays
The target here is to update the screens of graphical and char base
displays as fast as possible, without draining the planner buffer too much.

For that measure the time it takes to draw and transfer one
(partial) screen to the display. Build a max. value from that.
Because ther can be large differences, depending on how much the display
updates are interrupted, the max value is decreased by one ms/s. This way
it can shrink again.
On the other side we keep track on how much time it takes to empty the
planner buffer.
Now we draw the next (partial) display update only then, when we do not
drain the planner buffer to much. We draw only when the time in the
buffer is two times larger than a update takes, or the buffer is empty anyway.

When we have begun to draw a screen we do not wait until the next 100ms
time slot comes. We draw the next partial screen as fast as possible, but
give the system a chance to refill the buffers a bit.

When we see, during drawing a screen, the screen contend has changed,
we stop the current draw and begin to draw the new content from the top.
2016-12-13 18:44:34 +01:00
yhfudev 2dbd38ce16 tag the utf-8 strings 2016-12-13 11:54:35 -05:00
Scott Lahteine 94ffb58da7 Prevent retract un-hop at wrong height 2016-12-13 08:24:12 -08:00
Scott Lahteine 0772c8e55f Merge pull request #5487 from thinkyhead/rc_easier_move_axis
Rearrange Move Menu, Fix up Delta Calibration
2016-12-13 07:07:05 -08:00
Scott Lahteine b2c8de856b Merge pull request #5478 from AnHardt/stepspermm
Replace ftostr62sign with ftostr62rj
2016-12-13 07:05:42 -08:00
Scott Lahteine 1fd8185d37 Merge pull request #5492 from thinkyhead/rc_fix_language_es
Fix multiple definitions of message macros in the language-es.h
2016-12-13 06:57:52 -08:00
yhfudev 1cdffdede7 fix multiple definitions of message macros in the language-es.h 2016-12-13 06:48:38 -08:00
Scott Lahteine b67f8cb499 Merge pull request #5490 from jbrazio/update-bqhp2
Update the bq Hephestos 2 example configuration
2016-12-13 05:04:24 -08:00
Scott Lahteine 93b2833347 Move Menu: Select axis first, resolution after 2016-12-13 03:11:14 -08:00
Scott Lahteine 48aa0f6475 Merge pull request #5475 from AnHardt/utf-mapper-tr
utf8-mapper for Turkish
2016-12-13 03:03:22 -08:00
Scott Lahteine b9ee0d7bd3 Merge pull request #5488 from thinkyhead/rc_fade_compiler_warn
Patch fade_factor compiler warning
2016-12-13 03:00:47 -08:00
Scott Lahteine 641e0936d4 Patch up Delta Calibration Menu 2016-12-13 02:42:28 -08:00
Scott Lahteine b4dbf4d18a Non-reentrant "Moving..." screen to safely wait in LCD 2016-12-13 02:42:27 -08:00
Scott Lahteine 7b625e0048 Patch fade_factor compiler warning 2016-12-13 02:29:01 -08:00
Scott Lahteine 6fa8fd15e2 Add negative temperatures for Thermistor 1
Changes from #5485 by @AndKe
2016-12-13 02:06:16 -08:00
Scott Lahteine 2b5d424394 Use handle_reprapworld_keypad for keypad handling 2016-12-13 01:41:08 -08:00
Scott Lahteine 887ed73c9b Expose delta_clip_start_height for use by others 2016-12-13 01:41:08 -08:00
João Brázio 3f75edb1d6 Updated bq Hephestos 2 example configuration 2016-12-13 09:26:07 +00:00
Scott Lahteine 6080ac566a Merge pull request #5483 from thinkyhead/rc_aragonese_fixup
Update Aragonese translation
2016-12-12 18:26:07 -08:00
Daniel Martinez b796e7031d Update Aragonese translation 2016-12-12 17:36:33 -08:00
AnHardt cd2b74e88d Replace ftostr62sign with ftostr62rj
`ftostr62sign()` is used only when displaing/editing
Steps/mm. A sign is not needed - the value is always positive.
Because the number part is long there is no't much place for the values name.
With this PR the is one more char for the name possible.
2016-12-12 20:25:20 +01:00
AnHardt 795541f87e utf8-mapper for Turkish
The non utf8 version of turkish is a bit unhandy.

Delete `language_tr.h`
Rename `language_tr_utf.h` to `language_tr.h`
Provide a propper utf8-mapper for Turkish and use it.
2016-12-12 15:56:59 +01:00
Scott Lahteine 7c71bb2900 Merge pull request #5471 from thinkyhead/rc_planner_report_m503
Patch to show E factors in M503
2016-12-11 17:47:41 -08:00
Scott Lahteine 39401b7472 Patch to show E factors in M503 2016-12-11 17:37:29 -08:00
Scott Lahteine 6b50230022 Merge pull request #5447 from thinkyhead/rc_update_dutch
Dutch cleanup, ordering, placeholders
2016-12-10 22:13:20 -08:00
Scott Lahteine 2c97c11731 Merge pull request #5454 from thinkyhead/rc_fix_delta_g29
Fix G29 starting height on DELTA
2016-12-10 22:10:33 -08:00
Scott Lahteine 8239c45b30 Merge pull request #5448 from thinkyhead/rc_eeprom_bump
EEPROM: Prolong life. Better support for `DISTINCT_E_FACTORS`.
2016-12-10 22:06:00 -08:00
Scott Lahteine 21ed43df5f New Dutch terms 2016-12-10 21:59:45 -08:00
Scott Lahteine 4bc6536f54 Move to safe zone on DELTA if using do_blocking_move_to* 2016-12-10 21:28:24 -08:00
Scott Lahteine 6f389158d7 Compile less code with EEPROM off 2016-12-09 06:05:32 -08:00
Scott Lahteine f2301a2a04 Add e-stepper count to EEPROM (for planner vars) 2016-12-09 06:05:31 -08:00
Scott Lahteine 53c9fca0f6 Only write to EEPROM when a byte changes 2016-12-09 06:05:31 -08:00
Scott Lahteine 72fe995c42 Merge pull request #5449 from AnHardt/volatile-bbru
Make block_buffer_runtime_us volatile
2016-12-09 05:57:45 -08:00
AnHardt 13eebd11cf volatile_block_buffer_runtime_us
`block_buffer_runtime_us` is mangled in the planner and in the stepper-ISR.
So it needs to be volatile and interrupt protected.
2016-12-09 14:49:02 +01:00
Scott Lahteine 8383f35b40 Merge pull request #5445 from thinkyhead/rc_reduce_jerk_code
Slightly shrink jerk and advance code
2016-12-09 02:54:03 -08:00
Scott Lahteine 52f8924f6e Merge pull request #5446 from gege2b/RCBugFix-french
Update french translation (LIGHTS str)
2016-12-09 02:49:32 -08:00
Gege2B 40453c1b9a Update french translation (LIGHTS str) 2016-12-09 11:18:29 +01:00
Scott Lahteine fc2fc828b3 Prettify LIN_ADVANCE code with the positive condition 2016-12-09 00:29:07 -08:00
Scott Lahteine 1929502e15 Add const to some variables 2016-12-09 00:29:06 -08:00
Scott Lahteine 2da4d22520 Pretty up ADVANCE code 2016-12-08 22:51:28 -08:00
Scott Lahteine af024e1d7c Pretty up coast / reverse jerk code 2016-12-08 22:50:25 -08:00
Scott Lahteine 3f3b5c86d8 Slightly shrink code for jerk-based reduction of safe_speed 2016-12-08 22:24:29 -08:00
Scott Lahteine dfdb180db4 Merge pull request #5440 from AnHardt/simplify-long_move
Simplify long_move()
2016-12-08 18:03:20 -08:00
AnHardt 87fe20b5f5 Simplify long_move()
We are not really interested in, if there are blocks.
All information we need is in `block_buffer_runtime_us`.
2016-12-09 00:13:35 +01:00
Scott Lahteine 574d9c7d3d Merge pull request #5432 from Kaibob2/patch-2
Update language_de.h
2016-12-08 13:14:04 -08:00
Scott Lahteine f089279263 Merge pull request #5431 from esenapaj/Suppress-warnings,-etc
Suppress warnings, etc
2016-12-08 13:10:12 -08:00
Scott Lahteine d92ccb230c Merge pull request #5438 from AnHardt/patch-long_move
Patch long_move()
2016-12-08 13:08:36 -08:00
Scott Lahteine a1e0842c8b Merge pull request #5436 from esenapaj/Remove-redundant-E,-etc-plan-B
Remove redundant "E", etc plan B
2016-12-08 13:06:07 -08:00
AnHardt 706b240251 Patch long_move()
While the last move in the planner_buffer is running
it's duration is already subtracted from block_buffer_runtime_us.
2016-12-08 21:03:26 +01:00
esenapaj a298a58684 Remove redundant "E" 2016-12-09 02:27:34 +09:00
Kai 390a6d976a Update language_de.h
#define MSG_ENDSTOP_ABORT  doesn't fit in Display 
See https://github.com/MarlinFirmware/Marlin/issues/5401#issuecomment-265714487
2016-12-08 12:18:19 +01:00
esenapaj e9393c3634 Suppress warnings, etc
・Suppress warnings
・Remove unused variable "did_update"
2016-12-08 17:47:59 +09:00
Scott Lahteine 4ea87b8f34 Merge pull request #5414 from thinkyhead/rc_sanitycheck_inverting
Sanity-check inverting for Z probe and Z endstop
2016-12-08 00:28:33 -08:00
Scott Lahteine da6a094424 Sanity-check inverting and pullups for Z probe and Z endstop
`Z_MIN_ENDSTOP_INVERTING` must match `Z_MIN_PROBE_ENDSTOP_INVERTING`
when using `Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN`.
This is easy to overlook.
2016-12-08 00:12:19 -08:00
Scott Lahteine a9f64537ff Merge pull request #5429 from thinkyhead/rc_mention_M205
Fix compile error with LCD_I2C_VIKI
2016-12-07 22:16:57 -08:00
Scott Lahteine 3fb43c11fc Fix compile error with LCD_I2C_VIKI 2016-12-07 23:29:45 -06:00
Scott Lahteine c1e1f63ffa Merge pull request #5424 from thinkyhead/rc_mention_M205
Include M205 note in configurations
2016-12-07 18:18:59 -06:00
Scott Lahteine aa241c63b3 Include M205 note in configurations 2016-12-07 14:45:44 -06:00
Scott Lahteine c8a95ec514 Merge pull request #5413 from MagoKimbra/rc_fix_mesh
Fix Mesh without Fade Height
2016-12-07 03:16:02 -06:00
Scott Lahteine 35ad9626f1 Merge pull request #5410 from thinkyhead/rc_polish_update
Update Polish language, reduce filament change messages
2016-12-07 03:15:53 -06:00
Scott Lahteine 01e5d46ea7 Patch some planner compile errors 2016-12-07 02:26:24 -06:00
MagoKimbra 5383212a28 Fix Mesh without Fade Height 2016-12-07 09:23:42 +01:00
Scott Lahteine dbe1dc1452 Merge pull request #5406 from Rigid3D/RCBugFix
Turkish Translation Update
2016-12-07 00:56:08 -06:00
Scott Lahteine 66f1b7cce3 Merge pull request #5409 from thinkyhead/rc_croatian_update
Updates to Croatian language
2016-12-07 00:55:45 -06:00
Scott Lahteine 4783a59249 Remove filament-change empty lines from languages 2016-12-07 00:53:03 -06:00
Scott Lahteine 1705099c3e Save space by not defining unused filament change message lines 2016-12-07 00:53:03 -06:00
Scott Lahteine 29bc83ead8 Optimize findMissingTranslations.sh 2016-12-07 00:53:02 -06:00
android444 9b1f4b514b Update Polish language
Translation of messages in English to Polish.
2016-12-06 22:28:33 -06:00
Robert Marko 84f7e1de04 Updates to Croatian language 2016-12-06 22:24:12 -06:00
Scott Lahteine b6bb4daea9 Merge pull request #5408 from esenapaj/README-and-Version-for-1.1.0-RCBugFix
README and Version for 1.1.0-RCBugFix
2016-12-06 22:21:19 -06:00
esenapaj 08cdaaf19b README and Version for 1.1.0-RCBugFix
Sync with RC8
2016-12-07 10:43:58 +09:00
Mehmet Sutas f4663cb677 Update language_tr_utf8.h 2016-12-07 00:21:56 +03:00
Mehmet Sutas b4fd115d4e Update language_tr.h 2016-12-07 00:20:07 +03:00
Scott Lahteine 83c5026db1 Ignore homing button when SD printing
As suggested in #5404 by @android444
2016-12-06 14:22:34 -06:00
Scott Lahteine 312caef472 Merge pull request #5398 from thinkyhead/rc_croatian_cleanup
Fix Croatian spacing, extra #endif
2016-12-06 03:22:19 -06:00
Scott Lahteine 46b65773ea Fix Croatian spacing, extra #endif 2016-12-06 03:10:37 -06:00
Scott Lahteine 3f2faac9d1 Merge pull request #5388 from thinkyhead/rc_subdivide_bilinear
Subdivide Bilinear Grid with Catmull Rom Splines
2016-12-05 20:28:50 -06:00
Scott Lahteine b5b5edd9ad Merge pull request #5394 from thinkyhead/rc_drop_board_99
Remove mystery-board 99
2016-12-05 20:28:35 -06:00
Scott Lahteine c48901f355 Remove mystery-board 99 2016-12-05 20:16:50 -06:00
akaJes d7b948610a Experimental bilinear subdivision option 2016-12-05 20:11:24 -06:00
Scott Lahteine 6253b765aa Merge pull request #5389 from thinkyhead/distribute_screen_updates
Distribute GLCD screen updates in time
2016-12-05 20:08:33 -06:00
Scott Lahteine b203901143 Merge pull request #5393 from AnHardt/Fix-auto_report_temperatures
Fix auto_report_temperatures()
2016-12-05 19:38:23 -06:00
AnHardt 59a27ed27d Fix auto_report_temperatures()
The `auto_report_temperatures` needs a linefeed to be recognized by Repetier Host.
2016-12-06 01:26:44 +01:00
AnHardt a6fbd4a5d8 Distribute GLCD screen updates in time
Currently we draw and send the screens for a graphical LCD all at once.
We draw in two or four parts but draw them directly behind each other.
For the tested status screen this takes 59-62ms in a single block.
During this time nothing else (except the interrupts) can be done.
When printing a sequence of very short moves the buffer drains - sometimes until it's empty.

This PR splits the screen update into parts.
Currently we have 10 time slots. During the first one the complete screen is drawn. (60,0,0,0,0,0,0,0,0,0,0)
Here i introduce pauses for doing other things. (30,30,0,0,0,0,0,0) or (15,15,15,15,0,0,0,0,0,0)
Drawing in consecutive time slots prevents from lagging too much. Even with a 4 stripe display all the drawing is done after 400ms.
Previous experiments with a even better distribution of the time slots like
(30,0,0,0,0,30,0,0,0,0) and (15,0,15,0,15,0,15,0,0,0) did not feel good when using the menu, because of too much lag.

Because of the previous PRs to speed up the display updates and especially reducing the difference between drawing 2 or 4 stripes,
it now makes sense for the REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER to go from 2 to 4 stripes. This costs about 1-2ms per complete
screen update, but is payed back by having partial updates lasting only the half time and two additional brakes. Also ~256 byte of
framebuffer are saved in RAM.

13:45:59.213 : echo: #:17 >:13 s:30;   #:16 >:13 s:29;   S#:33 S>:26 S:59
13:46:00.213 : echo: #:16 >:14 s:30;   #:17 >:13 s:30;   S#:33 S>:27 S:60
13:46:01.215 : echo: #:17 >:13 s:30;   #:16 >:13 s:29;   S#:33 S>:26 S:59
13:46:02.215 : echo: #:16 >:13 s:29;   #:16 >:14 s:30;   S#:32 S>:27 S:59
13:46:03.214 : echo: #:17 >:13 s:30;   #:17 >:13 s:30;   S#:34 S>:26 S:60
13:46:04.214 : echo: #:16 >:13 s:29;   #:16 >:14 s:30;   S#:32 S>:27 S:59
13:46:05.212 : echo: #:16 >:14 s:30;   #:17 >:13 s:30;   S#:33 S>:27 S:60
13:46:06.212 : echo: #:17 >:13 s:30;   #:16 >:13 s:29;   S#:33 S>:26 S:59

03:30:36.779 : echo: #:8 >:7 s:15;   #:10 >:7 s:17;   #:8 >:6 s:14;   #:8 >:7 s:15;   S#:34 S>:27 S:61
03:30:37.778 : echo: #:8 >:6 s:14;   #:10 >:7 s:17;   #:9 >:7 s:16;   #:8 >:6 s:14;   S#:35 S>:26 S:61
03:30:38.778 : echo: #:8 >:6 s:14;   #:11 >:7 s:18;   #:8 >:6 s:14;   #:8 >:7 s:15;   S#:35 S>:26 S:61
03:30:39.777 : echo: #:8 >:6 s:14;   #:10 >:7 s:17;   #:8 >:8 s:16;   #:8 >:6 s:14;   S#:34 S>:27 S:61
03:30:40.780 : echo: #:8 >:6 s:14;   #:11 >:7 s:18;   #:8 >:6 s:14;   #:8 >:6 s:14;   S#:35 S>:25 S:60
03:30:41.780 : echo: #:9 >:6 s:15;   #:10 >:7 s:17;   #:8 >:6 s:14;   #:9 >:6 s:15;   S#:36 S>:25 S:61
03:30:42.779 : echo: #:8 >:6 s:14;   #:10 >:8 s:18;   #:8 >:6 s:14;   #:8 >:6 s:14;   S#:34 S>:26 S:60
03:30:43.778 : echo: #:9 >:6 s:15;   #:10 >:7 s:17;   #:8 >:7 s:15;   #:9 >:6 s:15;   S#:36 S>:26 S:62

#: draw a stripe
>: transfer a stripe
s: sum of of draw and transfer for one stripe
S#: sum of draws for a complete screen
S>: sum of transfers for a complete screen
S: time to draw and transfer a complete screen
2016-12-05 12:22:54 -06:00
Scott Lahteine f882355994 Merge pull request #5318 from Sebastianv650/Account_for_LCD_improvements
Account for LCD improvements in ENSURE_SMOOTH_MOVES
2016-12-05 11:23:58 -06:00
Scott Lahteine 20e834461d Merge pull request #5385 from thinkyhead/rc_ftostr4sign_decimal
Show decimal for small numbers in ftostr4sign
2016-12-05 11:22:45 -06:00
Scott Lahteine b6b100c471 Merge pull request #5371 from thinkyhead/rc_extruders_can_differ
Allow distinct factors for multiple extruders
2016-12-05 11:22:31 -06:00
Scott Lahteine 1aca2dfe0c Merge pull request #5387 from thinkyhead/rc_polish_update
Polish language update – plus placeholders
2016-12-05 10:52:20 -06:00
Scott Lahteine 449d9cbf60 Add placeholders for Polish translatable strings 2016-12-05 10:37:00 -06:00
c64pl 643dc4b64e Update language_pl.h
Fixed translations
2016-12-05 10:37:00 -06:00
Scott Lahteine 0974b75fb6 Merge pull request #5386 from thinkyhead/rc_galician_update
Galician language update.
2016-12-05 10:36:26 -06:00
Rafa Couto 2b9115330d Galician language update. 2016-12-05 10:11:28 -06:00
Scott Lahteine 1f3e2440bc Merge pull request #5175 from thinkyhead/rc_dualx_homing
Unpark when using Z_SAFE_HOMING with Dual X
2016-12-05 10:02:56 -06:00
Scott Lahteine d5bf1684fe Implement as optional feature LCD_DECIMAL_SMALL_XY
And reduce the function size to simplify
2016-12-05 09:26:05 -06:00
Guthenberg bfb8d3b53e Show more decimals in Display, if possible
_123, -123, _-12, __-1  plus  1234, 12.3, -1.2
2016-12-05 09:05:46 -06:00
Scott Lahteine 1e30d1da47 Simplify itostr4sign
- This function becomes obsolete if ftostr4sign is re-written.
2016-12-05 09:05:46 -06:00
Scott Lahteine 82a187acae Merge pull request #5359 from AnHardt/update-de
Add missing translations to lang-de
2016-12-05 07:31:28 -06:00
Scott Lahteine 4bafdf4b66 Support DISTINCT_E_FACTORS in LCD Motion Menu 2016-12-05 07:26:18 -06:00
Scott Lahteine 3391c785c6 Support for distinct E factors 2016-12-05 07:26:18 -06:00
Scott Lahteine 0dfe95eaba Adjust formatting in Planner 2016-12-05 07:26:17 -06:00
Scott Lahteine c9c6e084ce Merge pull request #5383 from thinkyhead/rc_fixup_5378
Fix rows error in DOGM
2016-12-05 07:24:44 -06:00
Scott Lahteine 09587f7c0d Fix rows error in DOGM 2016-12-05 07:14:11 -06:00
Scott Lahteine c47e07d129 Fix Dual X software endstops 2016-12-05 06:51:41 -06:00
Scott Lahteine 4217e9653e Adjust park code in tool_change 2016-12-05 06:51:41 -06:00
Scott Lahteine b20405db31 Only DXC_AUTO_PARK_MODE should auto-move in tool_change 2016-12-05 06:48:43 -06:00
Scott Lahteine ca24af7d5d Dual X with home_z_safely is not parked 2016-12-05 06:43:26 -06:00
Scott Lahteine 0e15b4f434 Dual X set_axis_is_at_home can use x_home_pos for both 2016-12-05 06:43:26 -06:00
Scott Lahteine 54109dfaec Reduce code size for Dual X un-park 2016-12-05 06:43:26 -06:00
Scott Lahteine fe96f74db1 Use const arguments in Dual X helper functions 2016-12-05 06:43:26 -06:00
Scott Lahteine 41278c1e8b Apply LOGICAL_POSITION to home positions on Dual X 2016-12-05 06:43:26 -06:00
Scott Lahteine 053fb55af6 Fix modes ordering in prepare_move_to_destination_dualx 2016-12-05 06:43:26 -06:00
Scott Lahteine ee50928eee Make LOGICAL and RAW position macros ternary-compatible 2016-12-05 06:43:26 -06:00
Scott Lahteine 56dd15c0ad Use SET_INPUT for PS_ON_PIN in kill 2016-12-05 06:43:26 -06:00
Scott Lahteine 200cf3e9f9 Merge pull request #5381 from thinkyhead/rc_fix_fade_factor
Properly apply fade_factor to MBL
2016-12-05 06:06:13 -06:00
Scott Lahteine 84ff78c1e3 Pass the fade factor to mbl.get_z 2016-12-05 03:01:51 -06:00
Scott Lahteine 85c2b96685 Apply const to MBL class methods 2016-12-05 02:50:59 -06:00
Scott Lahteine c06161b773 Use apply_leveling, not MBL directly 2016-12-05 01:53:36 -06:00
Scott Lahteine 818f8b93d3 Merge pull request #5378 from thinkyhead/rc_duration_rj
Better alignment of elapsed print time
2016-12-04 22:42:23 -06:00
Scott Lahteine 9d88a61d52 Better alignment of elapsed print time 2016-12-04 21:30:49 -06:00
Scott Lahteine 21c7b7ef87 Merge pull request #5374 from thinkyhead/rc_lcd_edit_tweaks
Fix garbled negative values on LCD
2016-12-04 16:32:12 -06:00
Scott Lahteine 0b53d78046 Tweak editable items for debugging 2016-12-04 03:51:10 -06:00
Scott Lahteine 0b9b529745 Merge pull request #5368 from thinkyhead/rc_croatian_update
Save PROGMEM with string changes
2016-12-03 19:37:23 -06:00
Scott Lahteine fccc97de6d Save PROGMEM with string changes
Unlike RAM-based strings, PROGMEM strings aren’t consolidated by the
compiler.
2016-12-03 19:21:46 -06:00
AnHardt e7fc353f08 Add missing translations to lang-de 2016-12-03 20:51:49 +01:00
Scott Lahteine ea13c68515 Merge pull request #5365 from thinkyhead/rc_croatian_update
Add placeholders for Bulgarian translation
2016-12-03 12:30:22 -06:00
Scott Lahteine 3f2cb376e0 Add placeholders for Bulgarian translation 2016-12-03 12:14:02 -06:00
Scott Lahteine b22d37ba52 Merge pull request #5364 from thinkyhead/rc_croatian_update
Update Croatian to include missing strings
2016-12-03 11:37:42 -06:00
Robert Marko b796a687ca Update Croatian to include missing strings
Added all missing strings according to English
2016-12-03 11:15:41 -06:00
Scott Lahteine 3bb76b254d Merge pull request #5363 from thinkyhead/rc_fix_hotend_offset_M503
Fix hotend offset report in M503
2016-12-03 10:28:49 -06:00
Scott Lahteine 255ed80164 Fix hotend offset report in M503 2016-12-03 10:17:35 -06:00
Scott Lahteine 7273a18c8d Merge pull request #5358 from thinkyhead/rc_fixup_scripts
Enhance findMissingTranslations, format the output
2016-12-03 09:37:32 -06:00
Scott Lahteine b44f06a296 Extend findMissingTranslations, reformat output 2016-12-03 08:48:51 -06:00
Scott Lahteine 1dfe39f0d7 Merge pull request #5351 from petrzjunior/RCBugFix
[LANGUAGE] Update Czech (Case light)
2016-12-03 03:52:18 -06:00
Petr Zahradník c66f3ed34b Update Czech 2016-12-03 10:32:34 +01:00
Scott Lahteine cbf208ea1f Merge pull request #5348 from Kaibob2/patch-1
Update language_de.h
2016-12-03 01:53:24 -06:00
Scott Lahteine a2660cf688 Merge pull request #5347 from tnw513/fix-italian
Added missing translations
2016-12-03 01:52:45 -06:00
Scott Lahteine 27dd5acc22 Fix set_led_color for BLINKM
Follow-up to #5330
2016-12-03 01:51:11 -06:00
Kai 8530c32309 Update language_de.h
Grammar corrections
2016-12-02 19:40:36 +01:00
Silvio Didonna f1d5ffa211 Added missing translations 2016-12-02 18:49:39 +01:00
Scott Lahteine b0361ebe4f Merge pull request #5343 from thinkyhead/rc_invert_case_light
Allow case light pin to be active low
2016-12-02 01:17:11 -06:00
Scott Lahteine f60b4f8659 Allow case light pin to be active low 2016-12-01 23:32:34 -06:00
Scott Lahteine 3f4c02e42f Merge pull request #5259 from Sebastianv650/Allow_UART-ISR_inside_Stepper
Allow UART ISRs inside the stepper ISR
2016-12-01 23:17:42 -06:00
Scott Lahteine 115f81840b Merge pull request #5342 from thinkyhead/rc_reliable_redraw
Fix redraw in SD Card menus
2016-12-01 22:42:24 -06:00
Scott Lahteine d07229f185 Fix redraw in SD Card menus 2016-12-01 18:15:58 -06:00
Scott Lahteine 47b4b21308 Merge pull request #5331 from esenapaj/Fix-for-the-PR-#5072
Fix for the PR #5072 (Add predefined AUTO_FAN_PINs to pins files), etc
2016-12-01 13:37:02 -06:00
Scott Lahteine 14b1500525 Merge pull request #5338 from thinkyhead/rc_fix_fade_factor
Fix compile without ENABLE_LEVELING_FADE_HEIGHT
2016-12-01 12:06:39 -06:00
Scott Lahteine 8d14420331 Fix compile without ENABLE_LEVELING_FADE_HEIGHT 2016-12-01 11:37:24 -06:00
Scott Lahteine 415294801f Merge pull request #5330 from thinkyhead/rc_rgb_led
Support for an RGB LED using 3 pins
2016-11-30 14:14:00 -06:00
esenapaj 0909cf3d46 Adjust spacing 2016-11-30 19:39:39 +09:00
esenapaj 8e9e9c17b0 Follow-up the PR #5323 (Adding ukrainian language support)
・Update forgotten Configuration_adv.h of Felix\DUAL and K8400\Dual-head
2016-11-30 19:39:39 +09:00
esenapaj d92ce8849b Fix for the PR #5072 (Add predefined AUTO_FAN_PINs to pins files), etc
・Make descriptions the same as others
2016-11-30 19:39:38 +09:00
Scott Lahteine e00b380489 Merge pull request #5323 from akaJes/lang-ua
Adding ukrainian language support
2016-11-30 01:10:40 -06:00
Scott Lahteine 862e3c93d9 Merge pull request #5328 from esenapaj/Suppress-warning
Suppress warning
2016-11-30 01:05:20 -06:00
Scott Lahteine 65c50e062e Support for an RGB LED using 3 pins 2016-11-30 00:02:31 -06:00
esenapaj 3047f3c85c Suppress warning 2016-11-30 00:32:56 +09:00
jes f674246397 extend Configurations files 2016-11-29 15:04:36 +02:00
jes c90191faaf adding ukrainian laguage support 2016-11-29 14:49:45 +02:00
Sebastianv650 912704a0d8 Enable ISRs inside temperature ISR
to capture chars at UART at 250000 baud.
2016-11-28 20:08:50 +01:00
Sebastianv650 f62f4006af Account for LCD improvements in ENSURE_SMOOTH_MOVES
.. and give the hint to try lower values if possible.
2016-11-28 17:44:19 +01:00
Scott Lahteine 092e949b58 Merge pull request #5169 from thinkyhead/rc_core_inverted
Support for COREYX, COREZX, COREZY
2016-11-28 02:26:41 -06:00
Scott Lahteine e9e4208ff1 Merge pull request #5274 from Sebastianv650/improve_smooth_moves
Improvement for ENSURE_SMOOTH_MOVES
2016-11-28 02:22:08 -06:00
Scott Lahteine c7935bb0d2 Merge pull request #5299 from thinkyhead/rc_bed_correction_fade
Add a fade factor for mesh leveling
2016-11-28 02:07:51 -06:00
Scott Lahteine a69b1ee691 Merge pull request #5313 from thinkyhead/rc_fix_menu_actions
Keep drawing menu unless screen changes
2016-11-28 02:01:39 -06:00
Scott Lahteine 32ee3acf86 Merge pull request #5315 from thinkyhead/rc_fixup_material_menus
Refine material heatup menu items
2016-11-28 01:46:51 -06:00
Scott Lahteine c70a06daf1 lcd_save_previous_menu => lcd_save_previous_screen 2016-11-28 01:46:18 -06:00
Scott Lahteine 13ea43cc8d Only exit menu handler when the screen changes 2016-11-28 01:46:18 -06:00
Scott Lahteine f45b6a7762 Merge pull request #5314 from thinkyhead/case_light_menu_fix
Fix and optimize case-light code
2016-11-28 01:45:27 -06:00
Scott Lahteine 59fafb93b2 Merge pull request #5304 from AnHardt/pixel-shifting
MENU_HOLLOW_FRAME for the menu screens
2016-11-28 01:41:47 -06:00
Scott Lahteine 0951d385ce Don't set heater temperature above its maximum 2016-11-28 01:37:24 -06:00
Scott Lahteine c9193e856d Limit preheat parameters based on all nozzles 2016-11-28 01:37:24 -06:00
Scott Lahteine bb4529f7d2 PLA / ABS => Material 1 / 2 2016-11-28 01:37:24 -06:00
Scott Lahteine 61437d988a Fix and optimize case-light code 2016-11-28 01:34:52 -06:00
AnHardt 7a9fa78822 MENU_HOLLOW_FRAME for the menu screens
MENU_HOLLOW_FRAME for the menu screens and
some pixel shifting to optimize the look with tall fonts. (cn)
2016-11-27 22:59:05 +01:00
Scott Lahteine 20b0889602 Merge pull request #5303 from AnHardt/reduce-sripes
Not more then 4 stripes for u8g-devices
2016-11-26 18:47:43 -06:00
AnHardt 24ca1a6289 Not more then 4 stripes for u8g-devices
To optimise speed.
Costs well invested 128Byte of RAM.
2016-11-26 19:08:33 +01:00
Scott Lahteine 668e737893 Merge pull request #5288 from thinkyhead/rc_selective_rendering
Optimize graphical display with selective rendering
2016-11-26 06:54:41 -06:00
Scott Lahteine aee71c543e Minor formatting in language.h 2016-11-26 06:53:52 -06:00
Scott Lahteine 05d8d189f6 Adjust spacing in utf_mapper.h 2016-11-26 06:53:52 -06:00
Scott Lahteine 5460a529da Add option DOGM_SPI_DELAY_US 2016-11-26 06:53:52 -06:00
Scott Lahteine 71842b6a17 Apply const to LCD arguments and locals 2016-11-26 06:53:52 -06:00
Scott Lahteine b1abd7edef Optimize graphical display with selective rendering 2016-11-26 06:53:52 -06:00
Scott Lahteine 23935dd23a Merge pull request #5301 from AnHardt/fix-USE_BIG_EDIT_FONT
Fix USE_BIG_EDIT_FONT
2016-11-26 06:53:21 -06:00
AnHardt b91fab2d7d Fix USE_BIG_EDIT_FONT 2016-11-26 13:50:25 +01:00
Scott Lahteine 4cd73e183d Hide hidden files and folders 2016-11-26 06:26:28 -06:00
Scott Lahteine f6f77d34a1 Add a fade factor for mesh leveling 2016-11-26 03:41:26 -06:00
Scott Lahteine 679d37f83f Merge pull request #5298 from AnHardt/fonts-unterlaengen
Change font decent to -1 for tr and gr
2016-11-25 20:01:11 -06:00
AnHardt 75fdcc14b7 Activate font and mapper for el-gr 2016-11-26 02:30:37 +01:00
AnHardt a0004e7cd3 Change font decent to -1 for tt and gr
For speeding up font drawing unify font decent.
Tr and Gr have ben the only fonts with a font decent of -2.
Sorry for some, a bit compressd, but hopefully still readeble symbols.
2016-11-26 02:29:23 +01:00
Scott Lahteine 307f263f89 Merge pull request #5292 from esenapaj/Update-Japanese-translation
Update Japanese translation
2016-11-25 16:56:49 -06:00
Scott Lahteine 9d177c93a2 Merge pull request #5291 from esenapaj/Follow-up-the-PR-#5255
Follow-up the PR #5255 (Case light menu (3rd attempt))
2016-11-25 16:56:15 -06:00
esenapaj 7070143042 Update Japanese translation
・Add new translation
2016-11-24 21:10:40 +09:00
esenapaj ef97645002 Follow-up the PR #5255 (Case light menu (3rd attempt)) 2016-11-24 19:42:05 +09:00
Scott Lahteine 2a9b3376a9 Merge pull request #5289 from thinkyhead/rc_which_menu_actions
Drop "static" keyword in ultralcd.cpp function declarations
2016-11-23 23:04:05 -06:00
Scott Lahteine b97dafe4b8 Drop "static" keyword in ultralcd.cpp function declarations 2016-11-23 20:43:01 -06:00
Scott Lahteine 2e966f8e5b Patch Capabilities Report for "PROGRESS" 2016-11-23 19:31:46 -06:00
Scott Lahteine f60321d3e3 Merge pull request #5284 from thinkyhead/rc_turkish_update
Turkish update (squashed)
2016-11-23 14:57:52 -06:00
Mehmet Sutas a26668b10c Add UTF8 Turkish Translation 2016-11-23 14:19:16 -06:00
Mehmet Sutas 61aa796307 Added Human Readable Comments 2016-11-23 14:19:16 -06:00
Mehmet Sutas 6fb9c6fe07 Follow-up for #5167 Turkish Language
Add check for Turkish Font before setting better font for graphic displays
2016-11-23 14:19:15 -06:00
Scott Lahteine d891324830 Merge pull request #5258 from mosh1/mbl_speed_fix
Fix z feedrate value when doing mesh bed leveling. probe feedrate use…
2016-11-23 14:15:01 -06:00
Scott Lahteine 7f8133a51f Merge pull request #5255 from Kaibob2/CaseLightMenu
Case light menu (3rd attempt)
2016-11-23 13:46:33 -06:00
Kai e9b42f4f47 Update language_de.h 2016-11-23 19:29:19 +01:00
Kai 0c341f0c50 Added Menu entry for Case light 2016-11-23 19:29:15 +01:00
Scott Lahteine 3bc2273ac9 Comment M540 2016-11-21 18:08:00 -06:00
Scott Lahteine 14b74181f5 Merge pull request #5179 from thinkyhead/rc_TMC2130
TMC2130 "Silent StepStick" support
2016-11-21 14:10:52 -06:00
Scott Lahteine bb2114a060 Merge pull request #5264 from thinkyhead/rc_delta_safe_zone
Add an option for delta to home to the top
2016-11-21 13:56:44 -06:00
Scott Lahteine 38466b1d2f Merge pull request #5271 from esenapaj/Fix-for-the-PR-#5267
Fix for thePR #5267 (Introduce a +1234.56 format for over 999 steps/mm)
2016-11-21 13:55:56 -06:00
Scott Lahteine 9b96a4a53b Merge pull request #5246 from thinkyhead/rc_some_cleanup
Minor stepper cleanup
2016-11-21 13:55:25 -06:00
Sebastianv650 8190483eeb Improvement for ENSURE_SMOOTH_MOVES
Instead of waiting for a single long block, compare the complete block
buffer runtime for the long_move() check.
2016-11-21 17:58:24 +01:00
esenapaj da67037550 Fix for thePR #5267 (Introduce a +1234.56 format for over 999 steps/mm)
・Fix memory leak
2016-11-21 22:31:01 +09:00
Scott Lahteine 0f891e848b Merge pull request #5268 from esenapaj/Update-Japanese-translation
Update Japanese translation
2016-11-21 03:18:36 -06:00
Scott Lahteine c91325e904 Merge pull request #5267 from esenapaj/Introduce-a-+1234.56-format
Introduce a +1234.56 format for over 999 steps/mm
2016-11-21 03:17:52 -06:00
esenapaj 190a04c467 Update Japanese translation
・Change translation for 16 width LCD
2016-11-21 17:51:43 +09:00
esenapaj 7b836a4000 Introduce a +1234.56 format for over 999 steps/mm 2016-11-21 17:45:07 +09:00
Scott Lahteine 76f47aebb6 Travis test TMC2130 options 2016-11-21 00:52:19 -06:00
Scott Lahteine 3e0376b45e Reorder M114 and M119 gcode cases 2016-11-21 00:52:19 -06:00
Scott Lahteine 644fac5d34 Reduce all stepper_indirection init code with macros 2016-11-21 00:52:18 -06:00
Scott Lahteine 4e4f37b6c2 Code formatting for TMC and L6470 config options 2016-11-21 00:52:18 -06:00
Scott Lahteine 127e21ae00 Extend M122 for all steppers 2016-11-21 00:52:18 -06:00
Scott Lahteine bf5f5f44cc Make TMC2130 init code auto-configure
Simply apply enabled settings instead of requiring users to edit
stepper_indirection.cpp
2016-11-21 00:52:17 -06:00
Moritz d67c1d825f Add TMC2130 support 2016-11-21 00:17:45 -06:00
Scott Lahteine 11effeee2c Add an option for delta to home to the top 2016-11-20 23:12:07 -06:00
Sebastianv650 50059690e0 Allow UART ISRs inside the stepper ISR
If the stepper ISR takes too long, chars are lost which leads to serial
communication errors like "Line number not +1" or "Wrong checksum". In
worst case, the printer can even do crazy moves.

With this changes, UART interrupts are handled inside the stepper ISR.
This way, no chars should be lost.
2016-11-20 13:09:12 +01:00
Scott Lahteine 8bf07684d2 Merge pull request #5256 from AnHardt/e-interrupts-2
Endstop interrupt refinement
2016-11-20 02:27:02 -06:00
Moshen Chan 29b174bfb9 Fix z feedrate value when doing mesh bed leveling. probe feedrate uses XY_PROBE_SPEED 2016-11-19 16:34:41 -08:00
AnHardt 88b38eafd8 Endstop interrupt refinement
At the start of a move, check if the endstops are already triggered.
The 'change' interrupts will not see a change if already triggered.
2016-11-19 13:30:49 +01:00
Scott Lahteine 79c8591192 Merge pull request #5253 from thinkyhead/rc_smooth_move_ex-lax
Ensure smooth print moves even with LCD enabled
2016-11-19 01:38:41 -06:00
Scott Lahteine 0215cacb30 Merge pull request #5247 from esenapaj/Re-follow-the-PR-#4634
Re-follow the PR #4634 (Set language display charset in language.h)
2016-11-19 01:32:40 -06:00
Scott Lahteine 2cc32d85a3 Adjust ENSURE_SMOOTH_MOVES coding style 2016-11-19 01:28:48 -06:00
Scott Lahteine 072541f286 Update ENSURE_SMOOTH_MOVES in all configs 2016-11-19 01:28:47 -06:00
Sebastianv650 de89dc9f04 Ensure smooth print moves even with LCD enabled
lcd_update can take so much time that the block buffer gets drained if
there are only short segments. This leads to jerky printer movements for
example in circles and a bad print quality.

This change implements a simple check: Only if the block currently
executed is long enough, run lcd_update.
This also means the printer will not show actual values on the LCD nor
will it respond to buttons pressed. A option that keeps the menu
accessible is also available.
Aditionaly, slow down if a block would be so fast that adding a new
block to the buffer would take more time. In this case, the buffer would
drain until it's empty in worst case.
2016-11-19 01:28:47 -06:00
Scott Lahteine 7b95918e84 Merge pull request #5251 from thinkyhead/rc_cmake_support
Added CMake support
2016-11-18 23:53:09 -06:00
Scott Lahteine 87b6b19256 Patch CASE_LIGHT typo 2016-11-18 23:49:12 -06:00
Scott Lahteine 0be6167f14 Merge pull request #5250 from CONSULitAS/RCBugFix_K8200_backinsync_2016-11-18
K8200: Example configuration back in sync
2016-11-18 22:49:18 -06:00
Scott Lahteine de3eea920d Merge pull request #5252 from thinkyhead/rc_endstop_interrupt_followup
Endstop interrupts followup
2016-11-18 22:35:25 -06:00
Scott Lahteine eb714ee873 Move dummy thermistor opts, fix redundant sensor comment 2016-11-18 22:24:48 -06:00
Scott Lahteine 7a99c6ce4f Reformat temp sensor listing 2016-11-18 22:24:47 -06:00
Scott Lahteine 181cdb3cfe Move GCode list above include lines 2016-11-18 22:24:46 -06:00
Scott Lahteine 25d0c167bd More detailed static_assert messages 2016-11-18 22:24:46 -06:00
Scott Lahteine eb120e518c Followup to new endstop interrupts feature
- Fix typos, verbiage
- Fix naming of `setup_endstop_interrupts`
- Some formatting, indentation, spacing
2016-11-18 21:53:45 -06:00
Scott Lahteine 832fe284b4 Merge pull request #5184 from AnHardt/endstop_interrupts
Introduce endstop interrupts
2016-11-18 20:50:24 -06:00
tohara f579ec2e7a Added CMake support 2016-11-18 20:18:34 -06:00
CONSULitAS cbae44df64 K8200: Example configuration back in sync
Configuration.h: back in sync, new features configured
Configuration_adv.h: back in sync, new features configured
README.md: text updated
2016-11-18 22:55:02 +01:00
esenapaj 5db3738fe7 Re-follow the PR #4634 (Set language display charset in language.h) 2016-11-18 17:44:49 +09:00
Scott Lahteine 32247c1b80 Merge pull request #5244 from thinkyhead/rc_danish_nov_2016
Update to Danish language 10/11-2016
2016-11-18 01:29:25 -06:00
Scott Lahteine 6eb6f12c64 Patch up some language formatting 2016-11-18 01:16:58 -06:00
Bo Herrmannsen 8cffa60cc5 Update to Danish language 10/11-2016 2016-11-18 01:16:57 -06:00
Scott Lahteine 98600e1433 Minor stepper cleanup 2016-11-18 01:15:57 -06:00
Florian Heilmann d08867986e Add autotemp capabilities to M104
This allows M104 to pass the F and B parameters to enable autotemp as well
2016-11-17 11:28:19 -06:00
Sebastianv650 c11b2bb777 Bugfix LIN_ADV
Advance has nothing todo with Z_AXIS, strange copy&paste error?
2016-11-17 11:28:19 -06:00
Scott Lahteine ee0765e872 Merge pull request #5233 from esenapaj/Update-Japanese-translation
Update Japanese translation
2016-11-17 03:38:19 -06:00
Scott Lahteine 2330619da0 Merge pull request #5191 from petrzjunior/const
Replace const bool with #define for consistency
2016-11-17 03:37:32 -06:00
esenapaj b278b7a395 Update Japanese translation
Only adjust spacing
2016-11-17 09:05:51 +09:00
Petr Zahradník junior d7ce5d271b Replace const bool with #define for consistency 2016-11-16 18:55:21 +01:00
Scott Lahteine d63230d73e Merge pull request #5192 from Kaibob2/patch-7
Printer Stats / Completed prints line doesn't fit in display (when german)
2016-11-16 00:16:36 -06:00
Scott Lahteine 548b45026d Merge pull request #5214 from Sebastianv650/RCBugFix_planner_opt
Save some cycle inside the planner
2016-11-16 00:06:55 -06:00
Scott Lahteine 5d23e52d75 Merge pull request #5228 from thinkyhead/rc_keep_last_mix
Fix DIRECT_MIXING_IN_G1 to preserve the previous mix
2016-11-15 19:12:01 -06:00
Scott Lahteine db47aa983d Merge pull request #5226 from mtowara/RCBugFix
bump -std in Makefile to c++11
2016-11-15 16:13:32 -06:00
Scott Lahteine 99b0c1fe56 Fix DIRECT_MIXING_IN_G1 to preserve the previous mix 2016-11-15 16:12:26 -06:00
Scott Lahteine a0aad8d686 Merge pull request #5224 from thinkyhead/rc_limit_G30_xy
Fix G30 with limits, print correct probe XY
2016-11-15 15:20:12 -06:00
Markus Towara 23a675f621 reduce binary size of .hex
still a few bytes bigger than with arduino but nothing major
2016-11-15 21:57:15 +01:00
Markus Towara 5b6e2cecf5 bump c/c++ standard to gnu11
needed for constexpr
2016-11-15 21:54:12 +01:00
Scott Lahteine 410657b050 Fix G30 with limits, print correct probe XY 2016-11-15 14:10:28 -06:00
AnHardt f3eee02596 Introduce endstop interrupts
If ENDSTOP_INTERRUPTS_FEATURE is enabled this tries to set up interrupt routines
for all used endstop pins. If this worked without errors, `endstops.update()` is called
only if one of the endstops changed its state.

The new interrupt routines do not really check the endstops and react upon them. All what they
do, is to set a flag if it makes sense to call the endstop test we are used to.

This can be used on:
* ARM (DUE) based boards - all pins can raise interrupts,
* RAMPS - all 6 endstop pins plus some other on EXT-2 can raise interrupts,
* RAMPS based boards - as long the designers did not change the pins for the endstops or at least left enough,
* all boards, if there are enough pins that can raise interrupts, and you are willing/able to swap with pins dedicated to other purpose.
2016-11-15 12:07:41 +01:00
Sebastianv650 e3ffb58fbd Save some cycle inside the planner
planner.h:
fan speed is used to set integer variables, so no need for long.
Basicaly a byte should be enough for all the fan things, as it's 0-255?

planner.cpp:
Save some float multiplications.
We could squeeze out even more by defining feedrate_percentage,
saved_feedrate_percentage and flow_percentage as float instead of int.
Everytime they are used in the time-critical planner, they are casted to
float and multiplied by 0.01. Not done jet, as they are used in LCD menu
functions I don't know well enough.
2016-11-13 13:34:12 +01:00
Scott Lahteine 665b7f3893 Merge pull request #5212 from thinkyhead/rc_mixing_faster
Store mix factors as reciprocals and multiply
2016-11-12 18:47:11 -06:00
Scott Lahteine 60cc9342a4 Merge pull request #5188 from thinkyhead/rc_extended_host_support
Extended host support: M155 Auto temp report, M115 capabilities
2016-11-12 15:38:06 -06:00
Scott Lahteine f663220e87 Store Mix factors as reciprocals and multiply 2016-11-12 15:19:18 -06:00
Scott Lahteine ea3c08d249 Merge pull request #5186 from esenapaj/Follow-up-the-PR-#5167-etc
Follow up the PR #5167 (Add Turkish Language) again, etc
2016-11-12 13:11:54 -06:00
Scott Lahteine c488378532 Merge pull request #5205 from Sebastianv650/RCBugFix_stepperpatch
Remove useless line from stepper ISR
2016-11-12 12:43:07 -06:00
Scott Lahteine 7972378828 Merge pull request #5209 from floyd871/RCBugFix
Megatronics 3.0 has no SD-Card detect
2016-11-12 12:42:02 -06:00
Michael Neumann 8bdf303da0 Update pins_MEGATRONICS_3.h 2016-11-12 12:26:07 +01:00
Michael Neumann 3890366c83 Update pins.h 2016-11-12 12:25:45 +01:00
Michael Neumann c0d45ca7f2 Update boards.h 2016-11-12 12:24:47 +01:00
Sebastianv650 cdc18f8c22 Remove useless line from stepper ISR
The flag is already set inside planner.get_current_block(). Doing it
twice isn't making it better..
2016-11-11 19:35:03 +01:00
Kai 8e8b4398f3 Printer Stats / Completed prints line doesn't fit in display (when german) 2016-11-09 22:03:25 +01:00
Scott Lahteine b31a07e261 Stateful M355 with separate P parameter 2016-11-09 03:28:18 -06:00
Scott Lahteine c8d4cd35d8 Include more features in Travis testing 2016-11-09 02:32:59 -06:00
Scott Lahteine 3c9a838651 Extended capabilities report in M115 2016-11-09 02:32:58 -06:00
Scott Lahteine 68b866b5dd Add M155 - Auto-report temperature with interval 2016-11-09 02:32:58 -06:00
Scott Lahteine 68b46fb2c9 Allow send to i2c address 0 (broadcast) 2016-11-08 17:54:55 -06:00
Scott Lahteine 75bfde9945 M155=>M260, M156=>M261 2016-11-08 17:54:54 -06:00
esenapaj 2ae72b0491 Follow up the PR #5167 (Add Turkish Language) again, etc
・Update forgotten K8400\Dual-head\Configuration.h
・Adjust spacing
2016-11-09 06:31:21 +09:00
Scott Lahteine 06f2282f82 Merge pull request #5176 from thinkyhead/rc_filchange_feedback
Give instant feedback for filament change
2016-11-07 12:11:54 -06:00
Scott Lahteine dcfd7c69e8 Merge pull request #5163 from nzinov/RCBugFix
Improve G30 probing command - add optional arguments
2016-11-07 11:37:13 -06:00
Scott Lahteine e765eebfb0 Patch spacing in bilinear grid report 2016-11-07 04:08:25 -06:00
Scott Lahteine 7780052fb3 Give instant feedback for filament change 2016-11-07 03:48:16 -06:00
Scott Lahteine de6f2ef2a3 Merge pull request #5171 from esenapaj/Follow-up-the-PR-#5167-etc
Follow up the PR #5167 (Add Turkish Language), etc
2016-11-07 00:05:44 -06:00
esenapaj 24e3f7abe7 Update Turkish translation
・Add new translation
2016-11-07 04:59:18 +09:00
esenapaj be48792e9c Follow up the PR #5167 (Add Turkish Language), etc
・Remove all the #ifndef
・Follow the PR #4603 (Strip never-translated strings from language
files)
・Follow the PR #4634 (Set language display charset in language.h)
・Follow the PR #4936 (Put max_jerk vars in array, clean up jerk code)
・Adjust spacing
2016-11-06 23:59:02 +09:00
Scott Lahteine 1864b282c5 Implement reversed CORE options 2016-11-05 23:47:51 -05:00
Scott Lahteine e3c8318504 Add reversed CORE options 2016-11-05 23:47:46 -05:00
Scott Lahteine 5aee8d892c Merge pull request #5167 from thinkyhead/rc_turkish_squashed
Add Turkish Language
2016-11-05 21:31:34 -05:00
Rigid3D 2327764980 Add Turkish Language 2016-11-05 21:06:16 -05:00
Nikolay Zinov dea00bbcf1 improve G30 probing
Add optional parameters
X, Y for probe point
S sets stowing on and off
2016-11-05 13:22:45 +03:00
Scott Lahteine 1614c9d207 Merge pull request #5155 from thinkyhead/rc_core_babystepping
BABYSTEPPING-oriented cleanup
2016-11-03 23:46:04 -05:00
Scott Lahteine 00662b8635 Minor babystep cleanup patches 2016-11-03 23:31:45 -05:00
Scott Lahteine cad792e702 Reduce code for invariant lcd_detected 2016-11-03 23:31:45 -05:00
Scott Lahteine b23d255491 Move macros above Stepper::babystep 2016-11-03 23:31:45 -05:00
Scott Lahteine cc57d46158 Fix set_position for CoreYZ 2016-11-03 23:31:45 -05:00
Scott Lahteine 0269347682 Merge pull request #5141 from thinkyhead/rc_old_slowdown_what
OLD_SLOWDOWN does nothing, so remove it
2016-11-03 23:30:43 -05:00
Scott Lahteine e92e2b2446 Merge pull request #5144 from Sebastianv650/RCBugFix_LIN_ADV_wipe
Account for wipe moves
2016-11-03 23:19:25 -05:00
Scott Lahteine 28a039c0e1 Merge pull request #5154 from thinkyhead/rc_bilinear_splits
Don't define bilinear_line_to_destination on kinematic setups
2016-11-03 15:29:31 -05:00
Scott Lahteine 176aeafc19 Don't define bilinear_line_to_destination on kinematic setups 2016-11-03 14:10:07 -05:00
Sebastianv650 d448500643 Account for moves with negative E movements
Added a rule so that LIN_ADVANCE isn't used for moves with negative E movements (de_float will be negative in this cases).
I also added a more detailed comment to make it more clear what the if statement does.
2016-11-03 17:01:17 +01:00
Scott Lahteine 2185973e39 Merge pull request #5150 from thinkyhead/rc_bilinear_splits
Corrections to bilinear_line_to_destination
2016-11-03 04:54:39 -05:00
Scott Lahteine 236853df22 Corrections to bilinear_line_to_destination
- Allow more than 9x9 probe points
- Account for the probe starting position
2016-11-03 04:43:59 -05:00
Scott Lahteine 3b6a43f7ad Merge pull request #5148 from thinkyhead/rc_dual_tool_z_limit
Fix Z raise with DXC_AUTO_PARK_MODE
2016-11-02 21:52:44 -05:00
Scott Lahteine 0115e495fe Fix up Dual X switch blocks 2016-11-02 21:38:50 -05:00
Scott Lahteine 2495ab7af2 Make dual_x_carriage_mode an enumeration 2016-11-02 21:38:49 -05:00
Scott Lahteine d6c36f5bb9 Fix Z raise with DXC_AUTO_PARK_MODE 2016-11-02 21:36:50 -05:00
Scott Lahteine 0c79553fc5 Cast int to AxisEnum for some accessors 2016-11-02 17:42:24 -05:00
Scott Lahteine adbf1f7dca Add M355 to the GCodes list. 2016-11-02 16:43:52 -05:00
Scott Lahteine 63efc10599 Merge pull request #5134 from thinkyhead/rc_bilinear_split_lines
Split cartesian moves on grid boundaries with bilinear ABL
2016-11-02 16:14:55 -05:00
Scott Lahteine 12167bc8f3 OLD_SLOWDOWN does nothing, so remove it 2016-11-02 01:28:19 -05:00
Scott Lahteine 1ee0fdcad7 Merge pull request #5140 from esenapaj/Follow-up-the-PR-#5089
Follow-up the PR #5089 (Centralize click-handling in the LCD loop)
2016-11-02 01:13:56 -05:00
esenapaj c8c1a28f6f Follow-up the PR #5089 (Centralize click-handling in the LCD loop)
bool feedback is no longer used
2016-11-02 08:36:02 +09:00
Scott Lahteine b0be2e41ff Merge pull request #5136 from esenapaj/Follow-up-the-PR-#5133
Follow-up the PR  #5133 (M355 Case light)
2016-11-01 11:04:48 -05:00
esenapaj c3a105186d Follow-up the PR #5133 (M355 Case light)
・Add CASE_LIGHT_PIN into pinsDebug.h
2016-11-02 00:31:50 +09:00
Scott Lahteine ee5b8d6dc8 Split moves on grid boundaries with bilinear ABL on cartesian 2016-11-01 08:25:47 -05:00
Scott Lahteine 66744a6076 Merge pull request #5133 from thinkyhead/rc_M355_case_light
M355 Case light
2016-11-01 07:51:27 -05:00
Scott Lahteine 955d14acb0 Patch photo pin code style 2016-11-01 06:30:14 -05:00
Stanley ab3f966f5f Case light G-code M355
implemented G-Code M355 into Marlin
2016-11-01 06:30:14 -05:00
Scott Lahteine 8b44413498 Merge pull request #5124 from Sebastianv650/RCBugFix_LIN_ADV-Patch
BugFix for incorrect E-speed calculation
2016-11-01 05:13:17 -05:00
Scott Lahteine f418e82b15 Remove redundant definition of EN_C 2016-11-01 05:10:07 -05:00
Sebastianv650 f9bea7968f BugFix for incorrect E-speed calculation
The extrusion speed was wrong due to a not high enough precision of
esteps to XY steps, therefore now the target float values are used to
calculate the ratio between XY movement and extrusion speed.
The e_speed_multiplier8 was replaced by an absolute multiplier called
abs_adv_steps_multiplier8, therefore one multiplication and bitshift can
be saved inside the stepper ISR. Due to this, also extruder_advance_k is
better suited inside the planner and not the stepper files any more.
2016-11-01 08:08:47 +01:00
Scott Lahteine 9c108aea18 Merge pull request #5132 from thinkyhead/rc_fix_M43
Followup to #5118 - pins debugging cleanup
2016-11-01 02:05:21 -05:00
Bob-the-Kuhn c20b4098be 2 bug fixes & some minor changes
see detailed  description in PR #5118
2016-11-01 01:29:41 -05:00
Scott Lahteine fa6bf12697 Merge pull request #5118 from thinkyhead/rc_expanded_M43
Enhancements to M43 pins debugging
2016-10-31 08:29:53 -05:00
Scott Lahteine 3a107e280d Developer note in pins_MIGHTYBOARD_REVE.h 2016-10-31 08:22:39 -05:00
Scott Lahteine 85e307dcd8 No FAN0_PIN 2016-10-31 08:08:03 -05:00
Scott Lahteine ff3a8ca0d1 Use NUM_DIGITAL_PINS instead of custom DIO_COUNT 2016-10-31 08:08:03 -05:00
Scott Lahteine 04a1fac029 Some cleanup to M43 2016-10-31 08:08:03 -05:00
Scott Lahteine 24f6612551 Reduce and optimize endstop_monitor code 2016-10-31 08:08:03 -05:00
Scott Lahteine b4444e91ae Reduce code and build size of PWM_details 2016-10-31 08:08:02 -05:00
Scott Lahteine dbe414ef03 Squash redundant code in PWM_status 2016-10-31 08:08:02 -05:00
Scott Lahteine af26d22741 Clean up some spacing and semantics 2016-10-31 08:08:02 -05:00
Bob-the-Kuhn 81397d7a9a EXTRUDER_x_AUTO_FAN name change to Ex_AUTO_FAN
I stumbled across a name change that'll be used a lot so I'm updateing
the name list.
2016-10-31 08:08:02 -05:00
Bob-the-Kuhn c7f1f0dae6 Add endstop monitor & make pins report pretty 2016-10-31 08:08:02 -05:00
Scott Lahteine d567b426d5 Merge pull request #4894 from thinkyhead/rc_mightyboard_rev_e
Mightyboard Revision E preliminary support
2016-10-31 08:01:41 -05:00
Scott Lahteine 43df9ace4e Merge pull request #5110 from thinkyhead/rc_z2_min_allowed
Support Z2 min in M119 report
2016-10-31 07:59:45 -05:00
Scott Lahteine 8a4c51f313 Merge pull request #5115 from thinkyhead/rc_buffer_line_wait_later
Optimize buffer_line by calculating before wait-for-free-block
2016-10-30 16:46:18 -05:00
Scott Lahteine 23f05f8be7 Use bit-length types in block_t 2016-10-30 16:16:29 -05:00
Scott Lahteine 8dc7807d85 Add support for CoreYZ to planner.buffer_line 2016-10-30 16:16:28 -05:00
Scott Lahteine 1cf878fdb1 Calculate dm and e-steps earlier in planner 2016-10-30 16:16:28 -05:00
Scott Lahteine 75dbb71dd7 Replace block.busy with a block.flag bit 2016-10-30 16:16:28 -05:00
Scott Lahteine c7f22f688f buffer_line can calculate while it's waiting 2016-10-29 17:08:42 -05:00
Scott Lahteine 3c3fe1a1ba Merge pull request #5089 from thinkyhead/rc_break_m1_fix
Centralize click-handling in the LCD loop
2016-10-29 16:07:08 -05:00
Scott Lahteine f3720f4e81 const arguments to test_dual_z_endstops 2016-10-29 16:01:27 -05:00
Scott Lahteine 8cebd2a7db Arrange Z2 min before Z2 max 2016-10-29 01:54:19 -05:00
Scott Lahteine accabf088a Add support for Z2 min endstop to M119 2016-10-29 01:54:02 -05:00
Scott Lahteine 396434a445 Fix compiler warning in M145 2016-10-28 20:57:36 -05:00
Scott Lahteine 8e787304c9 const float ref args in planner.h 2016-10-28 20:57:36 -05:00
Scott Lahteine 07bfc45df8 Adjust spacing in gcode_M149 2016-10-28 20:57:36 -05:00
Scott Lahteine 1a2310c494 Make LCD preheat vars an array to reduce code size 2016-10-28 20:57:36 -05:00
Scott Lahteine 1226ae1912 Some cleanup in ultralcd.h 2016-10-28 20:57:21 -05:00
Scott Lahteine 50ee749082 Centralize click-handling in the LCD loop 2016-10-28 20:57:21 -05:00
Scott Lahteine 47ad97c35e Merge pull request #5109 from thinkyhead/rc_eeprom_M218_tool_offset
Save hotend_offset array (M218) in EEPROM
2016-10-28 20:08:29 -05:00
Scott Lahteine d095c7933b Merge pull request #5108 from MagoKimbra/Fix_M420
Fix Command M420
2016-10-28 19:23:40 -05:00
Scott Lahteine bff6bbdb12 Indentation in configuration_store.cpp 2016-10-28 18:55:42 -05:00
Scott Lahteine 97115d56f9 Print error for M500 with disabled EEPROM 2016-10-28 18:53:48 -05:00
Scott Lahteine 67ab54185b Save hotend_offset array (M218) in EEPROM 2016-10-28 18:45:23 -05:00
MagoKimbra dfcdbb437b Fix Command M420 2016-10-28 20:53:48 +02:00
Scott Lahteine c34dbfb248 Merge pull request #5072 from thinkyhead/rc_preset_auto_fans
Add predefined AUTO_FAN_PINs to pins files
2016-10-27 17:12:11 -05:00
Scott Lahteine 1e00f5a4bd Merge pull request #5097 from thinkyhead/rc_fix_endstop_issue
Don't trigger endstops that are actually Z2 or probe
2016-10-27 08:32:48 -05:00
Scott Lahteine 9a23f73765 Don't trigger endstops that are actually Z2 or probe 2016-10-27 08:12:17 -05:00
Scott Lahteine c07cc9e3f1 Revert changes made to z dual endstop test
#3631 broke z dual endstops. Solved by @Nocturnal42 in https://github.com/MarlinFirmware/Marlin/issues/5078#issuecomment-256572248
2016-10-27 07:41:39 -05:00
Scott Lahteine c4c53856a4 Merge pull request #5094 from esenapaj/Fix-for-the-PR-#5088
Fix for the PR #5088 (Handle M108 in M1 also with ULTIPANEL)
2016-10-26 21:51:18 -05:00
Scott Lahteine 2e3110539b Merge pull request #5095 from thinkyhead/rc_fix_bilinear_math
Fix bilinear grid constraints
2016-10-26 21:48:19 -05:00
Scott Lahteine 4ec7ed554d Merge pull request #5093 from esenapaj/Follow-up-the-PR-#5087-etc
Follow-up the PR #5087 (Fixed SERVO pins on Azteeg X3), etc
2016-10-26 21:23:34 -05:00
esenapaj d5a5042d23 Fix for the PR #5088 (Handle M108 in M1 also with ULTIPANEL) 2016-10-27 10:32:20 +09:00
Scott Lahteine 9cbedab91b Use DPM where possible 2016-10-26 18:38:32 -05:00
Scott Lahteine ad38d91692 Sanity check that auto fan pins can do PWM 2016-10-26 18:38:32 -05:00
Scott Lahteine 95275eb9b3 Predefine auto fan pins in some pins files 2016-10-26 18:38:32 -05:00
Scott Lahteine 3f94b15cef Fix bilinear grid constraints
Followup to #5090
2016-10-26 18:11:26 -05:00
Scott Lahteine d439fb95f7 Sanity check for the renamed options 2016-10-26 17:51:26 -05:00
Scott Lahteine b6aa894893 Rename auto fan pins and add auto fan flags 2016-10-26 17:51:26 -05:00
Scott Lahteine ada935de87 Allow TEMP_STAT_LEDS with only one LED defined 2016-10-26 17:51:26 -05:00
Scott Lahteine 4b056d8184 Fix warning in ultralcd.cpp 2016-10-26 17:51:26 -05:00
Scott Lahteine 9dfd029911 Fix bug in fastio.h _GET_TIMER 2016-10-26 17:51:25 -05:00
esenapaj 8b1d90e281 Follow-up the PR #5087 (Fixed SERVO pins on Azteeg X3), etc
・Add header
・Adjust spacing
2016-10-27 06:46:03 +09:00
Scott Lahteine bfd3b3c604 Merge pull request #5087 from Fulg/azteeg-x3-pins
Fixed SERVO pins on Azteeg X3
2016-10-26 06:01:16 -05:00
Scott Lahteine 208d720614 Merge pull request #5082 from Fulg/RCBugFix
Only issue MAXTEMP when heating
2016-10-26 05:55:33 -05:00
Scott Lahteine b5d9639dd0 Merge pull request #5090 from thinkyhead/rc_fix_bilinear_math
Fix for bilinear grid outside bounds
2016-10-26 05:45:17 -05:00
Scott Lahteine f0d673561f Fix for bilinear grid outside bounds 2016-10-26 05:00:03 -05:00
Scott Lahteine 24bcea6c02 Merge pull request #5088 from thinkyhead/rc_break_m1_fix
Handle M108 in M1 also with ULTIPANEL
2016-10-26 00:44:01 -05:00
Scott Lahteine 1ba1ec0db9 Handle M108 in M1 also with ULTIPANEL 2016-10-25 23:25:47 -05:00
Scott Lahteine 7ad33422e3 Clear dir_t size, not pointer size 2016-10-25 22:59:40 -05:00
Benoit Miller 1c716034ec Fixed SERVO pins on Azteeg X3 2016-10-25 17:11:26 -04:00
Benoit Miller 2aa12d78dc Only issue MAXTEMP when heating 2016-10-24 17:09:29 -04:00
Scott Lahteine 3fcf915808 Fix uninitialized var in reset_acceleration_rates 2016-10-24 11:55:41 -05:00
Scott Lahteine 14f824c3de Merge pull request #5071 from esenapaj/Extend-measuring-range-of-thermocouple
Extend measuring range of thermocouple for MAX31855
2016-10-24 02:00:12 -05:00
Scott Lahteine 1097a50694 Merge pull request #5070 from gcormier/rcbugfix
Fix #4995 - M48/G29 on CoreXY maybe others?
2016-10-24 00:56:36 -05:00
Scott Lahteine fed6cfc5f5 Merge pull request #5074 from Sebastianv650/Accel_calc_v2
Planner acceleration bugfix and speedup v2
2016-10-23 16:42:57 -05:00
Sebastianv650 c397b9d60a Planner acceleration bugfix and speedup v2
.) Use already existing inverse_millimeters instead of /
block->millimeters.
.) Prevent overflow during acceleration calculation by checking if float
is necessary. Idea modified from Sailfish.
.) Save two uint32_t or even float multiplications by checking if
step[AXIS] has steps and if max acceleration is lower than accel. If
not, there is no need to check this axis.
2016-10-23 12:47:46 +02:00
Scott Lahteine aa99bd8d13 Merge pull request #5068 from esenapaj/Fix-for-PR-#5066
Fix for the PR #5066 (Updated french translation)
2016-10-23 02:56:36 -05:00
esenapaj 70e287ca8c Extend measuring range of thermocouple for MAX31855 2016-10-23 10:22:39 +09:00
Greg Cormier f0aed9dac7 Fix #4995 - M48/G29 on CoreXY maybe others? 2016-10-22 20:45:13 -04:00
esenapaj e50992694f Fix for the PR #5066 (Updated french translation)
MSG_INFO_PRINT_TIME is still being used
2016-10-23 06:09:56 +09:00
Scott Lahteine 483082387c Merge pull request #5022 from esenapaj/Fix-for-the-PR-#4553
Fix for the PR #4553 (Save bytes for custom chars (Hitachi LCD))
2016-10-22 13:54:09 -05:00
Scott Lahteine 8b967a9ff0 Merge pull request #5058 from thinkyhead/rc_reverse_arrow_buttons
Apply encoder reverse options to keypad arrows
2016-10-22 13:52:35 -05:00
esenapaj 523c7eaa6c Fix for the PR #4553 (Save bytes for custom chars (Hitachi LCD)) 2016-10-23 03:29:00 +09:00
Scott Lahteine ca48a49fdb Merge pull request #5065 from petrzjunior/transl
[LANGUAGE] Update Czech (BLTOUCH and DAC strings)
2016-10-22 12:46:10 -05:00
Scott Lahteine f0744fc815 Merge pull request #5066 from thinkyhead/rc_french_update
Updated french translation
2016-10-22 12:45:51 -05:00
Gege2B 88b7f6eb46 Updated french translation 2016-10-22 12:30:22 -05:00
Scott Lahteine 3544c3632f Merge pull request #5062 from thinkyhead/rc_warnings_fix
Warnings fixed redux
2016-10-22 12:21:36 -05:00
Petr Zahradník junior 8323d78ed7 Translated BLTOUCH and DAC strings 2016-10-22 19:12:21 +02:00
Scott Lahteine e151f952a3 Apply encoder reverse options to keypad arrows 2016-10-22 11:51:33 -05:00
Scott Lahteine cfb47929ca Merge pull request #5060 from thinkyhead/rc_fix_ugly_code
Reduce, clean up MINTEMP / MAXTEMP test code
2016-10-22 11:27:30 -05:00
Josef Pavlik dca50737f5 fixed warning: ISO C++ forbids compound-literals 2016-10-22 11:23:16 -05:00
Josef Pavlik 0bd66807b2 fixed warning: extra ; 2016-10-22 11:12:29 -05:00
Josef Pavlik d35dc407a8 fixed warning: ISO C99 requires rest arguments to be used 2016-10-22 11:12:29 -05:00
Josef Pavlik c2b51af3ba fixed warning: ISO C does not permit named variadic macros 2016-10-22 11:12:29 -05:00
Scott Lahteine 0d3fc7dd89 Merge pull request #5059 from gcormier/fixbaby
Set defer delay back to false when exiting babystepping.
2016-10-22 10:59:17 -05:00
Scott Lahteine f888597197 Reduce, clean up code for mintemp/maxtemp tests 2016-10-22 10:31:03 -05:00
Scott Lahteine ad64723354 Move MAX_EXTRUDERS to pins.h 2016-10-22 10:07:51 -05:00
Scott Lahteine 5f5a55a0de Add a ZERO macro to clear arrays 2016-10-22 10:07:18 -05:00
Greg Cormier 0009725637 Set defer delay back to false when exiting babystepping. 2016-10-22 09:43:30 -04:00
Scott Lahteine 627f9d5285 Merge pull request #5056 from thinkyhead/rc_lin_adv_opt
LIN_ADVANCE optimizations
2016-10-22 07:06:39 -05:00
Scott Lahteine 0908329d96 Merge pull request #5057 from thinkyhead/rc_mbl_lcd_logical
Fix manual leveling coordinates
2016-10-22 06:31:02 -05:00
Scott Lahteine 14e60f0d3b Correct typo in configs
As pointed out by #5044
2016-10-22 05:56:32 -05:00
Scott Lahteine 1165e83263 MBL coordinates are logical 2016-10-22 05:55:44 -05:00
Scott Lahteine dbfabb4c0a Merge pull request #5043 from Kaibob2/patch-5
Correct grammar and translation in language_de.h
2016-10-22 05:52:54 -05:00
Scott Lahteine b19bba275f No LCD timeout during babystepping
As requested in #5031
2016-10-22 05:26:07 -05:00
Scott Lahteine b9109b2875 Improve LIN_ADVANCE commentary (all configs) 2016-10-22 05:03:09 -05:00
Sebastianv650 9818d97587 Fix Z-hops during retract/prime lead to blobs
We don't want to have retract/prime movements done with LIN_ADVANCE, that's also true with simultaneously executed Z-hops.
2016-10-22 04:54:59 -05:00
Sebastianv650 599649e45d Add formula for LIN_ADVANCE_K
With this formula, a start value for K for further fine-calibration can be calculated.
2016-10-22 04:54:59 -05:00
Scott Lahteine be7d245eff Merge pull request #5008 from thinkyhead/test_endstop_hits
Save some PROGMEM in MBL G28
2016-10-22 03:35:52 -05:00
Scott Lahteine 7c0e52256d Merge pull request #5053 from thinkyhead/rc_fix_baud_config
Patch BAUDRATE line in configs
2016-10-22 03:27:45 -05:00
Scott Lahteine 2783dcb4cc Save some RAM in MBL's G29 2016-10-22 02:52:56 -05:00
Scott Lahteine 4f5a8c05d5 Tweaks to endstops macros 2016-10-22 02:52:56 -05:00
Scott Lahteine 083d41a2c2 Remove redundant estep rate code from LIN_ADVANCE
As noted by https://github.com/MarlinFirmware/Marlin/pull/4971#issuecomment-252503295
2016-10-22 02:19:14 -05:00
Scott Lahteine 4f6bfabaad Patch BAUDRATE line in configs 2016-10-22 00:48:52 -05:00
Kai 2bfedb74d5 Correct grammar and translation in language_de.h
Made Filament change Text sound like correct german.
2016-10-19 14:56:46 +02:00
Roxy-3D 8ddd039e68 Merge pull request #5037 from esenapaj/Fix-for-the-commit-dc2cb84
Fix for the commit dc2cb84 (Revert acceleration limiting to avoid overflow)
2016-10-18 15:33:06 -05:00
esenapaj 1e1edeadd3 Fix for the commit dc2cb84 (Revert acceleration limiting to avoid overflow)
・Add forgotten '\'
2016-10-18 18:07:20 +09:00
Scott Lahteine dc2cb8454c Revert acceleration limiting to avoid overflow 2016-10-17 17:08:41 -05:00
Scott Lahteine 6ae5cf17a9 Merge pull request #5033 from esenapaj/Fix-freezing-with-MAX31855
Fix freezing and MINTEMP Error with MAX31855 thermocouple
2016-10-17 16:22:20 -05:00
Scott Lahteine f257c4bcae Merge pull request #5036 from thinkyhead/rc_dac_code_deps
Fix DAC current code
2016-10-17 16:19:00 -05:00
Scott Lahteine b80cc0cbb5 Fix DAC current code 2016-10-17 15:17:57 -05:00
esenapaj 385bd8a4a3 Fix freezing and MINTEMP Error with MAX31855 thermocouple 2016-10-16 07:33:14 +09:00
Scott Lahteine ca7275a67a Disable EXTRAPOLATE_FROM_EDGE by default 2016-10-14 14:44:28 -05:00
Scott Lahteine 0921c7da84 Merge pull request #4997 from thinkyhead/rc_jerk_from_mk2
Adapt Jerk / Speed code from Prusa MK2
2016-10-12 06:38:50 -05:00
Scott Lahteine 4d89652bc2 Apply minor optimizations to planner.cpp 2016-10-12 04:42:15 -05:00
Scott Lahteine 1092319b19 Adapt speed/jerk code based on Prusa MK2 branch 2016-10-12 04:42:14 -05:00
Scott Lahteine 37643fef63 Merge pull request #4972 from bgort/platformio-improvements
Move platformio directories out of source tree
2016-10-12 03:42:33 -05:00
Scott Lahteine 8e1cc9332a Replace block flag bools with flag bits
…and apply const to some method parameters
2016-10-10 23:17:49 -05:00
Scott Lahteine d41f2bdbd8 Merge pull request #4991 from thinkyhead/rc_max31855_fix
Patches for Stepper DAC and MAX31855
2016-10-10 20:12:06 -05:00
Scott Lahteine d2da14459f Merge pull request #4993 from thinkyhead/rc_planner_deps
Sort out some header dependencies
2016-10-10 20:11:27 -05:00
Scott Lahteine e7cf566fc5 Do kinematic segments with buffer_line_kinematic
This breaks the raw option, but in the future perhaps all planner moves
will be sent in raw form instead of logical.
2016-10-10 17:14:03 -05:00
Scott Lahteine a10e81dc2a Minor cleanup of set_bed_leveling_enabled 2016-10-10 17:14:03 -05:00
Scott Lahteine 029824bc49 Patch ADJUST_DELTA macro for SCARA 2016-10-10 17:14:03 -05:00
Scott Lahteine 5ce5a9c822 Marlin: planner.h tweak 2016-10-10 17:14:03 -05:00
Scott Lahteine d963020532 Sort out some header dependencies 2016-10-10 17:14:03 -05:00
Scott Lahteine e17f9b8b99 DAC patches
As suggested by #4985
2016-10-10 14:08:04 -05:00
Scott Lahteine 2cb5df8a56 Merge pull request #4984 from esenapaj/Small-fix-for-PR-#4980
Small fix for the PR #4980 (LIN_ADVANCE bug fix and optimization)
2016-10-10 13:30:47 -05:00
Scott Lahteine b6221df3f3 Merge pull request #4983 from MarlinFirmware/revert-4933-rc_drop_pid_func_range
Revert "Removal of PID functional range"
2016-10-10 13:29:54 -05:00
Scott Lahteine a07033a6c1 Merge pull request #4974 from esenapaj/Follow-up-the-PR-#4955
Fix and follow-up the PR #4955 (PINS_DEBUGGING and M43: Read pin states), etc
2016-10-10 13:27:52 -05:00
Scott Lahteine f8199b2cc1 Merge pull request #4982 from thinkyhead/rc_abl_bugfix
Fix planner with kinematics, delta ABL
2016-10-10 13:24:22 -05:00
esenapaj f41c60d4a4 Follow-up the PR #4955, etc
・More ANALOG NUMBERING to Analog Input
・Add comment header to all the section of all the pins files

・Sort sections as follows:
1. Some special definitions (USBCON, LARGE_FLASH, etc)
2. Servos
3. Limit Switches
4. Z Probe
5. Steppers
6. Temperature Sensors
7. Heaters / Fans
8. Misc. Functions
9. LCD / Controller

・Move MAX6675_SS into "Temperature Sensors" section
・Adjust spacing
2016-10-10 14:22:43 +09:00
esenapaj 00456b0cb3 Fix compilation errors 2016-10-10 14:22:43 +09:00
esenapaj cfb5c24bc9 Small fix for the PR #4980 (LIN_ADVANCE bug fix and optimization)
・Fix a comment about timer
2016-10-10 07:48:42 +09:00
Scott Lahteine 149b8d9e4b Handle MAX31855 error conditions 2016-10-09 17:12:50 -05:00
Scott Lahteine f4ec265363 Fix a typo 2016-10-09 16:45:29 -05:00
Scott Lahteine 4ec2d459e6 Fix mcp4728_setVref_all as followup to #4967 2016-10-09 16:45:00 -05:00
Scott Lahteine 1e551c0688 Revert "Squashed - Removal of PID functional range" 2016-10-09 16:27:45 -05:00
Scott Lahteine 4037df82b0 Merge pull request #4981 from esenapaj/Update-Japanese-language
Update Japanese translation, etc
2016-10-09 16:11:53 -05:00
Scott Lahteine e4e290d957 Make EXTRUDER_RUNOUT_PREVENT kinematic compatible 2016-10-09 15:58:33 -05:00
Scott Lahteine 847429eff4 Make tool_change kinematic compatible 2016-10-09 15:58:32 -05:00
Scott Lahteine a4a7ca10ca Make USE_DELTA_IK_INTERPOLATION compatible with ABL 2016-10-09 15:58:32 -05:00
Scott Lahteine c5cac486f5 Use a, b, c instead of lx, ly, lz 2016-10-09 14:34:24 -05:00
Scott Lahteine bbeaca5839 Merge pull request #4980 from thinkyhead/rc_lin_update
LIN_ADVANCE bug fix and optimization
2016-10-09 14:29:09 -05:00
Josef Pavlik f8c2473a71 Improve planner kinematics, fix delta ABL 2016-10-09 13:32:46 -05:00
Scott Lahteine 48761f2021 Patch delta endstop adjustment config 2016-10-09 13:32:45 -05:00
Josef Pavlik 28d41b48e3 delta endstop adjustment configurable 2016-10-09 13:09:34 -05:00
Scott Lahteine ff6b23cb0f Fix an issue with shifted LCD lines 2016-10-09 13:00:00 -05:00
Scott Lahteine e4d2662d81 Use some macros in M48 2016-10-09 12:21:05 -05:00
Scott Lahteine 3752d9aca8 Fix timer comments 2016-10-09 12:11:00 -05:00
Sebastianv650 a448cedbc5 LIN_ADVANCE bug fix and optimization
.) long to int: Extruder stalls at 10kHz / 20kHz step limits with long.
.) Take the delta_adv_steps calculation out of the step_loops loop. Wasted calculation performance if done inside.
.) >> 2 replaced by 3: Is divide by 8. Reason: Timer 0 runs at 16/8=2MHz, Timer 1 at 16/64=0.25MHz. ==> 2/0.25=8.
2016-10-09 11:55:02 -05:00
esenapaj b27080c1dd Update Japanese translation
・Add new translation
2016-10-10 01:52:51 +09:00
esenapaj 0780146034 Move DAC section from inside of the changing filament section 2016-10-10 01:17:46 +09:00
Scott Lahteine fc93796e42 Merge pull request #4967 from thinkyhead/rc_dac_menu
Revised DAC Drive Strength Menu
2016-10-09 00:52:48 -05:00
Brian 9c0404eae4 Move platformio directories out of source tree 2016-10-08 13:45:26 -04:00
Scott Lahteine a1b50f1102 Cleanup of code style 2016-10-07 15:57:24 -05:00
jaysonkelly 13c9dcc600 Add LCD menu for DAC 2016-10-07 15:13:03 -05:00
Scott Lahteine 00261cbfcb Merge pull request #4933 from thinkyhead/rc_drop_pid_func_range
Squashed - Removal of PID functional range
2016-10-07 15:07:55 -05:00
Scott Lahteine ee01def16d Merge pull request #4955 from thinkyhead/rc_debug_pins
PINS_DEBUGGING and M43: Read pin states
2016-10-07 14:47:34 -05:00
Scott Lahteine a0df34fd4c Add PINS_DEBUGGING advanced config option 2016-10-07 14:20:13 -05:00
Scott Lahteine e21bab5243 PINS_DEBUGGING and M43 Read Pins 2016-10-07 14:11:48 -05:00
Scott Lahteine 3c97fa6e29 Merge pull request #4963 from esenapaj/Fix-for-advance-algorithm
Move routine of direction signal of ADVANCE and LIN_ADVANCE from Stepper::isr() to Stepper::advance_isr()
2016-10-07 00:33:42 -05:00
Scott Lahteine 48e63c4730 Comment some globals 2016-10-06 22:06:33 -05:00
Scott Lahteine 9a6c66602f Fix formatting of extrapolate debug output 2016-10-06 17:04:22 -05:00
Scott Lahteine cd77eb5c40 Clear grid for bilinear G29 2016-10-06 17:00:53 -05:00
Scott Lahteine 53a0856f5c Print Y as int in print_bed_level 2016-10-06 16:46:54 -05:00
esenapaj f8df88f271 Move routine of direction signal of ADVANCE and LIN_ADVANCE from Stepper::isr() to Stepper::advance_isr() 2016-10-07 02:01:29 +09:00
Roxy-3D 30fee51e86 Merge pull request #4958 from bgort/m48_improvements
Improve M48 output; Add min, max, range, etc.
2016-10-06 10:02:22 -05:00
Brian 357854a7ef tweak variables; 2016-10-05 19:49:05 -04:00
Brian 48cf19151a Improve M48 output; Add min, max, range, etc. 2016-10-05 16:09:39 -04:00
Scott Lahteine c63cb45268 Fix thermal runaway timeout 2016-10-05 08:42:39 -05:00
Scott Lahteine e6164d254d Clean up GCode command short comments 2016-10-05 06:13:30 -05:00
Scott Lahteine 47bd142b29 Should marlinAnalogInputToDigitalPin use analogInputToDigitalPin? 2016-10-05 06:13:30 -05:00
Scott Lahteine bd8520e61d Label analog pins in a similar way
Some other pins formatting also
2016-10-05 06:13:30 -05:00
Scott Lahteine 0c0deb5194 Common pin_is_protected function 2016-10-05 04:41:27 -05:00
Scott Lahteine 49d77720d5 More support for 4th extruder or heater 2016-10-05 04:40:22 -05:00
Scott Lahteine 9dd56e61bd Merge pull request #4954 from thinkyhead/rc_more_debug_homing
Fix buzzer when both i2c and beeper pin are set
2016-10-05 03:39:47 -05:00
Scott Lahteine 46839c222a Comment and clean up some vars 2016-10-04 23:40:45 -05:00
Scott Lahteine 8910bb7c97 Fix buzzer conditional compile 2016-10-04 21:38:41 -05:00
Scott Lahteine de7e798e6f Replace single-char S_ECHOs with S_CHAR 2016-10-04 21:38:41 -05:00
Scott Lahteine 0e83f34174 Tweak debugging of probe_pt 2016-10-04 21:38:00 -05:00
Scott Lahteine cc02f6edf8 Merge pull request #4943 from esenapaj/Small-update-of-language_kana_h
Small update of language_kana.h
2016-10-04 03:21:57 -05:00
Scott Lahteine ca26011e3c Merge pull request #4941 from MagoKimbra/rc_fix_M205
Add note for M205
2016-10-04 03:21:20 -05:00
Scott Lahteine 9485aa8f13 Include negative Z probe offset in clearance move 2016-10-03 16:18:04 -05:00
Scott Lahteine 5c1eb595e6 Fix for G2/G3 negative radius
As suggested in #4940
2016-10-03 14:48:44 -05:00
esenapaj f09ae96f28 Small update of language_kana.h 2016-10-03 23:41:39 +09:00
MagoKimbra 7b37539fe7 Add note for M205 2016-10-03 08:54:15 +02:00
Scott Lahteine d5f598cd82 Tweak probe debug, add newline 2016-10-02 17:35:40 -05:00
Scott Lahteine c592ccb6f5 Patch max_jerk[Z] menu item 2016-10-02 10:12:47 -05:00
Scott Lahteine d80a79eb77 Use right-shift instead of / 2, why not? 2016-10-02 07:01:40 -05:00
Rerouter 02fe9cf558 Removal of functional range constraint
Also lined up the >> 1 and / 2 mentioned earlier in the unconstrained I term issue,
2016-10-02 07:01:40 -05:00
Rerouter 5f5d87cad3 Update Configuration.h 2016-10-02 07:01:40 -05:00
Scott Lahteine 6abfc96165 Merge pull request #4936 from thinkyhead/rc_more_debug_homing
Put max_jerk vars in array, clean up jerk code
2016-10-02 06:54:54 -05:00
Scott Lahteine 761593b74b Cleanup some vars, use of min/max 2016-10-02 06:34:56 -05:00
Scott Lahteine d19cfcfc1d max_jerk array, DEFAULT_XYJERK => DEFAULT_[XY]JERK 2016-10-02 06:34:56 -05:00
Scott Lahteine 911f7e436c Merge pull request #4934 from thinkyhead/rc_more_debug_homing
More detailed debugging of G28 delta
2016-10-02 03:17:58 -05:00
Scott Lahteine e7dc174f30 More detailed debugging of G28 delta 2016-10-02 02:18:57 -05:00
Scott Lahteine 473f4a17a8 Merge pull request #4914 from Rerouter/PID-Unconstrained-Itemp
Pid unconstrained itemp
2016-10-01 06:58:07 -05:00
Scott Lahteine bad8899ebc Merge pull request #4900 from thinkyhead/rc_g38_changes
Cleanup of G38.2 / G38.3
2016-10-01 06:57:17 -05:00
Scott Lahteine 73ce3a61c7 Cleanup, comment zigzag 2016-10-01 05:21:52 -05:00
Scott Lahteine 0d538f3db6 Add to all configurations 2016-10-01 05:00:53 -05:00
Scott Lahteine 919fe3e4b8 Rename feature to G38_PROBE_TARGET 2016-10-01 05:00:53 -05:00
Scott Lahteine a2864ab7fe Patched up, cleaned up 2016-10-01 05:00:53 -05:00
Bob-the-Kuhn 2911aa7ffa code changes to implement G38 commands
1) modified 3 code files
Marlin.h
Marlin_main.cpp
endstops.cpp

2) modified config files so I could test on my machine

Testing was done on an AzteegX3pro based machine.

The probe was hooked to the Z_MIN endstop.

My controller doesn't have a dedicated Z_PROBE input so I couldn't test
that functionality.

Verified that a large file (without any G38 commands) executed the same
before and after the changes.

Verified that the head moves as expected when G38.2 and G38.3 commands
are issued. Single & multiple axis moves were tested along with + and -
directions.

Code was added to the main ISR. In normal operation only one extra IF
statement is evaluated. I didn't notice any performance degradation
because of the added code.

The G38 commands are expected to be issued manually by the operator
during machine setup. The G38 commands wait until the machine is idle
before proceeding. That way the other commands are minimally impacted
by the extra ISR overhead when a G38 command is in the queue.

The G38 commands are very similar to the G28 commands except 1) only the
Z_PROBE is used and movement can be in the + or - direction.

See issue 4677 for a discussion on adding G38 commands to Marlin.
Feature request: add ability to use G38.2 command (CNC)
MarlinFirmware/Marlin#4677
2016-10-01 05:00:53 -05:00
Scott Lahteine 74d048e77e Merge pull request #4927 from thinkyhead/rc_bltouch_noraise
Don't check Z_MAX on raise when the probe pwns the pin
2016-10-01 04:52:56 -05:00
Scott Lahteine 4afa293289 Say "BLTOUCH" in machine info report 2016-09-30 17:13:27 -05:00
Scott Lahteine ed7d2694fc Don't check Z_MAX on raise when the probe pwns the pin 2016-09-30 16:41:30 -05:00
Rerouter 638b809d90 Merge pull request #3 from thinkyhead/rc_unconstrain_pid
Apply changes to all configs
2016-09-30 17:41:32 +10:00
Scott Lahteine 3bbdd48a4d Merge pull request #4918 from thinkyhead/rc_abl_patchups
Fix up ABL - Add PROBE_Y_FIRST option. Arduino 1.6.8 required.
2016-09-29 15:29:01 -05:00
Scott Lahteine dac7a75054 Merge pull request #4919 from thinkyhead/rc_k8400_stops
K8400 has 1xXY an 2xZ endstop plugs
2016-09-29 15:24:57 -05:00
Scott Lahteine fffc9fefa8 Apply changes to all configs 2016-09-29 02:17:33 -05:00
Scott Lahteine 587cb6c283 K8400 has 1xXY an 2xZ endstop plugs 2016-09-29 02:07:22 -05:00
Scott Lahteine d234bc160e Require Arduino 1.6.8 to compile 2016-09-29 02:00:27 -05:00
Scott Lahteine 2d2c9bdf92 Add PROBE_Y_FIRST option for probe order 2016-09-29 02:00:27 -05:00
Scott Lahteine c8c57e59fc Patch the end of G29 to sync plan position 2016-09-29 02:00:27 -05:00
Scott Lahteine 81b8c9f8ec Add XY parameters to G29 for mesh dimensions 2016-09-29 02:00:27 -05:00
Scott Lahteine 56cf674150 M420 can now enable/disable ABL 2016-09-29 02:00:26 -05:00
Scott Lahteine 06790977c4 Use updated position methods 2016-09-29 01:31:05 -05:00
Scott Lahteine e8f2604a6f Patch print_bed_level numbering 2016-09-29 01:31:05 -05:00
Scott Lahteine d066610514 Patch up bilinear_z_offset 2016-09-29 01:31:05 -05:00
Scott Lahteine 850e38d013 G30 will only disable bed leveling 2016-09-29 01:31:04 -05:00
Scott Lahteine 510ef5d14a Standard function to turn bed leveling on/off 2016-09-29 01:27:37 -05:00
Scott Lahteine ecf7cdde65 Augment planner/stepper getters/setters 2016-09-29 01:27:37 -05:00
Scott Lahteine 2febd8ec82 Double-touch debugging 2016-09-29 01:27:37 -05:00
Scott Lahteine b331077c32 Use stepper.get_axis_position_degrees 2016-09-29 01:27:37 -05:00
Scott Lahteine 0d9efb24f3 Fix up bilinear_z_offset 2016-09-29 01:26:22 -05:00
jaysonkelly 3b3d282f8e Adjusted values for Rigidboard Configuration
Rigidboard differs a little in configuration from the PrinterBoardRevF we modeled the code after.
2016-09-28 14:14:04 -05:00
Scott Lahteine 850259bb25 Watch bed temp also for Control menu item 2016-09-28 14:14:04 -05:00
esenapaj 92c03a44a9 Fix the PR #4899 (ABL: Enable by type. Bilinear for all.) etc.
About Configuration.h:
・Fix the PR #4899 (ABL: Enable by type. Bilinear for all.)
Remove Duplicated contents

・Fix the PR #4305 (Custom boot screen feature improvement)
Revert from "during boot" to "during bootup" in all the example
Configuration.h

・Fix the PR #4207 (Clean up, simplify and generalize the Allen-key-probe
code.)
Resolve and relocate the duplicated definitions in Z_PROBE_ALLEN_KEY
section

・Follow-up the PR #4805 (Additional documentation of Configuration.h)
Add forgotten changes to all the example Configuration.h

Adjust spacing

About Configuration_adv.h:
Add missing description of SLOWDOWN for DELTA

Adjust spacing
2016-09-28 14:14:04 -05:00
Rerouter 50e5ee4de4 Update Configuration.h 2016-09-28 17:38:09 +10:00
Rerouter 1a2f1d4974 Update temperature.cpp 2016-09-28 17:36:53 +10:00
Rerouter a765c98850 Removal of the constraints of the Iterm 2016-09-28 17:26:49 +10:00
Scott Lahteine 8b46eb3766 Fix bilinear interpolation 2016-09-27 03:18:49 -05:00
Scott Lahteine 5100bdac81 Improve Bilinear Grid
- Extrapolate properly for even numbered grid points
- Extrapolate using average, not median
- Improve bilinear grid report output
- Add debug output for bilinear extrapolation
- Add option to extrapolate from edge, not center
2016-09-27 00:03:19 -05:00
Scott Lahteine a3e91ec65e Add 'Q' option to G29 when debug leveling is on 2016-09-27 00:03:19 -05:00
Scott Lahteine 1fceda4fb0 Add leveling type and details to machine_info 2016-09-27 00:03:19 -05:00
Scott Lahteine e0e0166075 Fix auto bed leveling - turn on after successful G29 2016-09-27 00:03:19 -05:00
Scott Lahteine f4b9052529 Merge pull request #4899 from thinkyhead/rc_nonlinear_grid
ABL: Enable by type. Bilinear for all.
2016-09-26 15:25:09 -05:00
Scott Lahteine 18e40de39c Adjust final Z after bilinear G29 2016-09-26 00:22:22 -05:00
Scott Lahteine ea0dbee3c9 Enable ABL by type, support bilinear on cartesian 2016-09-25 23:35:37 -05:00
Scott Lahteine 9cebbabd05 Merge pull request #4893 from thinkyhead/rc_stat_led_check
Define status LED pins without condition
2016-09-25 18:50:47 -05:00
Scott Lahteine fd64233182 Merge pull request #4895 from thinkyhead/rc_implemented_codes
Include requirements in "Implemented Codes"
2016-09-25 11:49:31 -05:00
Scott Lahteine 5fff8d148b Clean up digital pots and microsteps 2016-09-25 11:16:22 -05:00
Scott Lahteine 570676d265 Include requirements in "Implemented Codes" 2016-09-25 07:50:33 -05:00
Scott Lahteine cb48292338 Use fastio for literal pins 2016-09-25 06:33:38 -05:00
Scott Lahteine 07703d2bd6 Use _PIN suffix on some pins 2016-09-25 06:33:38 -05:00
Scott Lahteine 203e519bf4 Sanity check for status LED pins 2016-09-25 06:33:38 -05:00
Scott Lahteine ba43277429 Always define status LED pins 2016-09-25 06:33:37 -05:00
Scott Lahteine ad691022d7 Fix up spacing in A4JP pins 2016-09-25 06:33:37 -05:00
Scott Lahteine fba0b67f7d Rename status led pins 2016-09-25 06:33:37 -05:00
Scott Lahteine 9d86c07702 Clean up some fastio.h spacing 2016-09-25 06:33:37 -05:00
Scott Lahteine ab84ed22ca No such thing as G6 and G7 pins 2016-09-25 05:28:22 -05:00
Scott Lahteine c2f13be750 Mightyboard Revision E 2016-09-25 05:28:04 -05:00
Scott Lahteine 041d127cd3 Match bltouch test in do_homing_move with new code 2016-09-24 23:58:08 -05:00
Scott Lahteine eb4fa8adf8 Merge pull request #4889 from thinkyhead/rc_tweaky_fix
Fix HEATERS_PARALLEL
2016-09-24 14:46:00 -05:00
Scott Lahteine 16461900c2 Fix for HEATERS_PARALLEL 2016-09-24 05:34:40 -05:00
Scott Lahteine 1583d37edd Comment on M851 case 2016-09-24 05:34:36 -05:00
Scott Lahteine 076f3a8284 unsigned char => uint8_t 2016-09-24 05:23:40 -05:00
Scott Lahteine 8935bed594 MIDDLE_DEAD_ZONE => MIDDLE_DEAD_ZONE_R 2016-09-24 05:18:36 -05:00
Scott Lahteine 6cf0952bf9 Merge pull request #4887 from thinkyhead/rc_autumn_fixups
Improve MINIMUM_STEPPER_PULSE
2016-09-24 03:23:42 -05:00
Scott Lahteine 8061f1fac9 Merge pull request #4888 from thinkyhead/fix_warnings_etc
Suppress warnings, fix nonlinear_z_offset
2016-09-24 03:22:49 -05:00
esenapaj 7bdc58a818 Suppress warnings, fix nonlinear_z_offset 2016-09-24 03:06:08 -05:00
Scott Lahteine 9ecea6f445 Merge pull request #4885 from esenapaj/Update-Japanese-translation
Update Japanese translation
2016-09-24 02:49:18 -05:00
Scott Lahteine eabff30e75 Improve MINIMUM_STEPPER_PULSE 2016-09-24 02:23:43 -05:00
esenapaj 3ed8f8331c Update Japanese translation
・Add new translation
2016-09-24 09:24:38 +09:00
Scott Lahteine da1644313d Merge pull request #4883 from esenapaj/Follow-up-the-PR-#4860
Follow-up the PR #4860 (Fix BLTOUCH string and SERVO_DELAY)
2016-09-23 16:39:37 -05:00
Scott Lahteine 903b8bb60c No need for auto_bed_leveling_was_enabled 2016-09-23 16:38:22 -05:00
esenapaj ee60225c07 Follow-up the PR #4860 (Fix BLTOUCH string and SERVO_DELAY) 2016-09-24 06:18:27 +09:00
Scott Lahteine d0796fc54c Merge pull request #4868 from thinkyhead/rc_autumn_fixups
Cleanups for the Autumn release
2016-09-23 16:11:37 -05:00
Scott Lahteine 0951bffcc0 Sanity check homing bumps 2016-09-23 15:39:02 -05:00
Scott Lahteine a9a21db39f No homing bump if bump distance is 0 (or less) 2016-09-23 15:39:02 -05:00
Scott Lahteine 2b4da57ea7 Patch Z safe homing for probe Z homing 2016-09-23 15:39:02 -05:00
Scott Lahteine c6dd539c84 Print error for M42 bad pin 2016-09-23 15:39:02 -05:00
Scott Lahteine 8b399610fb Skip raw moves to current position 2016-09-23 15:39:02 -05:00
Scott Lahteine 22ece0081e Pass array pointer to unapply_leveling 2016-09-23 15:39:01 -05:00
Scott Lahteine cbc158eb62 Add a proper flag for ABL enabled 2016-09-23 15:39:01 -05:00
Scott Lahteine 666e944336 Init xProbe/yProbe for compiler 2016-09-23 15:39:01 -05:00
Scott Lahteine 2c52e6ecf4 Clean up G28 MBL code 2016-09-23 15:39:01 -05:00
Scott Lahteine 0bf1054bb2 Patch do_homing_move for SCARA 2016-09-23 15:39:00 -05:00
Scott Lahteine 6ad0da661c Report position in G92 2016-09-23 15:39:00 -05:00
Scott Lahteine 199a7b5dd5 Tweak SCARA debugging 2016-09-23 15:39:00 -05:00
Scott Lahteine 865ad25781 Fix prepare_kinematic_move_to precision 2016-09-23 15:39:00 -05:00
Scott Lahteine 85e607153b Improve kinematic optimization options 2016-09-23 03:03:15 -05:00
Scott Lahteine 2846531f0b const argument in do_homing_move 2016-09-23 03:03:15 -05:00
Scott Lahteine cc639d7d9c Less indentation in Stepper::isr 2016-09-23 03:03:14 -05:00
Scott Lahteine 7dec8071b2 Always synchronize in Stepper::set_position 2016-09-23 03:03:14 -05:00
Scott Lahteine c6142aa2a1 Minor cleanups in Marlin_main.cpp 2016-09-23 03:03:14 -05:00
Scott Lahteine 0427f3cc3b Use memcpy/memset in planner 2016-09-23 03:03:14 -05:00
Scott Lahteine 6b9bf8e8fe Add Planner::sync_from_steppers
Use to sync the planner after an interrupted move (when not overriding
the logical position).
2016-09-23 03:03:14 -05:00
Scott Lahteine be11a8a938 Fix debug in Planner::buffer_line 2016-09-23 03:03:13 -05:00
Scott Lahteine b211df818e Make movement functions more available 2016-09-23 03:03:13 -05:00
Scott Lahteine 6335acbf5c Patch bug in linear unapply_leveling 2016-09-23 03:03:13 -05:00
Scott Lahteine 1370d9a52b Merge pull request #4875 from thinkyhead/rc_bltouch_update
Use probe clearance for bump when homing Z with probe
2016-09-22 16:57:08 -05:00
Scott Lahteine e8d5073a90 Use probe clearance for bump when homing Z with probe 2016-09-22 15:41:28 -05:00
Scott Lahteine dbe41245f1 Merge pull request #4821 from thinkyhead/rc_revert_to_raises
Z Raise/Clearance rather than Height
2016-09-22 15:30:07 -05:00
Scott Lahteine 747a2257dd Only deploy/stow BLTOUCH on downward move 2016-09-22 15:26:19 -05:00
Scott Lahteine e242946ac3 Patch G29 for linear leveling, reachable with probe 2016-09-22 15:26:19 -05:00
Scott Lahteine b800eb0fed Add probe option to position_is_reachable 2016-09-22 15:26:19 -05:00
Scott Lahteine fafafcf9d1 Use unapply_leveling in set_current_from_steppers_for_axis 2016-09-22 15:26:18 -05:00
Scott Lahteine e69d1e2879 Homing/probing feedrate, comments 2016-09-22 15:26:18 -05:00
Scott Lahteine 7d72ed688c Revert motor_current_setting to constexpr
We should use `constexpr` wherever it makes sense, for its added benefits. See http://stackoverflow.com/questions/13346879/const-vs-constexpr-on-variables
2016-09-22 15:26:18 -05:00
Scott Lahteine 145d9005d1 Fix BLTOUCH string and SERVO_DELAY 2016-09-21 01:45:23 -05:00
Scott Lahteine 2b7cc27c37 Merge pull request #4840 from thinkyhead/rc_G2_G3_arc_r_method
Add support for G2/G3 with R parameter
2016-09-21 01:30:37 -05:00
Scott Lahteine e0e10e0e45 Merge pull request #4859 from thinkyhead/rc_kinematic_and_scara
Kinematic and SCARA patches
2016-09-21 01:21:49 -05:00
Scott Lahteine 31f03c838a Only deploy/stow BLTouch for Z axis 2016-09-21 00:54:54 -05:00
Scott Lahteine 0c951436e4 Extend SCARA test, stress-test ABL_GRID_POINTS_* 2016-09-20 18:48:06 -05:00
Scott Lahteine 3913e04ac7 Add Delta kinematic optimization options 2016-09-20 18:48:06 -05:00
Scott Lahteine 8e31640229 Optimize prepare_kinematic_move_to 2016-09-20 18:48:06 -05:00
Scott Lahteine fd9b8ae4d4 Use position_is_reachable in G29, M48 2016-09-20 18:48:06 -05:00
Scott Lahteine 7194e4434f SCARA support in position_is_reachable 2016-09-20 18:48:06 -05:00
Scott Lahteine 1c5f9821c4 SCARA support in homeaxis 2016-09-20 18:48:05 -05:00
Scott Lahteine 92b4459f6c Simpler G92 for SCARA 2016-09-20 18:48:05 -05:00
Scott Lahteine 46cc2e3f6a Fix get_cartesian_from_steppers 2016-09-20 18:31:36 -05:00
Scott Lahteine 435c3ed404 Patch SCARA_move_to_cal for coordinate space 2016-09-20 18:31:36 -05:00
Scott Lahteine 5efb12e889 Simpler report_current_position for SCARA 2016-09-20 18:31:36 -05:00
Scott Lahteine 83fc5e1540 No line_to_* functions with IS_KINEMATIC 2016-09-20 18:31:36 -05:00
Scott Lahteine 59d39d7655 G0 direct move for SCARA 2016-09-20 18:31:36 -05:00
Scott Lahteine ad9d6870ed SCARA support in do_blocking_move_to 2016-09-20 18:31:36 -05:00
Scott Lahteine 8542ebcecd prepare_move_to_destination_raw => prepare_uninterpolated_move_to_destination 2016-09-20 18:31:36 -05:00
Scott Lahteine f900f97611 Update sw endstops in set_axis_is_at_home 2016-09-20 18:31:36 -05:00
Scott Lahteine 0d43cef1de M206 for MORGAN_SCARA 2016-09-20 18:31:36 -05:00
Scott Lahteine e94cb7a380 MORGAN_SCARA kinematics 2016-09-20 18:31:36 -05:00
Scott Lahteine 890bade2fa Additions, mods to SCARA config 2016-09-20 18:31:36 -05:00
Scott Lahteine 01f1028510 Try on "CLEARANCE" for size 2016-09-20 18:29:49 -05:00
Scott Lahteine 0e7d638a7a Revert to Probe Raise rather than Probe Height 2016-09-20 18:29:49 -05:00
Scott Lahteine 82b0014f5e Merge pull request #4856 from thinkyhead/rc_bltouch_update
Fix and extend BLTouch support
2016-09-20 17:13:52 -05:00
Scott Lahteine 51e42a2d77 Adjust BLTouch probe behavior
Addressing #4855
- Have the pin deploy only immediately before probing
- Have the pin retract immediately after every probe
2016-09-20 16:20:36 -05:00
Scott Lahteine 13523cbf29 Fix and extend BLTouch support 2016-09-20 16:20:36 -05:00
Scott Lahteine 5cbed13f41 'constexpr' => 'const' for PWM_MOTOR_CURRENT 2016-09-20 15:57:48 -05:00
Scott Lahteine be3a8f4126 Merge pull request #4857 from thinkyhead/rc_fix_travis_u8glib
Arduino 1.6.10, direct download U8glib in Travis CI
2016-09-20 15:52:53 -05:00
Scott Lahteine ed759626fe Arduino 1.6.10, direct download U8glib in Travis CI 2016-09-20 15:35:33 -05:00
Scott Lahteine 7ae351c92f Merge pull request #4842 from thinkyhead/rc_DISABLE_Z_MIN_PROBE_ENDSTOP_whassup
Drop DISABLE_Z_MIN_PROBE_ENDSTOP, clean up probe config
2016-09-20 12:16:51 -05:00
Scott Lahteine ba94c89e21 Merge pull request #4852 from esenapaj/Fix-for-advance-extrusion-algorithms
Fix for advance extrusion algorithms
2016-09-20 11:33:14 -05:00
Scott Lahteine e87ad155cc Merge pull request #4851 from thinkyhead/rc_linear_grid
Patch G29 for 3-point leveling
2016-09-20 11:29:59 -05:00
esenapaj 954563d603 Adjust spacing 2016-09-20 19:35:44 +09:00
esenapaj 7e9576dc5b Extend the e_steps[] from int to long for allowing more than 32,767 E steps
Probably needed for long straight lines when using high microstepping
2016-09-20 19:35:44 +09:00
esenapaj b04ed8f9c3 Fix inverted stepper signal of ADVANCED and LIN_ADVANCED 2016-09-20 19:35:44 +09:00
esenapaj 8692748ecd Fix broken direction signal of ADVANCED and LIN_ADVANCED
Remove a setting proccess of E direction in advance_isr()
2016-09-20 19:35:44 +09:00
Scott Lahteine e9ce42353e Patch G29 for 3-point leveling 2016-09-20 04:46:41 -05:00
Scott Lahteine c2744d8a8b Add support for G2/G3 with R parameter 2016-09-19 00:35:09 -05:00
Scott Lahteine e05af606a8 Clean up probe config options 2016-09-19 00:26:16 -05:00
Scott Lahteine 153e240cdd Probe conditionals to Conditionals_LCD.h 2016-09-19 00:25:53 -05:00
Scott Lahteine ff38a3c3b1 Use SD Detect Pin 53 for 3DRAG, K8200, and K8400
See #4316
2016-09-18 23:46:09 -05:00
Scott Lahteine 9a9e9afcf8 Merge pull request #4839 from thinkyhead/rc_bltouch_servo_nr
Better BLTOUCH support
2016-09-18 23:42:16 -05:00
Scott Lahteine f38a33a5d8 Add handling of BLTouch error state 2016-09-18 22:00:32 -05:00
Scott Lahteine c4dcfa254e Allow override of Z_ENDSTOP_SERVO_NR with BLTOUCH 2016-09-18 22:00:32 -05:00
Scott Lahteine 7d9ebda478 Remove redundant servo probe sanity check 2016-09-18 21:46:18 -05:00
Scott Lahteine f0beae7641 Fix stupid, stupid, stupid oversight in G29 update
Mea culpa!
2016-09-18 16:24:47 -05:00
Scott Lahteine 127d796420 Merge pull request #4837 from thinkyhead/rc_nonlinear_in_planner
Handle nonlinear bed-leveling in Planner
2016-09-18 15:31:51 -05:00
Scott Lahteine 77639672d7 Move NONLINEAR bed leveling to planner
This is in advance of moving non-linear bed leveling to the planner
class.
2016-09-18 13:50:38 -05:00
Scott Lahteine 9429c7db89 Use ABC indices in delta[] 2016-09-18 13:50:38 -05:00
Scott Lahteine 5f2f991192 Use 'logical' rather than 'target' or 'cartesian' 2016-09-18 13:50:38 -05:00
Scott Lahteine 40d3e854f6 Remove redundant extern delta[] 2016-09-18 13:39:47 -05:00
Scott Lahteine 2ebfbc4c8d Merge pull request #4836 from thinkyhead/rc_some_comments
Some comments, const args, debug output tweaks
2016-09-18 13:38:07 -05:00
Scott Lahteine 48fe2fdc9e Merge pull request #4835 from thinkyhead/rc_abl_non_square_grid
Allow non-square Auto Bed Leveling grid
2016-09-18 13:37:43 -05:00
Scott Lahteine e5505e3b33 Allow non-square leveling grid 2016-09-18 13:11:20 -05:00
Scott Lahteine 2fc9ad6657 Use const ref args in probe_pt 2016-09-18 12:58:43 -05:00
Scott Lahteine 2c2688d7ad Adjust comments, spacing 2016-09-18 12:58:42 -05:00
Scott Lahteine b9d19b0008 Tweak extrapolate_one_point 2016-09-18 12:58:42 -05:00
Scott Lahteine 3c0b591935 Fix nozzle position description 2016-09-18 12:58:42 -05:00
Scott Lahteine 18d8dd4c0f set_current_from_steppers_for_axis const arg 2016-09-18 12:58:42 -05:00
Scott Lahteine edfaf1c582 Stepper::report_positions patch 2016-09-18 12:58:42 -05:00
Scott Lahteine d1f4c3d73b Patch sync_plan_position comment 2016-09-18 12:58:41 -05:00
Scott Lahteine 0c25af30d4 Document homeaxis 2016-09-18 12:58:41 -05:00
Scott Lahteine e7882e45e3 Document set_axis_is_at_home 2016-09-18 12:58:40 -05:00
Scott Lahteine fef959c31a Merge pull request #4834 from thinkyhead/rc_code_bool
Standardize code_value_bool
2016-09-18 12:44:20 -05:00
Scott Lahteine 07ac9a1152 Merge pull request #4822 from blubbfish/patch-3
Tweak some german language strings
2016-09-18 11:38:22 -05:00
Scott Lahteine 661fe09ce7 Standardize code_value_bool 2016-09-18 11:32:32 -05:00
Scott Lahteine 20e5140e75 Merge pull request #4833 from thinkyhead/rc_no_scara_axis_scaling
Remove SCARA axis_scaling
2016-09-18 11:31:50 -05:00
Scott Lahteine 37258956d5 Merge pull request #4832 from thinkyhead/rc_fix_M0_M1
Enable M0/M1 with Emergency Parser
2016-09-18 11:31:36 -05:00
Scott Lahteine a501f430eb Enable M0/M1 with Emergency Parser 2016-09-18 11:14:10 -05:00
Philip Schell cd8b22b527 Tweak some german language strings
Change some string to get a better wording in german
2016-09-16 22:29:39 +02:00
Scott Lahteine 83a41c7ceb Remove SCARA axis_scaling 2016-09-16 15:21:18 -05:00
Scott Lahteine d41eeb62af Merge pull request #4781 from thinkyhead/rc_final_z_correction
Use simplified Z correction in G29 when possible
2016-09-16 15:14:19 -05:00
Scott Lahteine 502150046c Merge pull request #4805 from thinkyhead/rc_config_adjustment
Additional documentation of Configuration.h
2016-09-16 15:13:20 -05:00
Scott Lahteine a1812b55f6 Space out array values 2016-09-16 14:41:05 -05:00
Scott Lahteine d4599fd8ed Comment patches to Configuration.h 2016-09-16 14:41:05 -05:00
Scott Lahteine 723e983073 Default EXTRUDE_MAXLENGTH to 200mm 2016-09-16 14:41:04 -05:00
Scott Lahteine b08bd84f8e Merge pull request #4806 from blubbfish/patch-2
Update language_de.h
2016-09-16 14:39:20 -05:00
Scott Lahteine 939bf1057c Merge pull request #4820 from darrelhunt/RCBugFix
Fixing Pin Definition Files to Define USBCON
2016-09-16 14:33:38 -05:00
darrelhunt 7b8bfa4358 Update pins_TEENSYLU.h 2016-09-16 11:26:37 -07:00
darrelhunt 829c8592f2 Update pins_TEENSY2.h 2016-09-16 11:26:09 -07:00
darrelhunt e0aee20327 Update pins_SAV_MKI.h 2016-09-16 11:25:42 -07:00
darrelhunt 88d3fc0bcf Update pins_PRINTRBOARD.h 2016-09-16 11:25:14 -07:00
darrelhunt 4277221abb Update pins_BRAINWAVE_PRO.h 2016-09-16 11:24:32 -07:00
darrelhunt b8ecbe9116 Update pins_BRAINWAVE.h 2016-09-16 11:23:52 -07:00
darrelhunt 60f757077e Update pins_5DPRINT.h 2016-09-16 11:22:52 -07:00
Scott Lahteine 4ca837b6cf Merge pull request #4815 from tnw513/fix-italian
Added missing translation (Italian)
2016-09-15 19:08:28 -05:00
Silvio Didonna ff2b2d5939 Added missing translations 2016-09-16 01:17:58 +02:00
Philip Schell 2b11c3274c Update language_de.h 2016-09-15 15:16:11 +02:00
Philip Schell 54e6d12382 Update language_de.h
@MarlinFirmware/language-team updated german languagefile to the latest english version
2016-09-14 14:17:21 +02:00
Scott Lahteine 57564ae576 Use last probe point to correct Z when possible 2016-09-14 02:03:43 -05:00
Scott Lahteine e40646de42 Merge pull request #4803 from thinkyhead/rc_lcd_button_fix
Clear LCD button state, apply timer to all
2016-09-13 18:03:39 -05:00
Scott Lahteine 2fce217576 Merge pull request #4804 from thinkyhead/rc_fix_broken_G29
Fix some regressive typos in G29
2016-09-13 17:51:38 -05:00
Scott Lahteine 29f224594c Fix some regressive typos in G29 2016-09-13 17:31:02 -05:00
Scott Lahteine 5ecc7d9f25 Clear LCD button state, apply timer to all
Addressing #3007
2016-09-13 16:10:27 -05:00
Scott Lahteine 94d5cf8721 Merge pull request #4789 from thinkyhead/rc_better_leveling_etc
Various cleanups ahead of more…
2016-09-13 05:21:17 -05:00
Scott Lahteine 9b0931ef74 Apply fixed EXTRUDER_RUNOUT_PREVENT 2016-09-13 03:33:04 -05:00
Scott Lahteine b1a60e8954 Reformat, rearrange, tweak, and document
- Add comments to several functions
- Add an option to use Fast SQRT for Delta IK
- Group related functions together
- Outdent some leveling-related functions
2016-09-13 03:33:04 -05:00
Scott Lahteine 61284cbd8c Various code style adjustments 2016-09-13 03:33:04 -05:00
Scott Lahteine 788a16fc46 Clean up serial out code 2016-09-13 03:33:03 -05:00
Scott Lahteine 0e38bea79d Shrink 3-point leveling code 2016-09-13 03:33:03 -05:00
Scott Lahteine 4f75ce6957 Unify reset_bed_level for linear/non-linear 2016-09-13 03:33:03 -05:00
Scott Lahteine 41d8149bce Sanity check for more than 1 controller 2016-09-13 03:33:02 -05:00
Scott Lahteine 40785ce8ac Use count method for kinematic sanity check 2016-09-13 03:33:02 -05:00
Scott Lahteine 3236762e07 Clean up sanity check for LCD_PROGRESS_BAR 2016-09-13 03:33:02 -05:00
Scott Lahteine a9ed23225f bed_level => bed_level_grid 2016-09-13 03:33:02 -05:00
Scott Lahteine 82be65065c Fix up untilted_stepper_position and set_current_from_steppers_for_axis 2016-09-13 03:33:01 -05:00
Scott Lahteine d65f5d816f Patch to fix kinematics 2016-09-13 03:33:01 -05:00
Scott Lahteine e529c6407e Rename set_cartesian_from_steppers, cartesian_position 2016-09-13 03:33:01 -05:00
Scott Lahteine c109399bf6 Fix planner leveling and rename arguments
Use lx, ly, lz for “logical” positions
2016-09-13 03:33:01 -05:00
Scott Lahteine d4f21af6b3 sync_plan_position_delta => sync_plan_position_kinematic 2016-09-13 03:33:01 -05:00
Scott Lahteine acd1b6e9c0 Rename delta_grid spacing for general nonlinear 2016-09-13 03:33:00 -05:00
Scott Lahteine c5fa70809b Implement M0/M1 for EMERGENCY_PARSER 2016-09-13 03:33:00 -05:00
Scott Lahteine 786d1afb72 Add position_is_reachable, use in home_z_safely 2016-09-13 03:33:00 -05:00
Scott Lahteine b4034915f8 Move z safe homing to its own function 2016-09-13 03:33:00 -05:00
Scott Lahteine c84b14c77a Move delta homing to its own function 2016-09-13 03:32:59 -05:00
Scott Lahteine f9a192c7e3 Move setup() and loop() to the end 2016-09-13 03:32:59 -05:00
Scott Lahteine 8ff338c2b9 Patch stepper.h for SCARA 2016-09-13 03:32:59 -05:00
Scott Lahteine 74d7f5e57b Patch SCARA example config 2016-09-13 03:32:59 -05:00
Scott Lahteine 6ab54c60b1 Add conditionals for kinematics, leveling 2016-09-13 03:32:59 -05:00
Scott Lahteine 21514568fd Add enum for ALL_AXES 2016-09-13 03:32:58 -05:00
Scott Lahteine 413b61e64a Add HYPOT2 and float comparison macros 2016-09-13 03:32:58 -05:00
Scott Lahteine 0ea7ed6db6 Merge pull request #4797 from thinkyhead/rc_runout_comments
Fix comment on FILAMENT_RUNOUT_SENSOR
2016-09-13 02:25:26 -05:00
Scott Lahteine a6f6ed352b Fix comment on FILAMENT_RUNOUT_SENSOR 2016-09-13 02:14:34 -05:00
Scott Lahteine 48e14d049a Merge pull request #4710 from thinkyhead/rc_fix_leveling_maths
Bed leveling that accounts for home XYZ
2016-09-10 15:47:39 -05:00
Scott Lahteine 416821a71c Merge pull request #4765 from thinkyhead/rc_endstop_direction
Sanitycheck endstop plugs based on homing direction
2016-09-10 14:49:50 -05:00
Scott Lahteine 9248cfb0ad Bed leveling that accounts for home XYZ 2016-09-10 13:47:21 -05:00
Scott Lahteine 2e8fd70fb1 Merge pull request #4779 from thinkyhead/rc_cleanups_1
Minor code cleanup, tweak M109/M190
2016-09-10 13:47:05 -05:00
Scott Lahteine 6ac9d895ca Tweak Filament Width variables 2016-09-10 13:29:25 -05:00
Scott Lahteine 68ba45572e Don't say "heating complete" unless done 2016-09-10 13:29:25 -05:00
Scott Lahteine 2bfc6fe1b0 Move XYZ constants closer to the top 2016-09-10 13:25:44 -05:00
Scott Lahteine 12b94e419f Sanitycheck endstop plugs based on homing direction 2016-09-08 13:56:32 -05:00
Scott Lahteine 29c4f67a29 Additional path - followup to #4743 2016-09-07 15:08:12 -05:00
Scott Lahteine 8a8d6e00b7 Merge pull request #4756 from thinkyhead/rc_makefilefix
makefile fix for arduino 1.6.9 unzipped
2016-09-03 20:24:26 -05:00
Robert Bartl 494d5770b8 makefile fix for arduino 1.6.9 unzipped 2016-09-03 19:45:27 -05:00
Scott Lahteine 6f71bd7372 Merge pull request #4754 from thinkyhead/rc_mixing_regression
Unify counter_m and counter_M
2016-09-02 12:27:43 -05:00
Scott Lahteine 9bf78ef465 Fix capitalization of counter_m 2016-09-02 11:31:45 -05:00
Scott Lahteine 42b5616327 Try bool for direction instead of long 2016-09-02 11:28:48 -05:00
Scott Lahteine cbe9ab902c Merge pull request #4747 from thinkyhead/rc_sd_show_percent
Option to show SD percent on Graphical LCD
2016-09-02 07:44:42 -05:00
Scott Lahteine f20b2b21eb Optimize LCD string/char printing 2016-09-02 06:41:24 -05:00
Scott Lahteine 3b2f7ba225 Merge pull request #4748 from thinkyhead/rc_sd_print_timer
Patch duration_t toDigital method
2016-09-02 04:41:11 -05:00
Scott Lahteine dad94d2fef Merge pull request #4749 from thinkyhead/rc_minumum_minimum
Fix a misspelling of minimum
2016-09-02 04:41:00 -05:00
Kai 445d8215e4 Option to show SD percent on Graphical LCD 2016-09-02 02:17:36 -05:00
Scott Lahteine d07a913f21 Tweak to stepper advance e_steps update 2016-09-02 02:06:17 -05:00
Scott Lahteine aaef7c6b89 Fix a misspelling of minimum 2016-09-02 01:42:38 -05:00
Scott Lahteine ad659b5f91 Merge pull request #4725 from thinkyhead/rc_log_machine_info
Log machine info in G28 and G29
2016-09-01 23:58:59 -05:00
Scott Lahteine c6859a1e54 Handle hours >= 100 2016-09-01 23:54:48 -05:00
Kai 9f706a9635 Patch duration_t toDigital method 2016-09-01 23:34:15 -05:00
Scott Lahteine c3caa42630 Merge pull request #4738 from thinkyhead/rc_ensure_floats
Optimize stepper ISRs, plus cleanup, shorthand
2016-09-01 14:36:22 -05:00
Scott Lahteine 3ff657e729 Merge pull request #4727 from thinkyhead/rc_homing_together
Add heading for movement settings
2016-09-01 14:26:46 -05:00
Scott Lahteine 426f662586 Apply MINIMUM_STEPPER_PULSE in stepper advance_isr 2016-08-30 14:31:48 -05:00
Scott Lahteine 8c7ee4599e Optimize stepper advance_isr 2016-08-30 14:31:48 -05:00
Scott Lahteine 9725bcd099 Minor "optimizations" in stepper ISR 2016-08-30 14:21:43 -05:00
Scott Lahteine 4ec3d1ea58 Add some commentary to stepper ISR 2016-08-30 14:21:15 -05:00
Scott Lahteine d9bcc7bb45 Set a bool when a stepper block is done 2016-08-30 14:20:48 -05:00
Scott Lahteine 08f717e5f7 Use bit-size typedefs for some stepper vars 2016-08-30 14:19:49 -05:00
Scott Lahteine d554c1dda8 Clean up planner kernel pass methods 2016-08-30 14:16:13 -05:00
Scott Lahteine b2e5ec85d7 Add [XYZ]_CENTER conditionals 2016-08-30 14:15:41 -05:00
Scott Lahteine 7e20448a2d Add HOMING_Z_WITH_PROBE conditional 2016-08-30 13:29:26 -05:00
Scott Lahteine 0e4107da34 Minor cleanup of homeaxis, etc. 2016-08-30 13:29:26 -05:00
Scott Lahteine f1201e11c7 Improve the Jerk description 2016-08-29 12:39:21 -05:00
Scott Lahteine 3f038bef00 Heading for movement settings 2016-08-29 02:01:34 -05:00
Scott Lahteine fd2269f489 Log machine info in G28 and G29 2016-08-28 20:48:28 -05:00
Scott Lahteine 6eaf4f4909 Fix spacing of debug output in homeaxis 2016-08-28 19:43:33 -05:00
Scott Lahteine 1e6d1c39ea Improve verbiage of dropsegments sanity error 2016-08-28 19:40:32 -05:00
Scott Lahteine 0729a8f08d Use the probe travel height for pre-probe move
Instead of using the home_bump for Z to move close to the bed before doing a slow probe, use the probe travel height.
2016-08-28 19:13:08 -05:00
Scott Lahteine dd94d0b9d5 Fix bed probing bug without PROBE_DOUBLE_TOUCH
If `PROBE_DOUBLE_TOUCH` wasn't enabled, the probe move could be way too short! See #4701 for example.
2016-08-28 19:00:25 -05:00
Scott Lahteine 35a0c46f16 Tweak debug output for probe in G29 2016-08-28 18:44:44 -05:00
Scott Lahteine a82a89bc58 Merge pull request #4722 from thinkyhead/rc_minimum_stepper_pulse
MINIMUM_STEPPER_PULSE option
2016-08-28 10:03:32 -05:00
Scott Lahteine 73c5c312c9 Merge pull request #4723 from thinkyhead/rc_fix_some_text
Fix Danish encoding and an error message
2016-08-28 10:02:46 -05:00
Scott Lahteine a2572d2854 Fix Danish encoding and an error message 2016-08-28 09:51:06 -05:00
Scott Lahteine 759234af60 MINIMUM_STEPPER_PULSE option 2016-08-27 23:58:40 -05:00
Scott Lahteine 2cb63f0bf7 Merge pull request #4719 from thinkyhead/rc_delta_homing_patch
Marlin patches for homing, esp. Delta
2016-08-27 20:46:50 -05:00
Scott Lahteine 8241cf9901 Merge pull request #4720 from thinkyhead/rc_allow_stepper_omission
Patch stepper.cpp to allow omitting steppers
2016-08-27 20:36:22 -05:00
Scott Lahteine 7e893f4309 Merge pull request #4721 from thinkyhead/rc_temperature_isr_comments
Rc temperature isr comments
2016-08-27 20:36:03 -05:00
Scott Lahteine 73d86098b7 Marlin patches for homing, esp. Delta 2016-08-27 20:32:05 -05:00
Scott Lahteine 338bc768b1 Merge pull request #4717 from thinkyhead/rc_log_the_probe
Debug logging of nozzle type and offsets
2016-08-27 20:24:19 -05:00
Scott Lahteine fae92e3f3c Merge pull request #4718 from thinkyhead/rc_twibus_patch_20160827
TWIBus patch for proper use of Wire.requestFrom
2016-08-27 20:22:53 -05:00
Scott Lahteine a485a19052 Added optional planner logging 2016-08-27 20:12:22 -05:00
Scott Lahteine e9bfca5870 Additional comments for Temperature::isr 2016-08-27 20:12:22 -05:00
Scott Lahteine a255945f29 Add DEBUG_ALL enum 2016-08-27 20:12:22 -05:00
Scott Lahteine a28e15399f Patch stepper.cpp to allow omitting steppers 2016-08-27 20:11:17 -05:00
Scott Lahteine 2b226bc5c2 TWIBus patch for proper use of Wire.requestFrom 2016-08-27 20:09:28 -05:00
Scott Lahteine d641344d3a Remove redundant probe offset in homing 2016-08-27 19:58:56 -05:00
Scott Lahteine fb19a3cdec Merge pull request #4649 from thinkyhead/rc_boelle_danish_update
Danish update (18 Aug 2016)
2016-08-27 19:06:05 -05:00
Scott Lahteine 00638131e5 Debug logging of nozzle type and offsets 2016-08-27 15:21:01 -05:00
Scott Lahteine 8e9ac72191 Merge pull request #4709 from thinkyhead/rc_log_the_reason
Log whether homing with probe or endstop
2016-08-26 17:05:55 -05:00
Scott Lahteine 991a34aff2 Log whether homing with probe or endstop 2016-08-26 15:50:10 -05:00
Scott Lahteine 3b93b79f5c Merge pull request #4703 from bgort/RCBugFix
Add note suggesting RAMBo users use the RAMBo board type or platformio environment
2016-08-26 14:53:56 -05:00
Scott Lahteine 00cdb15cec Move invariant LCD strings to language.h 2016-08-26 02:48:57 -05:00
Bo Herrmannsen d2ae5b00d9 Danish up to date (18 Aug 2016) 2016-08-26 02:48:57 -05:00
Scott Lahteine 0c892357a7 Merge pull request #4693 from thinkyhead/rc_pins_cleanup_aug23
Cleanup of pins files, Conditionals
2016-08-25 21:35:36 -05:00
Scott Lahteine e78274a7f4 Consistent order/formatting of pins files 2016-08-25 20:59:45 -05:00
Scott Lahteine 11e9530111 Properly handle probe pin for BQ printers 2016-08-25 20:59:44 -05:00
Scott Lahteine 1968983f35 Move PROBE_SELECTED to an earlier point 2016-08-25 20:59:44 -05:00
Brian 2fae32f35f Add note suggesting RAMBo users use the RAMBo board type or platformio environment;
Add note that Viki 2.0 wiring diagram v1.2 has a mistake in it;
2016-08-25 15:05:29 -04:00
Scott Lahteine 2c3de5ee46 Merge pull request #4691 from esenapaj/Suppress-warnings
Suppress warnings
2016-08-24 21:35:18 -05:00
Scott Lahteine 37ac540a26 Fix unsigned/signed comparison in fanPin loop 2016-08-24 21:34:30 -05:00
esenapaj 1749a7fae3 Suppress warning 2016-08-24 00:18:06 +09:00
Scott Lahteine d07d85ac9f Ensure probe points at the delta edge are kept 2016-08-23 05:09:56 -05:00
Scott Lahteine 13e337ac4b Merge pull request #4688 from AnHardt/crittical_section
Repair MarlinSerial with TX-buffer
2016-08-23 03:31:12 -05:00
AnHardt 7e36b76af2 Repair MarlinSerial with TX-buffer
These '{' are important to avoid the redefinition of `unsigned char _sreg = SREG;`
at the same level.
Used in
```
#define CRITICAL_SECTION_START  unsigned char _sreg = SREG; cli();
```
2016-08-22 23:40:09 +02:00
Scott Lahteine 6b274e563d Merge pull request #4685 from thinkyhead/rc_gege2b_french
Update french language
2016-08-22 14:20:54 -05:00
Gege2B 1e65f1a1d8 Update french language 2016-08-22 12:46:58 -05:00
Scott Lahteine d8f4f263e0 Merge pull request #4673 from thinkyhead/rc_segments_steps_move
MIN_SEGMENTS_FOR_MOVE => MIN_STEPS_PER_SEGMENT
2016-08-21 09:34:06 -05:00
Scott Lahteine ab59280075 MIN_SEGMENTS_FOR_MOVE => MIN_STEPS_PER_SEGMENT
Follow-up to #4666
2016-08-21 08:56:03 -05:00
Scott Lahteine 27b80b1dd1 Merge pull request #4667 from thinkyhead/rc_M211_sw_endstop_switch
M211: Enable/Disable Software Endstops
2016-08-21 06:44:00 -05:00
Scott Lahteine f9e3347d6f Merge pull request #4669 from thinkyhead/rc_config_descriptions
PREVENT_DANGEROUS_EXTRUDE => PREVENT_COLD_EXTRUSION
2016-08-21 06:41:57 -05:00
Scott Lahteine 14a03727e1 Tweak serialprintPGM 2016-08-21 00:10:09 -05:00
Scott Lahteine 2f223b8c79 Use ABC and XYZ for "3" 2016-08-21 00:10:08 -05:00
Scott Lahteine 4cd1ad8f28 Adjustments to M209, G28, M605 2016-08-21 00:10:08 -05:00
Scott Lahteine e354cf5884 Apply sw_endstops_enabled to manual move 2016-08-21 00:10:08 -05:00
Scott Lahteine 280534c06f Add M211: Enable/Disable Software Endstops 2016-08-21 00:10:08 -05:00
Scott Lahteine 01d4703429 PREVENT_DANGEROUS_EXTRUDE => PREVENT_COLD_EXTRUSION
Also improve the documentation of this and related options, and set
EXTRUDE_MINTEMP to 170 everywhere.
2016-08-20 23:35:27 -05:00
Scott Lahteine a1f6cf1e5d Merge pull request #4665 from thinkyhead/rc_lcd_not_ultipanel
Clean up ultralcd code, dependencies on ULTIPANEL
2016-08-20 22:43:17 -05:00
Scott Lahteine 1a255afa36 Merge pull request #4666 from thinkyhead/rc_dropsegments_adj
dropsegments => MIN_SEGMENTS_FOR_MOVE
2016-08-20 22:42:16 -05:00
Scott Lahteine 374f8d2014 dropsegments => MIN_SEGMENTS_FOR_MOVE 2016-08-20 18:52:15 -05:00
Scott Lahteine 76c3f326ff Clean up DOGM code, comments 2016-08-20 18:33:12 -05:00
Scott Lahteine 71319adbb8 Wrap ULTIPANEL-dependent code 2016-08-20 18:33:11 -05:00
Scott Lahteine 305913545e Move number-to-string function to utility.* 2016-08-20 18:33:11 -05:00
Scott Lahteine 394c80c87b Merge pull request #4655 from thinkyhead/rc_serial_static
Optimize, reduce size of MarlinSerial
2016-08-20 15:51:57 -05:00
Scott Lahteine b15f8ca641 Merge pull request #4660 from MagoKimbra/Fix_Zig_Zag
Fix_Zig_Zag
2016-08-20 15:44:25 -05:00
MagoKimbra 28d1e5a946 Fix_Zig_Zag 2016-08-20 11:28:08 +02:00
Scott Lahteine 14395a1a96 Optimize, reduce size of MarlinSerial 2016-08-19 16:53:20 -05:00
Scott Lahteine 4d4c00d69c Merge pull request #4651 from thinkyhead/rc_homing_vs_leveling_z
Improvements to homing / leveling
2016-08-19 15:45:49 -05:00
Scott Lahteine f3a54316e6 Merge pull request #4652 from bgort/RCBugFix
Add Rambo support/env to platformio.ini; properly maps extended pins
2016-08-19 09:30:59 -05:00
Brian Gortney 8fae3e1f9f Add Rambo support/env to platformio.ini; properly maps extended pins 2016-08-19 07:11:23 -04:00
Scott Lahteine 12d72363cb Do Delta radius check without sqrt 2016-08-19 05:05:48 -05:00
Scott Lahteine 044f800be9 Use SERIAL_PROTOCOLLNPGM in G28 2016-08-19 04:45:33 -05:00
Scott Lahteine d309a9647d Include probe offset for moving "close to the bed" 2016-08-19 04:45:33 -05:00
Scott Lahteine 35a08eeaeb Use Z_HOME_DIR over axis_home_dir where we can 2016-08-19 04:45:32 -05:00
Scott Lahteine 99b22d5785 Default AUTO_BED_LEVELING_GRID_POINTS to 3 2016-08-19 04:45:32 -05:00
Scott Lahteine 9b1f3f7d12 Sanity-check DELTA + AUTO_BED_LEVELING_GRID_POINTS 2016-08-19 04:45:32 -05:00
Scott Lahteine 733453569b Merge pull request #4650 from thinkyhead/rc_percent_is_percent
extruder_multiplier => flow_percentage
2016-08-19 04:38:18 -05:00
Scott Lahteine 55355a4fb8 Make probed points more symmetrical 2016-08-19 04:32:03 -05:00
Scott Lahteine 1f776f6034 Tweak some code comments 2016-08-19 04:32:02 -05:00
Scott Lahteine 748228cf40 Use named indices for delta_grid_spacing 2016-08-19 04:32:02 -05:00
Scott Lahteine ead333e7da line_to_axis_pos => do_homing_move 2016-08-19 04:32:02 -05:00
Scott Lahteine 7a4ccd7967 Add do_probe_move with Z fixes 2016-08-19 04:32:02 -05:00
Scott Lahteine a1bad589c9 Augment debug/homing logging 2016-08-19 04:32:02 -05:00
Scott Lahteine 41b5c48129 Update software endstops if EEPROM is loaded 2016-08-19 04:32:01 -05:00
Scott Lahteine 628dcbc764 extruder_multiplier => flow_percentage 2016-08-18 22:13:47 -05:00
Scott Lahteine 6970c24ee6 Merge pull request #4642 from zenmetsu/ru-Lang
Ru lang updated
2016-08-18 17:11:46 -05:00
Jason Westervelt d222ee4de2 Update language_ru.h
Updated missing translations.  Caught up on change to MSG_HOME.
2016-08-17 13:55:44 -07:00
Scott Lahteine 464d594450 Merge pull request #4608 from thinkyhead/rc_more_twibus_tweaks
Additional details for I2C_SLAVE_ADDRESS
2016-08-15 19:37:03 -07:00
Scott Lahteine d63b8e2b2b Additional details for I2C_SLAVE_ADDRESS 2016-08-15 19:27:53 -07:00
Scott Lahteine 7427290d3a Merge pull request #4634 from thinkyhead/rc_lang_disp_char
Set language display charset in language.h
2016-08-15 19:25:56 -07:00
Scott Lahteine aa30550b21 Keep SIMULATE_ROMFONT only language.h 2016-08-15 19:11:31 -07:00
Scott Lahteine cec61c350d Set language display charset in language.h 2016-08-15 19:01:12 -07:00
Scott Lahteine 165d7abb1b Merge pull request #4625 from thinkyhead/rc_i2c_request_capture_flush
Add request, capture, flush to TWIBus
2016-08-15 18:15:43 -07:00
Scott Lahteine 0e6b41a34a Merge pull request #4624 from RicardoGA/RCBugFix
Update Spanish Lenguage
2016-08-15 18:15:23 -07:00
RicardoGA 507784b846 Fix Messages length 2016-08-15 10:30:51 -05:00
Scott Lahteine bd928a69ec Add request, capture, flush to TWIBus 2016-08-15 00:04:20 -07:00
RicardoGA 7b7f319ed5 Update Spanish Lenguage
Adds missing messages
2016-08-14 23:30:43 -05:00
Scott Lahteine 132322e4d9 Fix #4614: currentScreen only defined with ULTIPANEL 2016-08-14 00:29:46 -07:00
Scott Lahteine dcd26b0403 Merge pull request #4621 from thinkyhead/rc_fan_set_output
Init PWM-able AUTO_FAN pins with SET_OUTPUT
2016-08-13 21:22:27 -07:00
Scott Lahteine 79ba983782 Allow reply() to use const string with no warning 2016-08-13 21:05:44 -07:00
Scott Lahteine 27570c08ba Merge pull request #4620 from thinkyhead/rc_twibus_further
Further refinements of TWIBus
2016-08-13 20:56:09 -07:00
Scott Lahteine 3a0a94b21a Always init configured fan pins 2016-08-13 20:38:40 -07:00
Scott Lahteine c63003ed3e Use matching auto-fan flags 2016-08-13 20:38:40 -07:00
Scott Lahteine 3475fd7b0f Init PWM-able auto fan pins with SET_OUTPUT 2016-08-13 20:38:40 -07:00
Scott Lahteine abf9696db1 Loop fan-pins based on array size 2016-08-13 20:05:32 -07:00
Scott Lahteine e88575c8ec Init next_auto_fan_check_ms to zero 2016-08-13 20:05:32 -07:00
Scott Lahteine 7272ec5608 Update HAS_FAN flags for 4 auto fans 2016-08-13 20:05:32 -07:00
Scott Lahteine 7b21811a9a Flags for matching auto-fans 2016-08-13 20:05:32 -07:00
Scott Lahteine 97e0aed304 Further refinements of TWIBus 2016-08-13 18:32:41 -07:00
Scott Lahteine 38fa1b1939 Merge pull request #4196 from cimbalo/Platformio_support
Add working PlatformIO support
2016-08-12 17:32:09 -07:00
Scott Lahteine d7edc039af Merge pull request #4605 from thinkyhead/rc_3drag_fan_is_8
Fixup 3DRAG pins based on updated RAMPS pins
2016-08-12 17:30:27 -07:00
Scott Lahteine 7147c86e9f Merge pull request #4611 from tnw513/patch-2
Fix acceleration and feedrate following bq/Marlin
2016-08-12 17:30:02 -07:00
Silvio 923388e0c7 Fix acceleration and feedrate following bq/Marlin 2016-08-12 15:42:20 +02:00
Scott Lahteine 405afec393 Include decimeters in filamentUsed display 2016-08-12 05:16:43 -07:00
Scott Lahteine fef0e8ba86 Merge pull request #4610 from thinkyhead/rc_sd_pause_and_stop
Fix stopSDPrint so it works when paused
2016-08-12 04:09:22 -07:00
Scott Lahteine 192ac2dfd7 Squish some CardReader code 2016-08-12 03:32:42 -07:00
Scott Lahteine 61932b859e Fix bug in CardReader::stopSDPrint
If the SD print is paused, it cannot be stopped
2016-08-12 03:21:10 -07:00
Scott Lahteine 9e5d5a3b7c Merge pull request #4597 from tnw513/italian_fix
Added hyphenated strings for full graphic display
2016-08-12 02:37:53 -07:00
Silvio Didonna f999292eea added hyphenated letters for full graphic display and fixed some strings 2016-08-12 08:57:22 +02:00
Scott Lahteine 11027a56b6 Merge pull request #4606 from thinkyhead/rc_more_i2c_slave
Add an i2c request handler
2016-08-11 23:51:56 -07:00
Scott Lahteine 67f119d18b Add an i2c request handler 2016-08-11 18:09:18 -07:00
Scott Lahteine 2d3db5b5bd Fixup pins_3DRAG based on updated RAMPS pins 2016-08-11 15:49:47 -07:00
Scott Lahteine d29a64d4b3 Merge pull request #4603 from thinkyhead/rc_less_MSG_MOVE
Strip never-translated strings from language files
2016-08-11 14:21:58 -07:00
Scott Lahteine d6a7ca6553 Merge pull request #4584 from thinkyhead/rc_delta_cal_more
Use configured feedrates, center in DELTA_CALIBRATION_MENU
2016-08-11 14:04:05 -07:00
Scott Lahteine 64f15ac451 Merge pull request #4602 from thinkyhead/rc_marlinserial_clean
Minor cleanup of SdFatUtil.h, MarlinSerial.cpp
2016-08-11 13:42:16 -07:00
Scott Lahteine d3b432adca Strip never-translated strings from language files 2016-08-11 13:41:07 -07:00
Scott Lahteine 1a558ef486 Tweak MarlinSerial precursor 2016-08-11 12:47:06 -07:00
Scott Lahteine 802818f7ab Cleanup SdFatUtil.h 2016-08-11 12:47:06 -07:00
Scott Lahteine 52560e257f Merge pull request #4595 from thinkyhead/rc_i2c_slave
Add support for i2c slave address
2016-08-11 12:39:26 -07:00
Scott Lahteine 432e9a1f50 Use configured feedrates, center for DELTA_CALIBRATION_MENU 2016-08-11 12:05:55 -07:00
Scott Lahteine cd496dd9bd do_blocking_move_to can't be 'inline', takes const ref args 2016-08-11 12:05:55 -07:00
Scott Lahteine dd75fca4d9 Make M155 / M156 a bit more flexible 2016-08-11 00:52:01 -07:00
Scott Lahteine 30afac64c4 Merge pull request #4594 from thinkyhead/rc_fix_serial_output
Fix serial output for MBL, M303
2016-08-11 00:05:30 -07:00
Scott Lahteine e3efb04295 Shoehorn EXPERIMENTAL_I2CBUS into Travis test 2016-08-10 23:35:46 -07:00
Scott Lahteine a99ecf71d8 Add support for i2c slave address 2016-08-10 23:30:35 -07:00
Scott Lahteine b63d70b186 Fix serial output for MBL, M303 2016-08-10 18:49:52 -07:00
Scott Lahteine a36a168af2 Use the truly configured middle on Delta 2016-08-10 00:03:22 -07:00
Scott Lahteine 58c8e6cef2 Fixes #4576: Convert filamentUsed to long for display 2016-08-09 23:57:28 -07:00
Scott Lahteine 01f1f779a5 Followup to #4574, specify L for long 2016-08-09 23:43:37 -07:00
Scott Lahteine fa2467a834 Merge pull request #4578 from Kaibob2/patch-2
Update language_de.h with MSG_MOVE_E1 - E4
2016-08-09 23:04:15 -07:00
Kaibob2 1c7bd17e60 Update language_de.h with MSG_MOVE_E1 - E4
MSG_MOVE_E1 was missing
MSG_MOVE_E2 was missing
MSG_MOVE_E3 was missing
MSG_MOVE_E4 was missing

I assigned "0" to "MSG_MOVE_E1", "1" to "MSG_MOVE_E2" and so on, as this is what i assume to be the standard naming for the first (E0) and second (E1) extruder. This would have to be changed inthe other languages too :(
2016-08-09 20:49:26 +02:00
Scott Lahteine bd8ea21abe Merge pull request #4574 from thinkyhead/rc_graphical_days
Include days in Graphical LCD print timer
2016-08-08 23:53:31 -07:00
Scott Lahteine 880cdb553b Include days in Graphical LCD print timer 2016-08-08 23:21:36 -07:00
Scott Lahteine f4ac8c15e3 Merge pull request #4573 from thinkyhead/rc_mintemp_bed_later
Throw MINTEMP BED error only if heating
2016-08-08 23:02:42 -07:00
Scott Lahteine b7b5b50a84 Throw bed min temp error only if heating 2016-08-08 22:49:22 -07:00
Scott Lahteine d3ba878f70 Drop intermediate float in HEATER_0_USES_MAX6675 test 2016-08-08 22:49:22 -07:00
Scott Lahteine 3e8f9ecd1c Extend min/max_temp_error for the bed 2016-08-08 22:49:21 -07:00
Scott Lahteine 1f15f0df5f Merge pull request #4572 from thinkyhead/rc_digital_clock_100h
Show up to 99:59 in digital time
2016-08-08 22:28:29 -07:00
Scott Lahteine b772172c84 Merge pull request #4571 from thinkyhead/rc_proper_delta_calibration
Patch command order in delta calibration menu
2016-08-08 21:50:42 -07:00
Scott Lahteine 8100a4dace Fix a compile error in EMERGENCY_PARSER sanity check 2016-08-08 21:49:57 -07:00
Scott Lahteine 45f67164b6 Simplify the delay in kill() 2016-08-08 21:49:34 -07:00
Scott Lahteine 30b1c731b5 Show up to 99:59 in digital time 2016-08-08 21:26:34 -07:00
Scott Lahteine 3be4511230 Patch command order in delta calibration menu 2016-08-08 21:15:25 -07:00
Scott Lahteine 9afa060ed6 Merge pull request #4570 from thinkyhead/rc_proper_delta_calibration
Make DELTA_CALIBRATION_MENU more universal
2016-08-08 21:11:40 -07:00
Scott Lahteine 46c8862635 Merge pull request #4564 from AnHardt/max-spi-setup
MISO is an input
2016-08-08 21:01:15 -07:00
Scott Lahteine dad4702e85 Merge pull request #4569 from thinkyhead/rc_disable_slowdown_on_delta
Always disable SLOWDOWN for DELTA/SCARA
2016-08-08 20:58:40 -07:00
Scott Lahteine 88540d8ecf Fix: LCD displays SD status at startup 2016-08-08 20:53:18 -07:00
Scott Lahteine b16ea09498 Make DELTA_CALIBRATION_MENU more universal 2016-08-08 20:42:58 -07:00
Scott Lahteine 85c4d5d2b5 Include DELTA_CALIBRATION_MENU in DELTA travis test 2016-08-08 20:35:04 -07:00
Scott Lahteine 3a56836ead Always disable SLOWDOWN for DELTA/SCARA 2016-08-08 18:06:46 -07:00
AnHardt aa9b52b2e7 MISO is an input 2016-08-08 20:09:57 +02:00
Scott Lahteine 67c4acf750 Merge pull request #4562 from thinkyhead/rc_fix_z_dual_endstops
Fix Z_DUAL_ENDSTOPS with Z MIN Homing
2016-08-07 19:23:09 -07:00
Scott Lahteine 1edbea0fcb Merge pull request #4563 from thinkyhead/rc_explain_probe_heights
Explain that Z_PROBE_*_HEIGHT options are nozzle-relative
2016-08-07 19:22:19 -07:00
Scott Lahteine e113740fa3 Specify that Z_PROBE_*_HEIGHT is nozzle-relative 2016-08-07 17:54:17 -07:00
Scott Lahteine 462e189edd Move pullups after Z_DUAL_ENDSTOPS block 2016-08-07 17:43:02 -07:00
Scott Lahteine 367dad5902 Sanity check Z_DUAL_ENDSTOPS with DELTA 2016-08-07 17:08:41 -07:00
Scott Lahteine 5fca110e0d Fix Z_DUAL_ENDSTOPS with MIN homing 2016-08-07 17:08:41 -07:00
Scott Lahteine fc11f05c11 Merge pull request #4556 from thinkyhead/rc_all_feedrates_mm_s
Within Marlin, maintain most feed rates in mm/s
2016-08-07 16:14:16 -07:00
Scott Lahteine 7b2abe6fc8 Use steps_to_mm in extruder runout prevent 2016-08-07 00:28:52 -07:00
Scott Lahteine d320065320 Within Marlin, maintain most feed rates in mm/s 2016-08-07 00:28:52 -07:00
Scott Lahteine ed0b50ebee Merge pull request #4555 from thinkyhead/rc_mbl_index_rounding
Remove premature int-cast from MBL cell index methods
2016-08-06 23:34:01 -07:00
Scott Lahteine bad286d52f Save CPU by multiplying by pre-compiled values 2016-08-06 23:24:07 -07:00
Scott Lahteine dce6026e0e Remove premature cast to int 2016-08-06 23:01:29 -07:00
Scott Lahteine cffe77c537 Merge pull request #4553 from thinkyhead/rc_lcd_chars_save_ram
Save bytes for custom chars (Hitachi LCD)
2016-08-06 18:29:16 -07:00
Scott Lahteine 0a1a2fea30 Merge pull request #4554 from thinkyhead/rc_anhardt_rep-max6675
Repair SPI-pins, some other pins
2016-08-06 18:10:55 -07:00
Scott Lahteine 42927530fe Explicitly clear the screen in lcd_goto_screen 2016-08-06 18:10:39 -07:00
Scott Lahteine a6d2c2479f Minor cleanup of lcd_goto_screen calls 2016-08-06 18:10:39 -07:00
Scott Lahteine e47c8b9829 Save bytes for custom chars (Hitachi LCD) 2016-08-06 18:10:39 -07:00
Scott Lahteine 0ff5005c9b Allow connector flexibility for BQ ZUM Mega 2016-08-06 17:19:12 -07:00
Scott Lahteine 98437bd488 Allow override of CONTROLLERFAN_PIN with RAMPS EFF 2016-08-06 17:19:12 -07:00
Scott Lahteine 93eafa1785 Use DISABLED to check TEENSY pin option 2016-08-06 17:19:12 -07:00
AnHardt 98392abb78 Clean warnings for pins_BQ_ZUM_MEGA_3D.h 2016-08-06 17:19:12 -07:00
AnHardt 1f239ac9a7 Extend travis test to check MAX6675 2016-08-06 17:19:11 -07:00
Scott Lahteine 31cad77ba9 Chmod a+x opt_disable_adv 2016-08-06 17:19:11 -07:00
AnHardt 020cd32d28 Update restore_configs
for travis builds.
2016-08-06 17:19:11 -07:00
AnHardt 98e96feee9 Repair SPI-pins
SCK_PIN can't be defined as DIO[number] they mus be defined as pure number.
So rebuilding the structure of fastio.h in pins.h.
2016-08-06 17:19:11 -07:00
Scott Lahteine 7145bd085d Merge pull request #4551 from thinkyhead/rc_anhardt_rep_stow_allen
Make Allen Key Probe stow
2016-08-06 16:31:51 -07:00
Scott Lahteine a00783c41f Format probe stowed test code 2016-08-06 14:31:07 -07:00
AnHardt f37e8a31d7 Make Allen Key Probe stow
by switching off the tests for the probe before the stow move.
2016-08-06 14:30:38 -07:00
Scott Lahteine 5347f39fce Merge pull request #4542 from AnHardt/rep-de
Repair-language.de
2016-08-05 23:50:35 -07:00
Scott Lahteine 5ef4a5577c Merge pull request #4537 from thinkyhead/rc_fix_some_flaws
Patch up some flaws here and there
2016-08-05 23:49:57 -07:00
AnHardt 0d3b67a580 Repair-language.de 2016-08-06 01:00:40 +02:00
Scott Lahteine 938e6d15c4 Patch up some flaws, here and there 2016-08-05 08:17:37 -07:00
Scott Lahteine 3a3984e67a Merge pull request #4535 from thinkyhead/rc_old_symbols_first
Move tests for old symbols to the top of sanity check
2016-08-04 21:24:02 -07:00
Scott Lahteine d7b882e430 Move tests for old symbols to the top of sanity check 2016-08-04 21:03:55 -07:00
Scott Lahteine 479107d04f Merge pull request #4530 from Kaibob2/patch-1
Added / Update language_de.h
2016-08-04 16:58:50 -07:00
Scott Lahteine dddaeb3f8c Merge pull request #4528 from thinkyhead/rc_make_it_so
Z-Height options replace Z-Raise options
2016-08-04 13:46:44 -07:00
Kaibob2 1abd7fa670 Update language_de.h
Added german translation for MSG_INFO_PRINT_LONGEST and  MSG_INFO_PRINT_FILAMENT.
MSG_HEATING_COMPLETE changed from "Aufgeheizt" to "Extr. aufgeheizt"
MSG_HEATING changed from "Aufheizen" to "Extr. aufheizen"
2016-08-04 09:40:38 +02:00
Scott Lahteine 7e2bd9a233 Z_RAISE_PROBE_* => Z_PROBE_*_HEIGHT 2016-08-03 21:18:38 -07:00
Scott Lahteine 445458c221 Don't include zprobe_zoffset in do_probe_raise 2016-08-03 21:12:02 -07:00
Scott Lahteine 4cf66cfa62 Merge pull request #4522 from rafacouto/RCBugFix
Update of Galician language
2016-08-03 14:41:33 -07:00
Rafa Couto 0114676953 Update of Galician language 2016-08-03 2016-08-03 15:00:18 +02:00
Rafa Couto 433a22189b Merge pull request #1 from MarlinFirmware/RCBugFix
Update August
2016-08-03 08:43:22 +02:00
Scott Lahteine bd7a96ed42 Merge pull request #4517 from thinkyhead/rc_min_probe_pin
Define Z_MIN_PROBE_PIN always, allowing override
2016-08-02 21:35:59 -07:00
Scott Lahteine 704ae1b737 Merge pull request #4516 from thinkyhead/rc_short_prints_quiet
Only report finished prints longer than 1 min
2016-08-02 21:14:30 -07:00
Scott Lahteine 7ed70305df Merge pull request #4515 from thinkyhead/rc_fix_speaker_tone
Prevent the 'tone(f,d)' function from being interrupted
2016-08-02 21:13:47 -07:00
Scott Lahteine f1be87a85c Move probe pin sanity checks out of ABL block 2016-08-02 20:55:17 -07:00
Scott Lahteine 9cb596e88c Define Z_MIN_PROBE_PIN always, allowing override 2016-08-02 20:31:44 -07:00
Scott Lahteine 229f70f194 Only report finished prints longer than 1 min 2016-08-02 19:58:12 -07:00
Scott Lahteine e040e00ae9 Merge pull request #4514 from thinkyhead/rc_cleanup_circularqueue
Patch up CircularQueue
2016-08-02 19:42:38 -07:00
Scott Lahteine 6110d57c16 Prevent the 'tone(f,d)' function from being interrupted 2016-08-02 19:37:47 -07:00
Scott Lahteine b73203a0b7 Move some includes around to uncover missing deps 2016-08-02 19:37:46 -07:00
Scott Lahteine 52b6b8e36b Merge pull request #4512 from thinkyhead/rc_encoder_flex
Improved SCREEN / MENU macros
2016-08-02 18:59:42 -07:00
Scott Lahteine f26d5425bf Patch up CircularQueue
- Use `size` and `count` instead of `length` and `size`
- Fix bug: `peek` should return the item
- Clean up comments, spacing, spelling
2016-08-02 18:57:15 -07:00
Scott Lahteine c9123adc59 Improved SCREEN / MENU macros 2016-08-02 18:05:34 -07:00
Scott Lahteine cebeb48005 Merge pull request #4511 from thinkyhead/rc_encoder_flex
Allow encoder pulse/step override for more LCDs
2016-08-02 16:50:50 -07:00
Scott Lahteine 3cccaa9885 Allow encoder pulse/step override for more LCDs 2016-08-02 15:57:26 -07:00
Scott Lahteine 58749cae94 Merge pull request #4510 from thinkyhead/rc_buzzer_needs_beeper
Patch for COREYZ, tweak to scaled feedrate macro
2016-08-02 15:55:06 -07:00
Scott Lahteine 14c5a46ee9 Use multiplication for MMM_SCALED 2016-08-02 15:05:17 -07:00
Scott Lahteine d8945e8464 Fix Z_HEAD index for COREYZ 2016-08-02 15:05:17 -07:00
Scott Lahteine 0f030aface Merge pull request #4503 from AnHardt/fix-retract
Correct typo in retract()
2016-08-02 15:04:55 -07:00
Scott Lahteine fbd8f06951 Merge pull request #4506 from thinkyhead/rc_buzzer_needs_beeper
Buzzer requires BEEPER_PIN
2016-08-02 14:40:43 -07:00
Scott Lahteine 330f82971b Buzzer requires BEEPER_PIN 2016-08-02 14:05:37 -07:00
Scott Lahteine e0d7b8bf27 Fix Azteeg X3 servo pin / Viki i2c 2016-08-02 14:05:37 -07:00
Scott Lahteine 7cceb15925 Merge pull request #4505 from thinkyhead/rc_auto_select_dplugs
Auto-select power plugs for RAMPS derivatives
2016-08-02 12:56:52 -07:00
Scott Lahteine 1967e4216e Merge pull request #4504 from AnHardt/fix-baybystepping
Fix babystepping dependency
2016-08-02 12:46:50 -07:00
Scott Lahteine 593b37519a Boards with 4 power outputs are EFBF or EFBE 2016-08-02 12:34:28 -07:00
AnHardt 9ab94bd2c1 fix-babysrepping 2016-08-02 21:06:42 +02:00
AnHardt 39c4603598 Correct typo in retract. 2016-08-02 21:06:08 +02:00
Scott Lahteine cebd2bfff0 Auto-select power plugs for RAMPS derivatives 2016-08-02 11:59:25 -07:00
Scott Lahteine 34c60f1b55 Merge pull request #4491 from thinkyhead/rc_fix_lcd_move_e
Use a default argument in _lcd_move_e
2016-08-01 16:45:25 -07:00
Scott Lahteine 38af251b91 Use a default argument in _lcd_move_e 2016-08-01 16:09:26 -07:00
Scott Lahteine 374ae6c099 Fix pins for RAMBO plus VIKI 2016-08-01 16:09:26 -07:00
Scott Lahteine 7594138740 Merge pull request #4493 from jbrazio/buildroot-cleanup
Move font folder
2016-08-01 15:57:23 -07:00
João Brázio b15ef35568 Update the font README to link to marlinfw.org 2016-08-01 13:53:51 +01:00
Scott Lahteine 6eed37aafb Merge pull request #4486 from thinkyhead/rc_pid_add_extrusion_rate_off
PID_EXTRUSION_SCALING, disabled by default
2016-07-31 18:23:51 -07:00
Scott Lahteine 4bf3526d00 Merge pull request #4463 from thinkyhead/rc_azteeg_x3_eeb
Wrangle RAMPS variants and derivatives
2016-07-31 18:22:49 -07:00
Scott Lahteine 1993c45759 Merge pull request #4487 from thinkyhead/rc_refresh_pos_fix
Update refresh_positioning - no need for obj ref
2016-07-31 18:22:38 -07:00
Scott Lahteine f83369b79c Update refresh_positioning - no need for obj ref 2016-07-31 18:01:13 -07:00
Scott Lahteine 63fd1f49a6 PID_EXTRUSION_SCALING, disabled by default 2016-07-31 17:49:34 -07:00
Scott Lahteine 49997e2e22 HI_VOLT_PIN => "RAMPS_Dn_PIN" 2016-07-31 15:42:52 -07:00
Scott Lahteine f7da37002c Merge pull request #4482 from AnHardt/rep-s-spi
repair-software-spi
2016-07-31 15:25:44 -07:00
AnHardt 60ad365e21 repair-software-spi 2016-07-31 15:50:42 +02:00
Scott Lahteine f388beafa1 Merge pull request #4476 from otvald/RCBugFix
FIX for endstop adjustemt on delta is offset
2016-07-31 01:09:54 -07:00
Scott Lahteine 3633d4978b Merge pull request #4475 from esenapaj/Fix-for-PR-#4452
Fix for PR #4452 (Additional heater-state output changes)
2016-07-31 01:08:27 -07:00
Scott Lahteine 448e5252c3 Merge pull request #4474 from esenapaj/Update-distribution-date-and-readme
Update distribution date and readme
2016-07-31 01:07:43 -07:00
Thomas Otvald Jensen fe059f1221 During homing, line_to_axis_pos will make a path which moves across the
endstop trigger point. The move is stopped at endstop, so current_position
should also be adjusted to reflect this!

Caused error in subsequent call in endstop adjustment, since the movement
would assume a wrong starting position.
2016-07-30 16:50:31 +02:00
esenapaj bd73e6d3c8 Fix for PR #4452 (Additional heater-state output changes)
・Add missing ';'
2016-07-30 22:49:30 +09:00
esenapaj cd5b03d88f Update distribution date and readme 2016-07-30 21:27:29 +09:00
Scott Lahteine f575e92f2e Merge pull request #4473 from esenapaj/Follow-up-the-PR-#4408-etc
Follow-up the PR #4408 (Add support for reprapworld LCD), etc
2016-07-30 04:45:27 -07:00
Scott Lahteine a406b176b0 Merge pull request #4472 from thinkyhead/rc_old_conditional
Make Conditionals.h a catch-all for old configs
2016-07-30 04:34:43 -07:00
esenapaj 657ef8aded Follow-up the PR #4408 (Add support for reprapworld LCD), etc
・Put #define REPRAPWORLD_GRAPHICAL_LCD into all the example
configuration files
・Adjust spacing
2016-07-30 20:32:57 +09:00
Scott Lahteine 83d341c394 Make Conditionals.h a catch-all for old configs 2016-07-30 04:25:30 -07:00
Scott Lahteine de951c64f1 Make pins for EFF a consistent order 2016-07-30 04:17:21 -07:00
Scott Lahteine 49f75b7891 pins_RAMPS_14.h => pins_RAMPS.h 2016-07-30 04:17:21 -07:00
Scott Lahteine d3b713cebc Set flags for RAMPS "type" in pins.h 2016-07-30 04:17:21 -07:00
Scott Lahteine 223b7e473f RAMPS assignment for derivatives 2016-07-30 04:17:21 -07:00
Scott Lahteine 3865843283 Consolidate setting of RAMPS High Voltage PWM outputs 2016-07-30 04:17:21 -07:00
Scott Lahteine bdac2eb13a Don't set non-existent SLED_PIN 2016-07-30 04:17:21 -07:00
Scott Lahteine bfbd01e29a Merge pull request #4470 from thinkyhead/rc_fix_manual_move
Followup to #4468
2016-07-30 04:17:05 -07:00
Scott Lahteine 802d873fc1 Merge pull request #4469 from esenapaj/Fix-for-PR-#4453
Fix for PR #4453 (Improved MANUAL_[XYZ]_HOME_POS)
2016-07-30 04:08:54 -07:00
Scott Lahteine 8e2f095dde Merge pull request #4456 from jbrazio/speaker-type3
Improvement to non-blocking speaker
2016-07-30 04:07:08 -07:00
Scott Lahteine ad68b4cb8b Followup to #4468 2016-07-30 03:49:42 -07:00
esenapaj b8c112c490 Fix for PR #4453 (Improved MANUAL_[XYZ]_HOME_POS) 2016-07-30 19:37:43 +09:00
Scott Lahteine 2f76138645 Merge pull request #4468 from thinkyhead/rc_fix_manual_move
Specify manual-movable E axes by extruder type
2016-07-30 03:21:43 -07:00
Scott Lahteine 696b63e300 Specify manual-movable E axes by extruder type 2016-07-30 00:36:48 -07:00
Scott Lahteine 46c33f1cfa Merge pull request #4467 from jbrazio/safe_delay-millis_t
Makes safe_delay() to be fully compatible with delay()
2016-07-29 20:23:44 -07:00
Scott Lahteine 9e21b2e51d Merge pull request #4455 from AnHardt/double-bump-feature
double bump probing as a feature
2016-07-29 20:00:10 -07:00
Scott Lahteine db4d03bc81 Merge pull request #4452 from thinkyhead/rc_fix_heaterstates_part_2
Additional heater-state output changes
2016-07-29 19:58:00 -07:00
Scott Lahteine c68ca95345 Merge pull request #4464 from thinkyhead/rc_fix_steps_per_mm_handling
Account for DELTA in Planner::refresh_positioning
2016-07-29 19:34:59 -07:00
João Brázio 226e74a438 Fixes safe_delay() to be fully compatible with delay() 2016-07-30 02:56:26 +01:00
João Brázio 8e79e8cdb3 Adds types.h 2016-07-30 02:55:52 +01:00
Scott Lahteine 844a4e799e Account for DELTA in Planner::refresh_positioning 2016-07-29 18:41:11 -07:00
AnHardt 7188ce0ad6 double bump probing as a feature
Why double touch probing is not a good thing.

It's widely believed we can get better __probing__ results when using a double touch when probing.

Let's compare to double touch __homing__.
Or better let's begin with single touch __homing__.
We home to find out out position, so our position is unknown.
To find the endstop we have to move into the direction of the endstop.
The maximum way we have to move is a bit longer than the axis length.
When we arrive at the endstop - when it triggers, the stepper pulses are stopped immediately.
It's a sudden stop. No smooth deacceleration is possible.
Depending on the speed and the moving mass we lose steps here.
Only if we approached slow enough (below jerk speed?) we will not lose steps.

Moving a complete axis length, that slow, takes for ever.
To speed up homing, we now make the first approach faster, get a guess about our position,
back up a bit and make a second slower approach to get a exact result without losing steps.

What we do in double touch probing is the same. But the difference here is:
a. we already know where we are
b. if the first approach is to fast we will lose steps here to.
But this time there is no second approach to set the position to 0. We are measuring only.
The lost steps are permanent until we home the next time.

So if you experienced permanently rising values in M48 you now know why. (Too fast, suddenly stopped, first approach)

What can we do to improve probing?
We can use the information about our current position.
We can make a really fast, but deaccelerated, move to a place we know it is a bit before the trigger point.
And then move the rest of the way really slow.
2016-07-30 03:00:49 +02:00
Scott Lahteine c31f56a38c Deprecate EXTRUDER_WATTS and BED_WATTS 2016-07-29 17:34:14 -07:00
Scott Lahteine e1970b4b28 Show power output in same order as temp output 2016-07-29 14:55:22 -07:00
Scott Lahteine 74df828acc Show ADC values inline rather than after 2016-07-29 14:55:18 -07:00
João Brázio 2b5faa61e2 Consolidates Buzzer and Speaker into a single object 2016-07-29 19:25:39 +01:00
João Brázio 8093c5f534 Non-blocking speaker now uses arduino's tone() 2016-07-29 18:45:50 +01:00
João Brázio 3367e79fec Merge pull request #4458 from jbrazio/followup-4448
Fixes a compilation error introduced by #4448
2016-07-29 18:44:30 +01:00
João Brázio 8896f08074 Fixes a compilation error introduced by #4448 2016-07-29 18:33:42 +01:00
Scott Lahteine c677d2ac56 Merge pull request #4453 from thinkyhead/rc_better_manual_home
Improved MANUAL_[XYZ]_HOME_POS
2016-07-28 20:09:33 -07:00
Scott Lahteine ea5ac94804 Improved MANUAL_[XYZ]_HOME_POS
No need for `MANUAL_HOME_POSITIONS`. Just set each one as-needed to
override the automatic behavior.
2016-07-28 19:51:48 -07:00
Scott Lahteine 1734de4d4e Merge pull request #4447 from thinkyhead/rc_fix_heaterstates
Fix output of heater states
2016-07-28 17:51:11 -07:00
Scott Lahteine b40661cb18 Fix output of heater states 2016-07-28 17:40:01 -07:00
Scott Lahteine 9083e5420a Merge pull request #4419 from AnHardt/sd2pinmap
Switch Sd2CardLib to fastio
2016-07-28 17:38:46 -07:00
Scott Lahteine 6f59560526 Merge pull request #4448 from jbrazio/speaker-followup
A little cleanup at speaker.h
2016-07-28 17:37:36 -07:00
Scott Lahteine 5d8d18d03d Merge pull request #4451 from thinkyhead/rc_arduino_160_minimum
Prevent compiling with old Arduino sooner
2016-07-28 17:37:10 -07:00
Scott Lahteine c94b6dd3e7 Revert to SanityCheck on every .cpp file 2016-07-28 17:17:50 -07:00
Scott Lahteine 256b03598d Merge pull request #4450 from thinkyhead/rc_fix_delta_optimization
Fix DELTA speed calculation
2016-07-28 16:50:04 -07:00
Scott Lahteine 753283e020 inverse_second => inverse_mm_s 2016-07-28 16:35:18 -07:00
Scott Lahteine 83e1d90ca3 Undo errant optimization of block->millimeters 2016-07-28 16:26:52 -07:00
João Brázio 909e98b1af A little cleanup at speaker.h 2016-07-29 00:03:25 +01:00
Scott Lahteine ae1c7bca1b Merge pull request #4445 from thinkyhead/rc_fix_rdfgsc_mega3
Fix for R.D.F.G.S.C. with MEGATRONICS 3 board
2016-07-28 15:55:30 -07:00
Scott Lahteine 03fdb26cd2 Wrangle encoder bits, LCD_CLICKED 2016-07-28 14:44:37 -07:00
Scott Lahteine 155def24c6 BLEN_A, B, C are defined in ultralcd headers 2016-07-28 14:38:50 -07:00
Scott Lahteine 42dcc3bf50 Remove "the click" comments 2016-07-28 14:38:50 -07:00
Scott Lahteine 0eba65f96b Fix for R.D.F.G.S.C. with MINITRONICS board 2016-07-28 14:38:50 -07:00
fabtopia 83d0d59303 Fix for R.D.F.G.S.C. with MEGATRONICS 3 board
The support for reprapworld LCD boke the code for the REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER. See Full Grapics Display does not work any more after #4408  #4439
2016-07-28 13:12:19 -07:00
João Brázio 4f191a384b Moves the font folder into the buildroot 2016-07-28 19:56:41 +01:00
Scott Lahteine 5367d56f87 Merge pull request #4434 from thinkyhead/rc_delta_safe_homing
DELTA should ignore Z_SAFE_HOMING
2016-07-27 23:41:52 -07:00
Scott Lahteine 2525528fb2 DELTA should ignore Z_SAFE_HOMING 2016-07-27 23:25:56 -07:00
Scott Lahteine dc3d2b50cd Merge pull request #4426 from thinkyhead/rc_probeless_safe_homing
Allow Z_SAFE_HOMING without a probe
2016-07-27 05:12:33 -07:00
Scott Lahteine ab4b2a66ff Allow zero Z_RAISE_BETWEEN_PROBINGS 2016-07-27 05:00:58 -07:00
Scott Lahteine 8953e3e984 Allow Z_SAFE_HOMING without a probe 2016-07-27 04:33:56 -07:00
AnHardt e4942d2163 Switch SD2cadrLib to fastio
Replace all fastDigitalRead/Write() with READ/WRITE()

Define SCK_PIN, MISO_PIN, MOSI_PIN in pins.h if not already defined in the pins_*.h files.

Remove these conditional pin definitions from the pin-files. They are now always defined.

Define separate sets of SPI-pins for AT90USB with and without Teensy support in fastio.h.
Likely this was the main reason for all that confusion about the AT90USB-SPI pins.
2016-07-27 12:40:44 +02:00
Scott Lahteine 9f1dd6d431 Merge pull request #4420 from thinkyhead/rc_allow_no_deploy_raise
Allow zero raise for deploy/stow
2016-07-26 17:21:51 -07:00
Scott Lahteine 21e744c454 Allow zero raise for deploy/stow 2016-07-26 17:19:25 -07:00
Scott Lahteine 54084612fd Merge pull request #4415 from petrzjunior/transl
[LANGUAGE] Update Czech (Info screen strings)
2016-07-26 13:20:20 -07:00
Scott Lahteine 5597400cda Merge pull request #4414 from thinkyhead/rc_split_conditionals
Split up Conditionals.h into two files
2016-07-26 13:16:52 -07:00
Scott Lahteine 24ee50f4d9 Merge pull request #4417 from thinkyhead/rc_remove_old_lang
Remove MSG_PRINT_TIME from languages
2016-07-26 13:01:35 -07:00
Scott Lahteine 4be635ec6e Remove MSG_PRINT_TIME from languages 2016-07-26 12:47:45 -07:00
Scott Lahteine 3be49881c0 Make SanityCheck.h a catch-all for obsolete configs 2016-07-26 12:41:40 -07:00
Scott Lahteine fa647cca23 Do the sanity check just once per build 2016-07-26 12:37:14 -07:00
Scott Lahteine 24a1a16e5d Move versioning to MarlinConfig.h 2016-07-26 12:37:14 -07:00
Scott Lahteine 7e70a0b05d Move pins / Arduino includes to MarlinConfig.h 2016-07-26 12:37:14 -07:00
Scott Lahteine d9f7ed9a3c Move some macros from Marlin.h to macros.h 2016-07-26 12:37:13 -07:00
Scott Lahteine 277899c175 Move include _Bootscreen.h where needed 2016-07-26 12:37:13 -07:00
Scott Lahteine 83c4653c71 Include boards and macros ahead of configs 2016-07-26 12:19:50 -07:00
Scott Lahteine 5f4702ecb2 Make Conditionals.h a catch-all for old configs 2016-07-26 12:19:50 -07:00
Scott Lahteine 8a44928df3 Make Conditionals.h a catch-all for old configs 2016-07-26 12:19:50 -07:00
Petr Zahradník junior 3d9b878cf0 Czech update 2016-07-26 13:48:27 +02:00
Scott Lahteine c6226bb0aa Unify config in a single include without nested includes 2016-07-25 23:04:19 -07:00
Scott Lahteine 2d378fac1b No need to include thermistortables.h in Configuration.h 2016-07-25 22:43:50 -07:00
Scott Lahteine df27d01cd9 Arrange needed includes in Marlin.h 2016-07-25 20:53:36 -07:00
Scott Lahteine 93ea281061 Split up Conditionals.h into two files
Rather than include twice, which is tricky but may confuse
2016-07-25 20:30:45 -07:00
Scott Lahteine 8684570f68 Merge pull request #4412 from thinkyhead/rc_followup_4402
Followup #4402 fixing 3-point leveling
2016-07-25 16:10:50 -07:00
Scott Lahteine c55b7d0750 Merge pull request #4405 from thinkyhead/rc_theres_always_something
Move HAS_DIGIPOTSS to Conditionals.h
2016-07-25 15:58:42 -07:00
Scott Lahteine 42eebcd518 Merge pull request #4409 from thinkyhead/rc_cleanup_comment
Clean up Transfer Buffer Size comment
2016-07-25 15:58:34 -07:00
Scott Lahteine 5272147f7c Followup #4402 fixing 3-point leveling 2016-07-25 15:56:34 -07:00
Scott Lahteine fcc39e2b5f Clean up Transfer Buffer Size comment 2016-07-25 12:54:55 -07:00
Scott Lahteine 7e37c20839 Merge pull request #4408 from thinkyhead/rc_reprapworld_lcd
Add support for reprapworld LCD
2016-07-25 12:37:58 -07:00
Scott Lahteine 0c0a63322b Patches to prepare REPRAPWORLD_GRAPHICAL_LCD 2016-07-25 12:10:25 -07:00
brupje a60a668f6b Support for REPRAPWORLD_GRAPHICAL_LCD 2016-07-25 12:10:25 -07:00
Scott Lahteine 4f2ff46ab9 Move HAS_DIGIPOTSS to conditionals 2016-07-25 00:10:46 -07:00
Scott Lahteine 54f4f80077 Merge pull request #4404 from thinkyhead/rc_better_stepper_indirection
Arrange stepper_indirection by axis
2016-07-24 19:26:39 -07:00
Scott Lahteine 169c21b477 Merge pull request #4402 from thinkyhead/rc_consistent_positioning
Account for coordinate space offsets
2016-07-24 19:23:20 -07:00
Scott Lahteine 750a1e5116 Arrange stepper_indirection by axis 2016-07-24 19:00:51 -07:00
Scott Lahteine 7c27f34996 Merge pull request #4397 from thinkyhead/rc_tweak_eeprom
Neaten up EEPROM read/write functions
2016-07-24 18:45:54 -07:00
Scott Lahteine 2595a40a61 Account for coordinate space more in G28 / G29 / M48 2016-07-24 18:34:05 -07:00
Scott Lahteine 060dc6d95a Neaten up EEPROM read/write functions 2016-07-24 18:19:39 -07:00
Scott Lahteine b7b7c90477 Merge pull request #4389 from thinkyhead/rc_optimize_planner
Optimize planner with precalculation, etc.
2016-07-24 17:48:23 -07:00
Scott Lahteine 6900bb2286 Merge pull request #4395 from tnw513/italian_fix
Update Italian translations. Remove trailing spaces.
2016-07-24 17:47:48 -07:00
Scott Lahteine e4816293a8 serial_echopair_P for uint16_t 2016-07-24 17:46:37 -07:00
Scott Lahteine d8e5af6834 Use RAW_POSITION for MBL in planner.set_position_mm 2016-07-24 17:20:36 -07:00
Scott Lahteine b183442c61 Fix inactive_extruder_x_pos for coordinate space 2016-07-24 17:20:36 -07:00
Scott Lahteine f75b0c2ee1 Make POSITION macros global 2016-07-24 17:20:36 -07:00
Scott Lahteine 101b60ef42 Tweak Dual X Carriage data spacing 2016-07-24 17:20:35 -07:00
Scott Lahteine 1fe60b723f Merge pull request #4400 from thinkyhead/rc_sanity_check_temp_sensor
Sanity check for too many temp sensors
2016-07-24 15:38:41 -07:00
Scott Lahteine bedda3be61 Patch generic delta error caught by sanity check 2016-07-24 15:24:40 -07:00
Scott Lahteine a5212bf277 Sanity check for too many temp sensors 2016-07-24 13:47:27 -07:00
Scott Lahteine d8f2876753 Replace some float division with multiplication 2016-07-24 13:27:50 -07:00
Scott Lahteine ddde785b37 Code formatting in planner.cpp 2016-07-24 13:27:50 -07:00
Scott Lahteine f8b5749235 Replace division in planner with multiplication 2016-07-24 13:27:49 -07:00
Scott Lahteine b921f6b69d Optimize calculation of block->millimeters for DELTA 2016-07-24 13:27:49 -07:00
Scott Lahteine db5df9500b Move sync_plan_position closer to the top 2016-07-24 13:27:49 -07:00
Scott Lahteine 2839c56f5a Merge pull request #4390 from jbrazio/duration_t
Renamed timestamp_t to duration_t
2016-07-24 13:24:05 -07:00
Scott Lahteine 450fe8134d Merge pull request #4398 from thinkyhead/rc_z_safe_sanity
Sanity checks for Z_SAFE_HOMING
2016-07-24 12:21:10 -07:00
Scott Lahteine d6c50671d3 Sanitycheck: Z_SAFE_HOMING points are reachable 2016-07-24 10:54:47 -07:00
Scott Lahteine a6203366b6 Sanitycheck: Z_SAFE_HOMING requires a probe 2016-07-24 10:54:25 -07:00
Scott Lahteine bbe5b80492 Always define probe limits if there is a probe 2016-07-24 10:53:58 -07:00
Silvio Didonna 950397f2a0 Added missing translations. Removed trailing spaces for consistency (#4376) 2016-07-24 17:22:30 +02:00
João Brázio 50fb0f7cec M31 serial output is now always in EN 2016-07-24 15:52:03 +01:00
João Brázio 62d96d72f3 Renamed timestamp_t to duration_t 2016-07-24 03:16:02 +01:00
Scott Lahteine 3e2b3353b0 Fix axis indices for COREYZ 2016-07-23 19:02:14 -07:00
Scott Lahteine c287846f46 Merge pull request #4387 from thinkyhead/rc_anhardt_more_4370
Update Z in a unified way in run_z_probe
2016-07-23 16:47:10 -07:00
Scott Lahteine 22d0654fe6 Merge pull request #4382 from esenapaj/Update-Japanese-translation
Update Japanese translation
2016-07-23 16:31:38 -07:00
Scott Lahteine bb93b6822a Use set_current_from_steppers_for_axis 2016-07-23 15:25:54 -07:00
AnHardt 96a162beda Use implications from #4370 in run_z_probe()
See also https://github.com/MarlinFirmware/Marlin/pull/4370#issuecomment-234713680
2016-07-23 13:09:28 -07:00
Scott Lahteine 4e67a85a5d Macros to loop over axes 2016-07-23 13:09:28 -07:00
Scott Lahteine a3b5d5eb65 Merge pull request #4383 from esenapaj/Follow-up-the-PR-#4353
Follow-up the PR #4353 (General cleanup: enum)
2016-07-23 12:17:45 -07:00
esenapaj 784be56e99 Follow-up the PR #4353 (General cleanup: enum)
・Update description of M111
2016-07-24 00:53:35 +09:00
esenapaj 3c11977558 Update Japanese translation
・Add translation
・Change translation
・Remove translation
2016-07-23 22:07:20 +09:00
Scott Lahteine 5167cb424a Merge pull request #4381 from thinkyhead/rc_blocking_move_logging
Banish do_blocking_move_to_axis_pos
2016-07-23 01:33:17 -07:00
Scott Lahteine 08459a003f Undo the self-sabotage that is do_blocking_move_to_axis_pos 2016-07-23 00:59:11 -07:00
Scott Lahteine 13387ac302 Merge pull request #4380 from esenapaj/Fix-the-PR-#4379
Fix for the PR #4379 (Additional logging of do_blocking_move_to)
2016-07-23 00:43:01 -07:00
esenapaj d32c4056ad Fix for the PR #4379 (Additional logging of do_blocking_move_to)
・Remove unneeded PSTR()
2016-07-23 16:38:57 +09:00
Scott Lahteine 8099ee51a5 Merge pull request #4379 from thinkyhead/rc_blocking_move_logging
Additional logging of do_blocking_move_to
2016-07-23 00:10:55 -07:00
Scott Lahteine 8633b644cf Merge pull request #4378 from thinkyhead/rc_debug_leveling_docs
Document DEBUG_LEVELING_FEATURE
2016-07-22 23:57:01 -07:00
Scott Lahteine ad16d5019e Additional logging of do_blocking_move_to 2016-07-22 23:53:08 -07:00
Scott Lahteine bb9da6ebdd Document DEBUG_LEVELING_FEATURE 2016-07-22 23:37:41 -07:00
Scott Lahteine 652fd8a826 Merge pull request #4362 from thinkyhead/rc_duplication_mode
DUAL_NOZZLE_DUPLICATION_MODE
2016-07-22 21:17:59 -07:00
Scott Lahteine 1766b990b8 Merge pull request #4376 from jbrazio/timestamp_t-short
Adds short format to timestamp_t
2016-07-22 21:17:17 -07:00
Scott Lahteine 6da3729531 Merge pull request #4370 from thinkyhead/rc_delta_fwd_kinematics
Delta Forward Kinematics (and LOGICAL_POSITION)
2016-07-22 21:16:00 -07:00
Scott Lahteine 6b8b458106 Travis for ABL+SCARA, Z_MIN_PROBE_REPEATABILITY_TEST 2016-07-22 21:02:08 -07:00
João Brázio 9e5dbf67e8 Update the stats menu to include longest job and extruded filament 2016-07-23 03:05:45 +01:00
João Brázio 86d9311495 Rework LCD implementation to use timestamp_t 2016-07-23 03:05:36 +01:00
Scott Lahteine b3eb0c8569 Add LOGICAL_POSITION macro, apply to kinematics 2016-07-22 18:38:13 -07:00
Scott Lahteine 35a610abf9 const arg to inverse_kinematics 2016-07-22 17:42:48 -07:00
João Brázio b4aad85c9a Rework stats menu to use timestamp_t 2016-07-23 01:42:21 +01:00
João Brázio ecd48027fa Adds short timestamp format to timestamp_t 2016-07-23 01:41:25 +01:00
Scott Lahteine b6afa028f4 Don't call adjust_delta on SCARA 2016-07-22 16:36:34 -07:00
Scott Lahteine d5e2d523c7 Generalize kinematics function names 2016-07-22 16:36:34 -07:00
Scott Lahteine 9c4ad7d7ef Clean up delta declarations in Marlin_main.cpp 2016-07-22 16:36:33 -07:00
Scott Lahteine 4b1725628b Move kinematic functions to "private" scope 2016-07-22 16:36:33 -07:00
Scott Lahteine cde068ea42 Use set_current_from_steppers in quickstop_stepper 2016-07-22 16:36:33 -07:00
Scott Lahteine 9f30cc84ce Use set_current_from_steppers for other kinematics 2016-07-22 16:36:33 -07:00
AnHardt 5db9b940ee Use forwardKinematics in DELTA run_z_probe() 2016-07-22 16:36:33 -07:00
Scott Lahteine b5a9647fec Use ENABLED in stepper_indirection.h 2016-07-22 16:26:06 -07:00
Scott Lahteine cbc7f22ad9 Implement DUAL_NOZZLE_DUPLICATION_MODE 2016-07-22 16:23:58 -07:00
Scott Lahteine 91777dd76c Add DUAL_NOZZLE_DUPLICATION_MODE option 2016-07-22 16:22:56 -07:00
Scott Lahteine 260bbb3109 Fix a couple of simple typos 2016-07-22 16:22:56 -07:00
Scott Lahteine 179e091473 Merge pull request #4374 from thinkyhead/rc_jbrazio_timestamp_t
Implements timestamp_t structure
2016-07-22 16:08:10 -07:00
AnHardt 499e404fbf forwardKinematics for Delta printers 2016-07-22 16:01:51 -07:00
João Brázio 23043a1e05 Rework some code to use timestamp_t struct (saves 72 bytes) 2016-07-22 15:53:31 -07:00
João Brázio 9388dcfa49 Implements timestamp_t structure 2016-07-22 15:53:31 -07:00
Scott Lahteine 0b2c608d2f Merge pull request #4372 from jbrazio/gcc-bark
Fix minor gcc warning
2016-07-22 15:18:53 -07:00
Scott Lahteine 5655f8b331 Merge pull request #4373 from thinkyhead/rc_homing_leveling_wtf
Fix, cleanup DELTA G28 / G29 support functions
2016-07-22 14:34:23 -07:00
Scott Lahteine 311c7dadb6 Cleanup do_blocking_move_to for DELTA 2016-07-22 14:18:45 -07:00
Scott Lahteine b78590e63d Patch and cleanup run_z_probe 2016-07-22 14:18:45 -07:00
João Brázio 2f7716987d Fix minor gcc warning 2016-07-22 16:08:56 +01:00
João Brázio efd3aabda8 Adds missing documentation to the point_t structure 2016-07-22 15:19:20 +01:00
Scott Lahteine 39caef4279 Merge pull request #4361 from AnHardt/imp-dbmt-for-delta
DELTA do_blocking_move_to() more like the Chartesian one
2016-07-21 20:05:04 -07:00
Scott Lahteine 7d869ad98b Merge pull request #4365 from thinkyhead/rc_shrink_planner_accel
Adjustments to planner acceleration limit
2016-07-21 18:18:15 -07:00
AnHardt 376a57232e DELTA do_blocking_move_to() more like the Chartesian one 2016-07-22 03:12:46 +02:00
Scott Lahteine 824c6859e2 Merge pull request #4369 from thinkyhead/rc_no_static_moves
inline to fix warnings, smaller build size (sometimes)
2016-07-21 14:46:09 -07:00
Scott Lahteine 2c239b1bd3 Merge pull request #4368 from AnHardt/run-z-probe-delta
Revert to position-difference method in run_z_probe()
2016-07-21 14:03:28 -07:00
Scott Lahteine 976c31235d inline to fix warnings, smaller build size (sometimes) 2016-07-21 13:49:37 -07:00
AnHardt 6ef26a85d8 Back to the differences method in run_z_probe() 2016-07-21 18:16:38 +02:00
Scott Lahteine 4226f56f53 Revert the planner acceleration logic somewhat 2016-07-20 19:19:47 -07:00
Scott Lahteine 16e5348659 Merge pull request #4360 from thinkyhead/rc_toolchange_for_G28
Always switch to tool 0 for G28
2016-07-20 19:07:35 -07:00
Scott Lahteine 209f5c03d0 Fewer temporary vars in planner accel limit 2016-07-20 18:29:29 -07:00
Scott Lahteine 62ecd107ba Patch ultralcd_impl header conditional names 2016-07-20 09:36:55 -07:00
Scott Lahteine d2e9a9c188 Always switch to tool 0 for G28 2016-07-20 09:36:55 -07:00
Scott Lahteine 194d9521c3 Merge pull request #4356 from thinkyhead/rc_simpler_run_z_probe
Unify run_z_probe
2016-07-19 19:02:39 -07:00
Scott Lahteine 4a6ed5e221 Use HOMING_FEEDRATE_Z for Z_PROBE_SPEED_FAST 2016-07-19 18:42:48 -07:00
AnHardt 09a3cc33e6 Unify run_z_probe
Unify run_z_probe
Add double touch for DELTAs.
Introduce Z_PROBE_SPEED_FAST and Z_PROBE_SPEED_SLOW
  defaulting to homing_feedrate_mm_m[Z_AXIS] and homing_feedrate_mm_m[Z_AXIS]/2
2016-07-19 18:42:48 -07:00
Scott Lahteine 6137a1d934 Merge pull request #4359 from thinkyhead/rc_wrangle_movement_etc
Use ENABLED(MAPPER_NON)
2016-07-19 18:22:55 -07:00
Scott Lahteine 792fff5771 Merge pull request #4358 from thinkyhead/rc_individual_homing_rates
Set homing feedrates individually
2016-07-19 18:20:30 -07:00
Scott Lahteine 0432613ad7 use enabled macro for mapper setting 2016-07-19 18:08:56 -07:00
Scott Lahteine e44b37cdc2 motion section marker below homing speeds 2016-07-19 17:31:58 -07:00
Scott Lahteine 204fd6ec44 Set homing feedrates individually 2016-07-19 17:31:58 -07:00
Scott Lahteine e6e4d4062d Merge pull request #4357 from thinkyhead/rc_fix_keypad_issues
Fix some Reprapworld Keypad issues
2016-07-19 17:31:37 -07:00
Scott Lahteine 2bad02e60d Reprapworld Keypad: F1 opens the Move Axis menu 2016-07-19 16:40:39 -07:00
Scott Lahteine eaa6f568ee Prevent re-entrant call of Reprapworld Keypad handler 2016-07-19 16:40:39 -07:00
Scott Lahteine 6abf916575 Reprapworld Keypad move step is 1mm 2016-07-19 16:40:39 -07:00
Scott Lahteine 06ac1f3bcf Reduce Reprapworld Keypad move code size 2016-07-19 16:40:39 -07:00
Scott Lahteine 5d5affdfca Merge pull request #4355 from thinkyhead/rc_rename_ultralcd_files
Rename ultralcd implementation files for consistency
2016-07-19 16:14:27 -07:00
Scott Lahteine bb225dedc6 Merge pull request #4354 from thinkyhead/rc_jbrazio_rework_g12
NOZZLE_CLEAN_FEATURE with no dependency on HAS_BED_PROBE
2016-07-19 15:26:59 -07:00
Scott Lahteine 8a2efd1155 Rename ultralcd implementation files for consistency 2016-07-19 15:26:14 -07:00
João Brázio 0149fc189a Update travis config so NOZZLE_CLEAN_FEATURE no longer depends on AUTO_BED_LEVELING_FEATURE 2016-07-19 15:07:03 -07:00
João Brázio b869fbc05e Update all config files with the new G12 options 2016-07-19 15:07:03 -07:00
João Brázio 47fef80848 Nozzle::clean() no longer requires HAS_BED_PROBE 2016-07-19 15:07:02 -07:00
Scott Lahteine f1f1bac0e1 Merge pull request #4341 from esenapaj/Update-Japanese-translation
Update Japanese translation
2016-07-19 15:04:22 -07:00
João Brázio 5cdd6f02ec Update travis config not to send email notifications 2016-07-19 13:44:24 -07:00
Scott Lahteine 6c899bb520 Merge pull request #4349 from jbrazio/gcc-bark-bark
Removes some minor GCC warnings
2016-07-19 13:42:33 -07:00
Scott Lahteine ef0a22871e Merge pull request #4350 from jbrazio/followup-a875861
Adds utility.h
2016-07-19 13:40:52 -07:00
Scott Lahteine 9eba58a031 Merge pull request #4351 from jbrazio/u8glib-converter
Updates u8glib's bmp2hex converter
2016-07-19 13:39:33 -07:00
Scott Lahteine c502018eab Merge pull request #4353 from jbrazio/global-enum-file
General cleanup: enum
2016-07-19 13:37:56 -07:00
Scott Lahteine 0f9953b031 Merge pull request #4342 from AnHardt/rep-cons-g28
Introduce line_to_axis_pos() for use in homeaxis()
2016-07-19 12:56:58 -07:00
Scott Lahteine d76389b4d1 Merge pull request #4340 from esenapaj/Follow-up-the-PR-#4335
Follow-up the PR #4335 (Debug char, fix compile errors for lcd pins)
2016-07-19 12:43:50 -07:00
AnHardt 11c075c6b2 Introduce line_to_axis_pos(axis_codes axis, float where, float feed_rate = 0.0)
and use it in `homeaxis()` instead of `do_blocking_move_to_axis_pos()`.
`do_blocking_move_to_axis_pos` was wrong because it performed subdivided, delta-corrected moves for x- and y-axis.

The first common move for delta homing is like quick_home but for 3 towers.

Fix two warnings.
2016-07-19 17:24:44 +02:00
João Brázio 3ebad4e020 Moves all global enums to a central file 2016-07-19 14:31:09 +01:00
João Brázio 238fefcb00 Updates Stopwatch class to use internal state enum 2016-07-19 14:30:44 +01:00
João Brázio 30ac0782a9 Comment section style correction 2016-07-19 03:27:42 +01:00
João Brázio 8ecee431c4 Updates u8glib's bmp2hex converter 2016-07-19 03:16:30 +01:00
João Brázio 79e7721b76 Removes some minor GCC warnings 2016-07-19 03:03:11 +01:00
João Brázio f4d63796b2 Adds utility.h 2016-07-19 02:55:23 +01:00
esenapaj 361307831e Follow-up the PR #4335 (Debug char, fix compile errors for lcd pins)
・Solve a flickering when SD card is inserted or removed at using a ASCII
LCD + language_kana.h
2016-07-18 20:09:24 +09:00
esenapaj ff48bbb86a Update Japanese translation
・Add new translation
2016-07-18 17:01:56 +09:00
Scott Lahteine 46117593b9 Merge pull request #4185 from esenapaj/Update-Japanese-translation
Update Japanese translation (work in progress)
2016-07-17 18:36:34 -07:00
Scott Lahteine 3422103863 Merge pull request #4310 from thinkyhead/rc_mbl_position_shift
Fix position shift with MBL
2016-07-17 18:31:25 -07:00
Scott Lahteine 92757bd7b3 Merge pull request #4339 from esenapaj/Follow-up-the-PR-#4163
Follow-up the PR #4163 (Mixing and Switching Extruders)
2016-07-17 18:15:23 -07:00
Scott Lahteine cbf9fa7995 Merge pull request #4338 from thinkyhead/rc_anhardt_58
Use blocking_move, current_position in G28 homing
2016-07-17 18:12:40 -07:00
Scott Lahteine 493d30cd97 Drop intermediate nx, ny, and set destination directly 2016-07-17 17:59:52 -07:00
Scott Lahteine 07a735ad22 We always use destination so modify mesh_buffer_line 2016-07-17 17:57:33 -07:00
Scott Lahteine 04a5b7b257 A macro to normalize positions 2016-07-17 17:57:32 -07:00
esenapaj 5c8e87a866 Follow-up the PR #4163 (Mixing and Switching Extruders)
・Update forgotten K8400 files
2016-07-18 09:48:13 +09:00
Scott Lahteine 86eb5251c5 Fix some debug messages 2016-07-17 17:10:02 -07:00
Scott Lahteine 1e57a6af73 Use blocking_move, current_position in G28 homing 2016-07-17 16:56:13 -07:00
Scott Lahteine f6a3a1da09 nz and ne are always set, so drop them down 2016-07-17 14:12:39 -07:00
Scott Lahteine d0009e013b Rename cell index vars 2016-07-17 14:12:39 -07:00
Scott Lahteine 697373b071 Reduce code size of mesh_buffer_line 2016-07-17 14:11:25 -07:00
Scott Lahteine 103d312f6d MBL can actually do up to 9 x 9 2016-07-17 14:11:25 -07:00
Scott Lahteine f4a69281fc Only call mesh_buffer_line when MBL is active 2016-07-17 14:11:25 -07:00
Scott Lahteine 799a31cd30 Include the position_shift when splitting mesh lines 2016-07-17 14:08:20 -07:00
Scott Lahteine f242aea032 Merge pull request #4319 from thinkyhead/rc_feedrates_to_mess_with_you
Wrangle feed rate variables
2016-07-17 14:07:52 -07:00
Scott Lahteine 0342661b3f Merge pull request #4335 from thinkyhead/rc_status_pad_jp
Debug char, fix compile errors for lcd pins
2016-07-17 14:07:08 -07:00
Scott Lahteine 81e01152bb Merge pull request #4336 from thinkyhead/rc_bltouch_sensor
BLTouch probe sensor
2016-07-17 14:06:32 -07:00
Scott Lahteine d8c8d0a6a2 Merge pull request #4337 from thinkyhead/rc_inverts_as_macros
Endstop invert flags as macros instead of const bool
2016-07-17 14:06:10 -07:00
Scott Lahteine 1583177ef4 BLTOUCH probe config option 2016-07-17 13:55:38 -07:00
Scott Lahteine 176b9627c7 Some cleanup ahead of BLTOUCH support 2016-07-17 13:55:38 -07:00
Scott Lahteine 39706f3e57 Endstop invert flags as macros instead of const bool 2016-07-17 13:51:02 -07:00
Scott Lahteine 253f843da5 Merge pull request #4306 from thinkyhead/rc_stupid_name_okbai
ENDSTOPS_ONLY_FOR_HOMING is confusing
2016-07-17 13:50:19 -07:00
Scott Lahteine 7242d44810 Endstops vars already initialized 2016-07-17 13:38:48 -07:00
Scott Lahteine 5ed1e7a464 codenum => dwell_ms 2016-07-17 13:35:21 -07:00
Scott Lahteine 69d6016941 Revert default state of endstops in M502 2016-07-17 13:35:21 -07:00
Scott Lahteine 0fcd3706dd Replace ENDSTOPS_ONLY_FOR_HOMING with ENDSTOPS_ALWAYS_ON_DEFAULT 2016-07-17 13:35:21 -07:00
Scott Lahteine 671634bf11 Fix spacing after section header 2016-07-17 13:35:21 -07:00
Scott Lahteine f38553b482 fix a debug message 2016-07-17 13:29:42 -07:00
Scott Lahteine 3d78b8f929 Use HYPOT macro instead of hypot function 2016-07-17 13:29:42 -07:00
Scott Lahteine 9f9fe043ba Apply sq macro throughout 2016-07-17 13:29:41 -07:00
Scott Lahteine 93ba5bddd7 Append units to feedrate variables 2016-07-17 13:29:41 -07:00
Scott Lahteine 889570029a Merge pull request #4332 from esenapaj/Update-URL
Update URL in createTemperatureLookupMarlin.py
2016-07-17 12:29:55 -07:00
Scott Lahteine 5e3d3918b6 Patch compile error for RAMPS LCD pins 2016-07-17 12:27:37 -07:00
Scott Lahteine 94955a8bf7 pad string in lcd_finishstatus 2016-07-17 12:27:37 -07:00
Scott Lahteine 21ee0612e3 Debug char 2016-07-17 12:27:36 -07:00
Scott Lahteine c3cc24242c Merge pull request #4330 from thinkyhead/rc_debug_g28_more
Debugging of MBL in G28
2016-07-17 11:36:19 -07:00
Scott Lahteine 8f24e0a556 Debugging of MBL in G28 2016-07-17 11:08:30 -07:00
Scott Lahteine f8973a7cec Merge pull request #4163 from thinkyhead/rc_new_extruders_diff
Mixing and Switching Extruders
2016-07-17 11:05:03 -07:00
Scott Lahteine 05da02f0a2 Implement MIXING_EXTRUDER and SWITCHING_EXTRUDER 2016-07-17 10:53:10 -07:00
esenapaj ce2814ed60 Update URL in createTemperatureLookupMarlin.py 2016-07-17 21:08:09 +09:00
Scott Lahteine 22b4cff423 New extruder type configuration options 2016-07-17 00:13:56 -07:00
Scott Lahteine 9730a9355c Travis test for Mixing and Switching extruders 2016-07-17 00:13:56 -07:00
esenapaj 601015b73e Update Japanese translation 2016-07-17 16:04:12 +09:00
Scott Lahteine 9766e24504 Merge pull request #4277 from thinkyhead/rc_mks_13_viki2
Support for VIKI2 with MKS 1.3 / 1.4
2016-07-16 23:49:33 -07:00
Scott Lahteine 02285662f5 Merge pull request #4298 from jbrazio/feature/filament-counter
Adds filamentUsed and longestPrint stats to PrintCounter
2016-07-16 23:48:46 -07:00
Scott Lahteine bf16ae5a70 Merge pull request #4299 from jbrazio/feature/g27-park-nozzle
Implements park nozzle feature
2016-07-16 23:47:12 -07:00
Scott Lahteine aaa0d298b9 Merge pull request #4326 from thinkyhead/rc_no_static_items_fix
Suppress compiler warnings in ultralcd.cpp
2016-07-16 23:38:08 -07:00
Scott Lahteine cc3ef73583 Merge pull request #4327 from thinkyhead/rc_petrzjr_long_print
LCD Longer print
2016-07-16 23:37:34 -07:00
Scott Lahteine 77c8fb627f Merge pull request #4329 from thinkyhead/rc_italian_fix
Added missing Italian translations
2016-07-16 23:37:15 -07:00
Scott Lahteine b14888501b Merge pull request #4301 from Ingramz/RCBugFix
Add Cartesio CN Controls V11
2016-07-16 22:35:07 -07:00
Silvio Didonna 32e0d71729 Added missing translations 2016-07-16 22:26:46 -07:00
Scott Lahteine 0f3232065e Merge pull request #4305 from jbrazio/feature/splash-improvement
Custom boot screen feature improvement
2016-07-16 21:59:39 -07:00
Petr Zahradník junior 2d7fe9dc78 LCD Longer print 2016-07-16 18:21:06 -07:00
Scott Lahteine eee903bd4b Format some DAC lines 2016-07-16 17:59:13 -07:00
Scott Lahteine d53dcaa796 Suppress some compiler warnings 2016-07-16 17:59:01 -07:00
João Brázio 9775af0c24 Update travis to handle custom_bootscreen.h files 2016-07-17 01:31:44 +01:00
João Brázio fa4274cf4c Improves the custom bootscreen logo feature 2016-07-17 01:31:44 +01:00
João Brázio 1f3283e3a5 Adds custom boot logos for bq Hephestos 2 and Cartesio 2016-07-17 01:31:36 +01:00
João Brázio dfa1c45075 Adds a notice to vendors about the SHOW_CUSTOM_BOOTSCREEN directive 2016-07-17 01:15:17 +01:00
Scott Lahteine ed468e848f Merge pull request #4321 from esenapaj/Follow-up-the-PR-#4287
Follow-up and fix the PR #4287 (Allow stopwatch and printcounter to go over 18:12:15)
2016-07-16 17:14:21 -07:00
João Brázio a8758619ec The safe_delay() is now globaly accessible 2016-07-16 12:28:06 +01:00
João Brázio 9a00108cb6 Adds the WEBSITE_URL as the boot screen line 2 2016-07-16 12:24:37 +01:00
João Brázio f5234b0695 Adds a customizable screen timeout for the default boot screen 2016-07-16 12:24:36 +01:00
João Brázio 2f26bc2153 Adds filamentUsed and longestPrint stats to PrintCounter 2016-07-16 12:12:27 +01:00
João Brázio 336481ea81 Added G27 configuration options to all configs 2016-07-16 12:07:59 +01:00
João Brázio c711701626 Implements a nozzle parking command (G27) 2016-07-16 12:07:59 +01:00
João Brázio 7202383695 Merge pull request #4323 from jbrazio/followup-4320
Followup for #4320
2016-07-16 12:07:31 +01:00
João Brázio 5f368d1bc3 Followup for #4320 2016-07-16 11:57:35 +01:00
João Brázio d7c51bc4b9 Merge pull request #4320 from jbrazio/followup/4307
Moves do_blocking_move_to_xy() out of the HAS_BED_PROBE define
2016-07-16 11:48:00 +01:00
esenapaj af9b1d79b1 Follow-up and fix the PR #4287 (Allow stopwatch and printcounter to go over 18:12:15)
・Remove MSG_END_HOUR and MSG_END_MINUTE from all the language files
・Change from MSG_INFO_TOTAL_PRINTS to MSG_INFO_PRINT_COUNT in German
file
2016-07-16 18:39:22 +09:00
Scott Lahteine e563634a25 Merge pull request #4314 from AnHardt/use-d_b_m_t-in-g28
Use do_blicking_move_to*() in G28
2016-07-15 20:22:02 -07:00
Scott Lahteine 59ae1811c2 Merge pull request #4303 from AnHardt/delta-g28
DELTA: Move out of the clip-zone after G28
2016-07-15 20:20:22 -07:00
Scott Lahteine ead155399f Merge pull request #4311 from jbrazio/bugfix/print_xyz-overflow
Fixes an PSTR overflow with print_xyz()
2016-07-15 20:08:09 -07:00
João Brázio fdea8b6e6a Moves do_blocking_move_to_xy() out of the HAS_BED_PROBE define 2016-07-16 03:59:49 +01:00
AnHardt d2a49c016d DELTA: Move out of the clip-zone after G28
Move down to a safe height after G28 for DELTAs.
2016-07-15 15:22:44 +02:00
AnHardt 46994fd17d Use do_blicking_move_to*() in G28 2016-07-15 15:02:15 +02:00
João Brázio ffbb31b235 Fixes an PSTR overflow with print_xyz() 2016-07-15 11:25:34 +01:00
Indrek Ardel ecb23c1b65 Add Cartesio CN Controls V11 board 2016-07-15 12:55:47 +03:00
Indrek Ardel c8f2dd7cd5 Fix CN Controls 12 styling 2016-07-15 09:54:09 +03:00
Scott Lahteine cec7110409 Merge pull request #4308 from thinkyhead/rc_debug_gcode_t
Added logging related to gcode_T
2016-07-14 19:46:33 -07:00
Scott Lahteine 6446d3939a Merge pull request #4309 from thinkyhead/rc_static_item_fix_77
Fix skipping of static items
2016-07-14 19:28:49 -07:00
Scott Lahteine 84bf58db72 Merge pull request #4307 from jbrazio/feature/movement-unleash
Remove do_blocking_move_*() dependency on HAS_BED_PROBE
2016-07-14 19:23:30 -07:00
Scott Lahteine 95ab2fd3ae Fix skipping of static items 2016-07-14 19:16:16 -07:00
Scott Lahteine 166f19251e Add more debugging for leveling
- Especially in `gcode_T`
- In `update_software_endstops`
- Some tweaks to observe
2016-07-14 19:04:13 -07:00
Scott Lahteine 7ac0b91a45 Collapsible long comment in gcode_T 2016-07-14 18:28:41 -07:00
João Brázio e71a631f8f do_blocking_move_*() no longer depend on HAS_BED_PROBE 2016-07-15 01:54:14 +01:00
Scott Lahteine 8bf6861af8 Merge pull request #4054 from jbrazio/feature/g12-clean-tool
Implements clean nozzle feature (Lulzbot's REWIPE)
2016-07-14 14:38:38 -07:00
Scott Lahteine 75901b616c Merge pull request #4287 from thinkyhead/rc_long_print_times
Allow stopwatch and printcounter to go over 18:12:15
2016-07-14 12:14:15 -07:00
Scott Lahteine c5e51f6b96 finished => completed 2016-07-14 11:46:35 -07:00
Scott Lahteine 1618870c84 card.printingHasFinished does print_job_timer.stop 2016-07-14 11:39:58 -07:00
Scott Lahteine 34da77dad3 Simply run M31 at the end of an SD print 2016-07-14 11:39:58 -07:00
Scott Lahteine 23d2bc5ab0 Patch Greek for new strings 2016-07-14 11:39:58 -07:00
Scott Lahteine a8d71f0ac6 Support longer print times in M31 2016-07-14 11:39:58 -07:00
Scott Lahteine e481b79af1 Allow stopwatch and printcounter to go over 18 hours 2016-07-14 11:39:57 -07:00
João Brázio 68c343a09a Added G12 configuration options to all configs 2016-07-14 00:38:42 +01:00
João Brázio 4937f9ada4 Minor G12 tweaks and point_t struct extension 2016-07-14 00:07:36 +01:00
Scott Lahteine 6080924589 Merge pull request #4296 from jbrazio/feature/bqh2-update
Update the bq Hephestos 2 configuration
2016-07-13 13:18:09 -07:00
Scott Lahteine ed89c71e53 Merge pull request #4291 from esenapaj/Follow-up-the-PR-#4278
Follow-up the PR #4278 (Fixups for PID_ADD_EXTRUSION_RATE and HOTENDS==1)
2016-07-13 13:17:03 -07:00
Scott Lahteine f23689d9f1 Merge pull request #4292 from esenapaj/Follow-up-the-PR-#4252
Follow-up the PR #4252 (Replace PLA/ABS preheating with generic)
2016-07-13 13:16:30 -07:00
João Brázio 021544f572 Improves G12 zig-zag pattern 2016-07-13 21:14:56 +01:00
João Brázio b05a75655a Implements a nozzle cleaning pattern generator (G12) 2016-07-13 21:14:19 +01:00
João Brázio 005af84140 Update the bq Hephestos 2 configuration 2016-07-13 21:06:31 +01:00
esenapaj 8f03f0be9b Follow-up the PR #4252 (Replace PLA/ABS preheating with generic) 2016-07-13 22:42:16 +09:00
esenapaj c2c8ab4698 Follow-up the PR #4278 (Fixups for PID_ADD_EXTRUSION_RATE and HOTENDS==1) 2016-07-13 22:24:31 +09:00
Scott Lahteine 4f77adddbe Merge pull request #4286 from thinkyhead/rc_debug_clean
Prefix and suffix in debug output
2016-07-12 20:49:15 -07:00
Scott Lahteine e5c7af5ddc Merge pull request #4222 from thinkyhead/rc_allow_cold_extrude
M302: Add "P" parameter, status output
2016-07-12 20:40:14 -07:00
Scott Lahteine 2224032568 Merge pull request #4285 from thinkyhead/rc_manual_move_fast_fine
No delay for the smallest LCD moves
2016-07-12 20:16:38 -07:00
Scott Lahteine cdd77d23bb Neaten up temperature member data 2016-07-12 20:04:15 -07:00
Scott Lahteine d4c68279c8 Add "P" parameter to M302 2016-07-12 20:04:15 -07:00
Scott Lahteine a5bae3c7d5 Merge pull request #4229 from blubbfish/patch-1
Update language_de.h for German translation
2016-07-12 20:01:46 -07:00
Scott Lahteine a8b6b6a128 Merge pull request #4252 from thinkyhead/rc_rename_hpb
Replace PLA/ABS preheating with generic
2016-07-12 20:00:33 -07:00
Scott Lahteine 1e14df876d Use varname as prefix in DEBUG_POS, string as suffix 2016-07-12 19:58:09 -07:00
Scott Lahteine 9e8b3e5ee6 Homing direction is irrelevant in probe raise! 2016-07-12 18:09:02 -07:00
Scott Lahteine ecd5e810ac No delay for the smallest LCD moves 2016-07-12 18:09:01 -07:00
Scott Lahteine 2b9515d60f Merge pull request #4281 from AnHardt/lang-system
Don't use UTF-strlen() if the text is not UTF
2016-07-12 17:21:28 -07:00
Scott Lahteine 973a669aa3 Merge pull request #4264 from thinkyhead/rc_ultralcd_encoder_pos
Remove extraneous conditions for encoder position
2016-07-12 16:54:13 -07:00
Scott Lahteine e9f62d8fdb Remove extraneous conditions for encoder position 2016-07-12 16:41:00 -07:00
Scott Lahteine 7c81398f95 Merge pull request #4279 from esenapaj/Follow-up-the-PR-#4271
Follow-up the PR #4271 (X_DUAL_STEPPER_DRIVERS)
2016-07-12 16:39:37 -07:00
Scott Lahteine 0554b65d22 Merge pull request #4284 from thinkyhead/rc_serial_ln_macros
Sled-probe sanity fix, conditionals for remaining types of leveling
2016-07-12 16:36:33 -07:00
Scott Lahteine 655c3fd55f Move delta ABL sanity checks up 2016-07-12 16:10:16 -07:00
Scott Lahteine db0882d068 AUTO_BED_LEVELING_3POINT and DELTA_BED_LEVELING_GRID 2016-07-12 16:10:11 -07:00
Scott Lahteine e974ac63ef Init matrix in planner.init 2016-07-12 15:55:27 -07:00
Scott Lahteine 47d55513ec Merge pull request #4280 from AnHardt/msg-file-upload
Finalalize MSG_SD_WRITE_TO_FILE message with a \n
2016-07-12 13:02:52 -07:00
AnHardt b273736962 Make MAPPER_NON the fall back mapper
Make MAPPER_NON the fall back mapper - if no other is defined.
One list less to maintain.
2016-07-12 19:59:14 +02:00
AnHardt 54d35230df Don't use UTF-strlen() if the text is not UTF 2016-07-12 19:59:03 +02:00
Scott Lahteine a1de96d152 Merge pull request #4278 from thinkyhead/rc_more_hotends_1
Fixups for PID_ADD_EXTRUSION_RATE and HOTENDS==1
2016-07-12 10:36:13 -07:00
AnHardt 87957c7b44 Finalalize MSG_SD_WRITE_TO_FILE message with a \n
Finalalize MSG_SD_WRITE_TO_FILE message with a \n
else RH hangs.
2016-07-12 13:13:04 +02:00
esenapaj 9b5cbf2423 Follow-up the PR #4271 (X_DUAL_STEPPER_DRIVERS)
・Update a forgotten Configuration_adv.h of K8400
2016-07-12 17:50:49 +09:00
Scott Lahteine 809da999dc Apply HOTEND_INDEX in preheat methods 2016-07-11 22:27:25 -07:00
Scott Lahteine 3d78b690e5 Single PID dataset with HOTENDS == 1 2016-07-11 22:27:24 -07:00
Scott Lahteine bf9967c65d Apply HOTEND_INDEX in MILLISECONDS_PREHEAT_TIME 2016-07-11 22:27:24 -07:00
Scott Lahteine 11dcbae7a2 Only a single E axis. Can tool-change reseed position[E_AXIS]? 2016-07-11 22:27:24 -07:00
Scott Lahteine 4865447830 Merge pull request #4276 from esenapaj/Suppress-warnings
Suppress warnings
2016-07-11 19:08:59 -07:00
Scott Lahteine 815df28b0b Merge pull request #4274 from esenapaj/Follow-up-the-PR-#4024
Follow-up the PR #4024 (Greek Language by @psavva)
2016-07-11 19:04:44 -07:00
Scott Lahteine 44f739a5eb Merge pull request #4273 from esenapaj/Fix-for-the-PR-#4256
Fix for the PR #4256 (Additional tweaks for HOTENDS == 1)
2016-07-11 19:02:45 -07:00
Scott Lahteine 02f711fe00 Merge pull request #4275 from AnHardt/dont-deploy
Don't deploy/stow the probe if z-min-endstop is used for homing
2016-07-11 18:46:23 -07:00
Scott Lahteine 6a45aad893 Merge pull request #4272 from AnHardt/m100-rep
Repair M100
2016-07-11 18:45:13 -07:00
Scott Lahteine 243ad4312a Merge pull request #4271 from thinkyhead/rc_X_DUAL_STEPPER_DRIVERS
X_DUAL_STEPPER_DRIVERS
2016-07-11 18:38:45 -07:00
Scott Lahteine 6e68dd292b Merge pull request #4243 from thinkyhead/rc_fix_static_scrolling
Improve STATIC_ITEM implementation
2016-07-11 18:25:00 -07:00
Scott Lahteine d17b161832 Don't draw current screen if simply changing screens 2016-07-11 18:14:04 -07:00
Scott Lahteine 096f9981d1 Scroll to the top when changing screens 2016-07-11 18:14:04 -07:00
Scott Lahteine 7ae84d768e Tweak conditionals for REPRAPWORLD_KEYPAD 2016-07-11 18:14:04 -07:00
Scott Lahteine 155af6b861 Rename vars, add comments for menu macros 2016-07-11 18:14:04 -07:00
Scott Lahteine 31f2cf5f6f Make encoderLine signed for proper compares 2016-07-11 18:14:03 -07:00
Scott Lahteine d9f75f62c0 START_ROW => START_COL 2016-07-11 18:14:03 -07:00
Scott Lahteine d2099fef0d Left-justify thermistor info 2016-07-11 18:14:03 -07:00
Scott Lahteine 85aeb02aa6 Invert headings on Graphical LCD 2016-07-11 18:14:03 -07:00
Scott Lahteine 3a67fb77b0 Concatenate LCD static strings 2016-07-11 18:14:02 -07:00
Scott Lahteine 13dc619f43 Scroll static screens more simply 2016-07-11 18:14:02 -07:00
Scott Lahteine 5051723c2e Redraw after cursor correction in STATIC_ITEM 2016-07-11 18:14:02 -07:00
esenapaj 58177a1602 Suppress warnings 2016-07-12 08:22:24 +09:00
Scott Lahteine 10ebf28ee3 Allow override of ENCODER_FEEDRATE_DEADZONE, lower default for Viki 2016-07-11 15:43:08 -07:00
Scott Lahteine 9b1ba1012a Support for VIKI2 with MKS Gen 1.3 / 1.4 2016-07-11 15:43:08 -07:00
Scott Lahteine 55dc8051d8 Cleanup of RAMPS LCD pins 2016-07-11 15:38:55 -07:00
AnHardt 7bcab26f2a Don't deploy/stow the probe if z-min-endstop is used for homing
Don't deploy/stow the probe if z-min-endstop is used for homing.
Don't apply `zprobe_zoffset` if probe was not used.
2016-07-11 22:01:44 +02:00
esenapaj 84ded1f659 Follow-up the PR #4024 (Greek Language by @psavva)
・Update forgotten Configuration.h of K8400
2016-07-12 04:19:09 +09:00
esenapaj 6af525e252 Fix for the PR #4256 (Additional tweaks for HOTENDS == 1) 2016-07-12 03:51:29 +09:00
AnHardt 23e0134596 Repair M100
M100 D was running too long - caused watchdog resets.
M100 I showed more free memory than a Arduino Mega has RAM.
2016-07-11 20:44:30 +02:00
Scott Lahteine 4b4a582c4f X_DUAL_STEPPER_DRIVERS implementation 2016-07-11 10:22:19 -07:00
Scott Lahteine 91bd6eade7 X_DUAL_STEPPER_DRIVERS configuration option 2016-07-11 10:22:19 -07:00
Scott Lahteine 6121c9018a Merge pull request #4265 from thinkyhead/rc_buzzer_patchup
Two strategies to address a stuck buzzer
2016-07-10 19:46:15 -07:00
Scott Lahteine 4a100c6832 Merge pull request #4250 from AnHardt/wait-for-cooling-slope
Adjust wait_for_cooling slope
2016-07-10 19:45:23 -07:00
Scott Lahteine ed018c98d5 Merge pull request #4024 from thinkyhead/rc_greek_language
Greek Language by @psavva
2016-07-10 19:42:09 -07:00
Scott Lahteine d1dffc7ad1 timestamp => endtime 2016-07-10 19:36:46 -07:00
Scott Lahteine 71674059c3 Two strategies to address a stuck buzzer 2016-07-10 19:25:23 -07:00
Scott Lahteine 928ff6487a Greek language pack from @psavva 2016-07-10 18:59:04 -07:00
AnHardt e92e58df1f Adjust wait_for_cooling slope
Adjust wait_for_cooling slope
and drop mintemp for cooling.

See
https://github.com/MarlinFirmware/Marlin/pull/4169#issuecomment-231544532
2016-07-11 03:36:23 +02:00
Scott Lahteine 167f4aa0cc Merge pull request #4259 from clexpert/patch-3
Update language_cz.h
2016-07-10 18:26:23 -07:00
Scott Lahteine 8dda05e92a Merge pull request #4258 from clexpert/patch-2
Total print time for LCD correction (hours:minutes format)
2016-07-10 18:25:18 -07:00
Scott Lahteine 0ccc5d1dd9 Merge pull request #4244 from thinkyhead/rc_dyze_thermistor_diff
Dyze High Temp Thermistor Support
2016-07-10 18:08:44 -07:00
Scott Lahteine 182c8d7f8f Dyze High Temp Thermistor Support 2016-07-10 17:59:05 -07:00
Scott Lahteine 5b0e46c986 Merge pull request #4256 from thinkyhead/rc_fix_singlenozzle_temp
Additional tweaks for HOTENDS == 1
2016-07-10 17:57:00 -07:00
Scott Lahteine 5b87deebb6 Merge pull request #4257 from esenapaj/Follow-up-the-PR-#4253-etc
Follow-up the PR #4253 (Runout Sensor without SD Card, Print Timer support in M104), etc
2016-07-10 16:59:24 -07:00
Scott Lahteine ee0983ab57 Further reduction when HOTENDS == 1 2016-07-10 16:54:30 -07:00
Scott Lahteine 3e1bbd5e27 Indentation in gcode_M100 2016-07-10 16:33:51 -07:00
Scott Lahteine b72238f406 Invariant get_pid_output with HOTENDS < 2 2016-07-10 16:33:51 -07:00
Petr Zahradnik 66602f4af6 Update language_cz.h
New strings:
#define MSG_HALTED
#define MSG_PLEASE_RESET
Some texts shortened for smaller displays.
2016-07-10 13:25:50 +02:00
Petr Zahradnik eaf9e615ce Total print time for LCD correction (hours:minutes format) 2016-07-10 13:08:05 +02:00
esenapaj 9e56d5825e Adjust spacing 2016-07-10 14:25:29 +09:00
esenapaj 5832f4b848 Follow-up the PR #4253 (Runout Sensor without SD Card, Print Timer support in M104)
・Update forgotten example configuration files
2016-07-10 14:24:57 +09:00
Scott Lahteine 77283f5bf0 Merge pull request #4245 from thinkyhead/rc_simpler_therm_check
Simpler/extensible thermistor test in thermistortables.h
2016-07-09 21:13:42 -07:00
Scott Lahteine f9e08b1fcd Merge pull request #4254 from AnHardt/killscreen
Add a kill-screen
2016-07-09 20:44:42 -07:00
AnHardt faac2bcfdb Add a kill-screen 2016-07-10 04:50:45 +02:00
Scott Lahteine 3b3e52616c Merge pull request #4253 from thinkyhead/rc_clexpert_runout
Runout Sensor without SD Card, Print Timer support in M104
2016-07-09 19:10:36 -07:00
Scott Lahteine aa3ab93971 Merge pull request #4240 from AnHardt/sampler-8-7-16
Today's fix and cleanup collection
2016-07-09 19:09:45 -07:00
Scott Lahteine 4cd045791c Reduce code size by trusting the compiler 2016-07-09 18:17:44 -07:00
Scott Lahteine a8538bd7ce General cleanup, code reduction in Marlin_main.cpp 2016-07-09 18:17:44 -07:00
Scott Lahteine 1026e5b071 Replace PLA/ABS preheating with generic 2016-07-09 18:06:51 -07:00
Petr Zahradnik e282d69f63 Print job timer comment changed 2016-07-09 17:57:54 -07:00
Petr Zahradnik a2159cfbc3 Error message change in SanityCheck.h 2016-07-09 17:57:54 -07:00
Petr Zahradník junior 315b4c2153 Runout sensor without SD Card 2016-07-09 17:57:53 -07:00
Scott Lahteine 51c9c3fe2c Indentation in MarlinSerial.cpp 2016-07-09 17:57:53 -07:00
Scott Lahteine e03414b2dd Simpler/extensible thermistor test in thermistortables.h 2016-07-08 19:54:45 -07:00
Scott Lahteine c23dd7eefc Merge pull request #4241 from AnHardt/adTXbuffer3
Add TX-buffer for MarlinSerial
2016-07-08 18:34:53 -07:00
AnHardt 4b44a23a36 Add TX-buffer for MarlinSerial
Similar to the current Arduino HardwareSerial
but with max. 256 byte buffer-size.

Deactivated by default.

The boards with AT90USB processor (USBCON) already use a TX-buffer.
2016-07-08 17:25:21 +02:00
AnHardt 468f7f03a2 homeaxis() can leave early
when no known axis needs to be homed.

Most changes are only caused from altering the indentation.
```
if (axis == X_AXIS ? HOMEAXIS_DO(X) : axis == Y_AXIS ? HOMEAXIS_DO(Y) : axis == Z_AXIS ? HOMEAXIS_DO(Z) : 0) {
  ...
}

to

if (!(axis == X_AXIS ? HOMEAXIS_DO(X) : axis == Y_AXIS ? HOMEAXIS_DO(Y) : axis == Z_AXIS ? HOMEAXIS_DO(Z) : 0)) return;
...

```
2016-07-08 15:59:33 +02:00
AnHardt eff7912243 Ensble/disable hardware endstops in G28 globally.
For moving away from the endstops we do not have to disable them.
They are not tested anyway.
2016-07-08 15:49:10 +02:00
AnHardt f69434d81c Eliminate void setup_for_endstop_move() 2016-07-08 15:23:20 +02:00
AnHardt 0ea6247fc2 Use logic in Z_SAFE_HOMING
Use logic in Z_SAFE_HOMING

From
```
if (home_all_axis || homeZ) {
  if (home_all_axis) {
  ...
  home z
  }
  else if (homeZ) { // Don't need to Home Z twice
  home z
  }
}

```
to
```
if (home_all_axis || homeZ) {
  if (home_all_axis) {
  ...
  }
  home z
}
```
2016-07-08 15:08:50 +02:00
AnHardt de3a169336 Always define MIN_Z_HEIGHT_FOR_HOMING even if 0
Always define MIN_Z_HEIGHT_FOR_HOMING even if 0
Always make a potential rise to `home_offset[Z_AXIS]` possible in G28.
Get rid of some very ugly constructs in MBL (ultralcd.cpp).
2016-07-08 15:08:32 +02:00
AnHardt 88ed232f53 Remove HAS_BED_PROBE case in first raise in G28
Differentiating made sense here when we could save a dozen lines of code,
but not for one line.
2016-07-08 14:59:44 +02:00
AnHardt 653eff3b31 Clean up quick_home_xy()
Since we do the actual homing now in the 'normal' routines `quick_home_xy()`
can be simplified to a relative simple diagonal move.
2016-07-08 14:59:27 +02:00
Scott Lahteine 98d0167a57 Merge pull request #4226 from thinkyhead/rc_emergency_command_parser
MarlinSerial emergency-command parser (with M108)
2016-07-07 16:53:55 -07:00
Scott Lahteine 2ee4e4f791 Make wait_for_heatup volatile 2016-07-07 16:37:23 -07:00
Scott Lahteine bd5a825b8b Wait for end of line before invoking action 2016-07-07 16:37:23 -07:00
Scott Lahteine ea47803ae2 Simplify emergency parser (only parse initial command) 2016-07-07 16:37:22 -07:00
Scott Lahteine 834ad14c8d Add quickstop_stepper to update current position with stepper.quick_stop() 2016-07-07 16:37:22 -07:00
Scott Lahteine ecffe92e20 Group EMERGENCY_PARSER commands 2016-07-07 16:37:22 -07:00
AnHardt a129078927 Add an emergency-command parser to MarlinSerial (supporting M108)
Add an emergency-command parser to MarlinSerial's RX interrupt.

The parser tries to find and execute M108,M112,M410 before the commands disappear in the RX-buffer.

To avoid false positives for M117, comments and commands followed by filenames (M23, M28, M30, M32, M33) are filtered.

This enables Marlin to receive and react on the Emergency command at all times - regardless of whether the buffers are full or not. It remains to convince hosts to send the commands. To inform the hosts about the new feature a new entry in the M115-report was made. "`EMERGENCY_CODES:M112,M108,M410;`".

The parser is fast. It only ever needs two switch decisions and one assignment of the new state for every character.

One problem remains. If the host has sent an incomplete line before sending an emergency command the emergency command could be omitted when the parser is in `state_IGNORE`.
In that case the host should send "\ncommand\n"

Also introduces M108 to break the waiting for the heaters in M109, M190 and M303.

Rename `cancel_heatup` to `wait_for_heatup` to better see the purpose.
2016-07-07 16:37:22 -07:00
Scott Lahteine 9f42b1a075 Merge pull request #4235 from thinkyhead/rc_revert_quickhome_test
Fix quick homing, tweak MIN_Z_HEIGHT_FOR_HOMING
2016-07-07 13:37:14 -07:00
Scott Lahteine ad968f2325 Merge pull request #4234 from thinkyhead/rc_better_position_logging
Move XYZ in print_xyz and DEBUG_POS to the front
2016-07-07 12:31:15 -07:00
Scott Lahteine 4036c73cdd Don't raise Z if only homing Z 2016-07-07 12:28:37 -07:00
Scott Lahteine 0b6f8f8244 Apply MIN_Z_HEIGHT_FOR_HOMING raise literally 2016-07-07 12:25:02 -07:00
Scott Lahteine 177ec20bf0 Revert quick-home changes 2016-07-07 12:17:34 -07:00
Scott Lahteine 9c5b462ef2 Move XYZ in print_xyz and DEBUG_POS to the front 2016-07-07 11:42:19 -07:00
Scott Lahteine 4e84c803a3 Merge pull request #4232 from thinkyhead/rc_no_axis_codes_needed
Don't use axis_codes if a literal will do
2016-07-06 20:05:16 -07:00
Scott Lahteine e2f7cb0905 Don't use axis_codes if a literal will do 2016-07-06 18:37:21 -07:00
Scott Lahteine e76aa9d79a Merge pull request #4231 from thinkyhead/rc_fix_homing_raise
Fix comment on Z raise for homing, save a few bytes
2016-07-06 16:23:29 -07:00
Scott Lahteine 6559f7359f Fix comment on Z raise for homing, save a few bytes 2016-07-06 16:21:51 -07:00
Scott Lahteine 799c60cadc Merge pull request #4217 from thinkyhead/rc_fix_homing_raise
Don't do_probe_raise with MIN_Z_HEIGHT_FOR_HOMING
2016-07-06 14:39:37 -07:00
Scott Lahteine 99a5a5dd65 Merge pull request #4228 from petrzjunior/patch-1
[LANGUAGE] Update Czech (filament change and info)
2016-07-06 14:00:31 -07:00
Scott Lahteine d7e9647505 Sanity Check for probe raises 2016-07-06 13:46:06 -07:00
Scott Lahteine d0b29cabf3 Don't re-home X and Y if you quick homed 2016-07-06 13:46:06 -07:00
Scott Lahteine e0a6b978f5 Don't do_probe_raise with MIN_Z_HEIGHT_FOR_HOMING 2016-07-06 13:46:05 -07:00
Philip Schell cf8ec1216a Update language_de.h for German translation
@MarlinFirmware/language-team my changes for the German language. Feel free to improve :)
2016-07-06 21:44:16 +02:00
petrzjunior b81b77111b Update language_cz.h 2016-07-06 21:04:34 +02:00
Scott Lahteine 7735ec5e7a Merge pull request #4223 from thinkyhead/rc_rename_heatup
Change cancel_heatup to wait_for_heatup
2016-07-06 11:25:44 -07:00
Scott Lahteine 160a2be117 Change cancel_heatup to wait_for_heatup 2016-07-06 09:17:50 -07:00
Scott Lahteine cb17871a48 Merge pull request #4207 from AnHardt/AllenKey2
Clean up, simplify and generalize the Allen-key-probe code.
2016-07-05 19:34:36 -07:00
AnHardt 16c83d203b Make use of the good features of a sled probe for all probes.
Move and extend axis_unhomed test to deploy/stow_z_probe().
Move and extend position store/restore to deploy/stow_z_probe().

Now all kinds of probes can use the 'E' parameter in G29/M48.
Allen key probes can be used now for grid and 3-point levelling.

Deploying the Allen Key probe uses big moves in z direction.
Too dangerous for an unhomed z-axis.
Throw a compile time error when we try to configure an
Allen Key probe homing to z-min and having no other z-min-endstop.
2016-07-06 04:11:04 +02:00
AnHardt 8555816a11 Generalize and simplify 'triggered when stowed test`
The `PROBE_IS_TRIGGERED_WHEN_STOWED_TEST` is able to detect if a probe is
successfully deployed/stowed.
It was part of the Allen Key probes code only.
Now the function is generally available.

Currently this test is compulsory for Allen Key probes to not alter the used behaviour
If you want to add the test for an other type of probe simply add
```
#define PROBE_IS_TRIGGERED_WHEN_STOWED_TEST
```
to your config.
2016-07-06 03:56:17 +02:00
AnHardt 5126cce7fd Move Allen Key probe move scripts to their own functions
There was an hidden extra move after the scripts. This is configurable now.
Added the extra moves to the relevant configs.
2016-07-06 03:46:40 +02:00
AnHardt 7d063c111c Add a optional feedrate parameter to do_blocking_move()
Add a optional feedrate parameter to `do_blocking_move()` and its companions.
2016-07-06 03:46:34 +02:00
Scott Lahteine 90d8bb53e8 Merge pull request #4214 from thinkyhead/fix_clear_command_queue
Allow the command queue to be cleared by commands, lcd menus
2016-07-05 16:35:55 -07:00
Scott Lahteine b114b6a0b3 Save 152 bytes using uint8_t for command indices 2016-07-05 16:29:28 -07:00
Scott Lahteine 0d4ff0c48b Allow the queue to be cleared from within commands 2016-07-05 16:25:20 -07:00
Scott Lahteine c450851401 Merge pull request #4209 from AnHardt/too-high-G28
Make raise for probe deploy relative in homeaxis()
2016-07-05 11:07:42 -07:00
Roxy-3D a3f350e728 Merge pull request #4212 from AnHardt/MBL-typo
MBL typo
2016-07-05 11:49:29 -05:00
AnHardt f799f18388 MBL typo 2016-07-05 18:19:53 +02:00
AnHardt 8b02e68cb6 Make raise for probe deploy relative in homeaxis()
Make raise for probe deploy relative in homeaxis()
by setting `current_position[axis]` to zero later.
2016-07-05 10:42:33 +02:00
Scott Lahteine e48502866b Merge pull request #3611 from alephobjects/M108_cancel_heatup
Introduce M108 cancel wait for heatup/cooldown of the hotend and bed
2016-07-04 01:19:31 -07:00
Scott Lahteine d70197f514 Merge pull request #4204 from thinkyhead/rc_fix_gcode_t_position
Additional patches for gcode_T position change
2016-07-04 01:16:22 -07:00
Scott Lahteine 869b517589 Merge pull request #4205 from thinkyhead/rc_fixup_unit_references
References to millimeters in code comments need an update
2016-07-04 01:15:34 -07:00
Scott Lahteine e104b91ea6 References to millimeters in code comments need an update 2016-07-03 20:13:29 -07:00
Scott Lahteine e604c0955e Merge pull request #4203 from AnHardt/rem_wants_to_cool_warning
Remove wants_to_cool uninitialized warning
2016-07-03 18:24:23 -07:00
AnHardt ff91d28a3a Remove wants_to_cool warning
Remove wants_to_cool warning
2016-07-04 03:12:11 +02:00
Scott Lahteine c9e536cf87 Additional patches for gcode_T position change 2016-07-03 18:11:02 -07:00
Scott Lahteine 60865fc45b Merge pull request #4202 from thinkyhead/rc_fix_gcode_t_position
Fix position adjustment with gcode_T and MBL
2016-07-03 17:55:43 -07:00
Scott Lahteine f841038313 Merge pull request #4201 from thinkyhead/rc_info_fit
Shorter labels for Print Stats info
2016-07-03 17:47:00 -07:00
Scott Lahteine f31af61ee2 Fix position adjustment with gcode_T and MBL 2016-07-03 17:44:04 -07:00
Scott Lahteine a8f5c2bf96 Merge pull request #4192 from birkett/k8400
Add Velleman K8400 board support.
2016-07-03 17:41:13 -07:00
Scott Lahteine ef8980bfa0 Shorter labels for Print Stats info 2016-07-03 16:00:24 -07:00
Scott Lahteine 4fff9872b9 Merge pull request #4200 from thinkyhead/rc_cleanup_m600
Fix compiler warnings for static screens
2016-07-03 15:44:20 -07:00
Scott Lahteine 2ed625dafa Fix compiler warnings for static screens 2016-07-03 15:26:17 -07:00
Anthony Birkett e77844594d readme.md -> README.md 2016-07-03 22:15:24 +01:00
Anthony Birkett a0b00d29e3 Add a ported example configuration for the Velleman K8400 (Vertex) printer.
Supports both dual and single head printers (with the correct config).
Includes community sourced feed rate fix.

Rename / move files.

Remove redundant definitions.
2016-07-03 22:09:08 +01:00
Scott Lahteine 5a81c132a2 Merge pull request #4199 from lrpirlet/G28_X_drills_a_hole_in_printed_part
apply correction when swtiching from MBL to physical in G28 X
2016-07-03 13:37:38 -07:00
lrpirlet 9b42c6b44b apply correction when swtiching from MBL to physical in G28 X 2016-07-03 21:43:42 +02:00
Andrea Cimbalo 46196e9ee5 Add working PlatformIO support 2016-07-03 15:33:24 +02:00
Scott Lahteine 1236a3b3ab Merge pull request #4189 from esenapaj/Follow-up-the-PR-#3662
Follow-up the PR #3662 (Rewritten FILAMENT_CHANGE_ENABLE feature)
2016-07-02 17:16:09 -07:00
esenapaj 95347fc650 Follow-up the PR #3662 (Rewritten FILAMENT_CHANGE_ENABLE feature)
・Update a forgotten Configuration_adv.h of Cartesio
2016-07-03 09:04:29 +09:00
Scott Lahteine b37e727072 Merge pull request #3662 from thinkyhead/rc_fixup_auto_filament_change
Rewritten FILAMENT_CHANGE_ENABLE feature
2016-07-02 16:20:20 -07:00
Scott Lahteine a06c5165a7 Shorter strings for smaller LCDs 2016-07-02 15:47:16 -07:00
Scott Lahteine 982f10e6a0 Use STATIC_ITEM for LCD message display 2016-07-02 15:47:15 -07:00
Petr Zahradnik 43ff0ce35f Rewritten FILAMENT_CHANGE_ENABLE feature 2016-07-02 15:34:33 -07:00
Scott Lahteine 4a8e191cec Merge pull request #4188 from thinkyhead/rc_birkett_info_menu_jul2
Printer information menu
2016-07-02 15:30:00 -07:00
Scott Lahteine b77069de01 Add a Travis test for LCD_INFO_MENU 2016-07-02 15:22:34 -07:00
Scott Lahteine 51b7820686 Patch up About Printer sub-menus 2016-07-02 15:22:34 -07:00
Scott Lahteine 439e78147d Static menu items take an optional string, LJ by default 2016-07-02 15:22:34 -07:00
Scott Lahteine fa9b2a925d Tweak spacing in printcounter.cpp 2016-07-02 15:22:33 -07:00
Scott Lahteine dbfc87cdcf Squish sanity check for build info 2016-07-02 15:22:33 -07:00
Anthony Birkett 7a377c1d75 Add "About Printer" information menu.
Includes:
  *firmware version / branch / date.
  *extruder count
  *board information (name, serial details, power supply type)
  *thermistors (names, min/max temperatures)
  *printer statistics (PRINTCOUNTER details)

Thanks to @thinkyhead for contributions.
2016-07-02 15:22:26 -07:00
Scott Lahteine 77a923d8ce Merge pull request #4186 from thinkyhead/rc_array_macros
Simplified variable-size array macros
2016-07-01 20:48:12 -07:00
Scott Lahteine e650a75b88 Simplified variable-size array macros 2016-07-01 20:36:05 -07:00
Scott Lahteine ac4f235912 Merge pull request #4167 from thinkyhead/rc_eeprom_checksum
EEPROM Checksum
2016-07-01 19:22:49 -07:00
Scott Lahteine ba00615aa4 Merge pull request #4184 from esenapaj/Tab-to-Space
Tab to Space
2016-07-01 16:34:12 -07:00
esenapaj 03b8f88092 Tab to Space 2016-07-02 08:07:33 +09:00
Scott Lahteine b4fee31a84 Merge pull request #4183 from AnHardt/do_probe_raise-asymetry
Unconditional do_probe_raise() in probe_pt()
2016-07-01 12:50:47 -07:00
AnHardt cb1b31f69b Unconditional do_probe_raise() in probe_pt()
If Z_RAISE_BETWEEN_PROBINGS is null or undefined the probe is currently not raised by home_offset[Z_AXIS] and zprobe_zoffset.
But when different from 0 is.

If an undefined Z_RAISE_BETWEEN_PROBINGS expands to 0 (and it does) this is the solution.


A similar asymmetry exists with the newly introduced 'short-cut' in G28 - but its the rise before anything is probed - so should not make a difference.
2016-07-01 15:28:41 +02:00
Scott Lahteine 7ef7843fd4 Merge pull request #4181 from thinkyhead/rc_rename_a_move_func
Do interpolated moves for Allen Key deploy/stow
2016-06-30 16:30:09 -07:00
Scott Lahteine 6b2a7b30af Extra comments to clarify EEPROM code 2016-06-30 16:28:01 -07:00
Scott Lahteine 787f394676 MAX_EXTRUDERS replaces mysterious "4" 2016-06-30 16:27:37 -07:00
Scott Lahteine bc3748b7bc Add shared Config_Postprocess for Read and Reset 2016-06-30 16:25:29 -07:00
Scott Lahteine adcd0f5de3 Some formatting in configuration_store.cpp 2016-06-30 16:25:29 -07:00
Scott Lahteine 5e370006fc EEPROM Checksum 2016-06-30 16:20:25 -07:00
Scott Lahteine 725fde8b26 Merge pull request #4169 from thinkyhead/rc_wait_but_break
Allow wait-for-cooling, break at threshold or if cooling stalls
2016-06-30 16:13:51 -07:00
Scott Lahteine da6b0dab5f Use prepare_move_to_destination for Allen Key deploy/stow 2016-06-30 16:09:43 -07:00
Scott Lahteine c42f8fb8dd Rename some movement sub-functions 2016-06-30 15:50:00 -07:00
Scott Lahteine b6b3a4afbf Merge pull request #4168 from thinkyhead/rc_viki2_for_ramps
Support for VIKI2 in RAMPS and derivatives
2016-06-30 01:48:50 -07:00
Scott Lahteine 3d9472f305 Merge pull request #4173 from thinkyhead/rc_cleanup_runout
Cleanup extruder runout configs
2016-06-30 01:47:40 -07:00
Scott Lahteine f84d85f761 Cleanup extruder runout configs 2016-06-30 01:40:41 -07:00
Scott Lahteine 5e14a528dd Always wait for cooling in M109/M190, break at low temp or if cooling stalls 2016-06-29 14:07:54 -07:00
Scott Lahteine bf216bd78f Merge pull request #4165 from thinkyhead/rc_rumba_temp_pins
Always define temp sensor, heater pins for RUMBA
2016-06-28 18:20:37 -07:00
Scott Lahteine 0b0b7aac6e Support for VIKI2 in RAMPS and derivatives 2016-06-28 18:19:18 -07:00
Scott Lahteine abda4ab427 Clean up CNControls pins 2016-06-28 16:56:48 -07:00
Scott Lahteine 683975cf90 Fix spelling in a config comment 2016-06-28 16:49:13 -07:00
Scott Lahteine 8268c0a9a0 Always define temp sensor, heater pins for RUMBA 2016-06-28 16:28:05 -07:00
Scott Lahteine db19959735 Merge pull request #4161 from thinkyhead/rc_general_cleanup
Reduce storage requirements for strings, make some PGM
2016-06-27 20:46:26 -07:00
Scott Lahteine 2e96276bf4 More debug message cleanup 2016-06-27 20:36:19 -07:00
Scott Lahteine dc2c0e5e24 Simpler debug output for deploy/stow 2016-06-27 20:36:18 -07:00
Scott Lahteine bd491818d6 Reduce storage requirements for strings, make some PGM 2016-06-27 20:36:18 -07:00
Scott Lahteine ee876dcd7a Merge pull request #4159 from thinkyhead/rc_rigidbot_diff
Rigidbot V2 support - has MCP4728 digipot
2016-06-27 20:35:22 -07:00
Scott Lahteine fdb6533730 Merge pull request #4162 from thinkyhead/rc_anhardt_sled3
Simplify dock_sled() and some more probe tweaks
2016-06-27 20:25:36 -07:00
Scott Lahteine 0c24e0e445 Support for newer Wire library 2016-06-27 20:25:03 -07:00
Scott Lahteine ddb386c139 Init DAC_DISABLE_PIN in dac_init 2016-06-27 20:25:03 -07:00
AnHardt e480ee0054 Further cleanup of G28 for probes 2016-06-27 20:19:51 -07:00
AnHardt 39883d03fc universalize axis_unhomed_error() 2016-06-27 20:19:51 -07:00
AnHardt e616093d4c Simplify dock_sled()
`dock_sled()` is never called with offset parameter - remove it.
We move x only - so only that needs to be homed. Consequence is - we can home to z-min now with a sled probe!
Feedrates are set and restored in `do_blocking_move()`.
We already checked if the probe is deployed/stowed in deploy/stow_probe.
```
if (z_loc < _Z_RAISE_PROBE_DEPLOY_STOW + 5) z_loc = _Z_RAISE_PROBE_DEPLOY_STOW;
```
makes no sense - remove.
Now the raise is the same for deploy/stow -> move before the if.
Replace the if with a ternary.
Instead writing LOW/HIGH use the boolean `stow` we already have.

There is no reason for not using the sled probe in G29/M48 with 'E'.
It takes a while but works. (tested!)
2016-06-27 20:19:51 -07:00
Scott Lahteine 6c60869409 Support DAC_OR_ADDRESS in Printrboard too 2016-06-27 12:36:21 -07:00
Scott Lahteine 593c8bf286 Support for Rigidbot V2 2016-06-27 12:35:20 -07:00
Scott Lahteine 1df63b7ef4 Merge pull request #4158 from thinkyhead/rc_has_lcd_contrast
CARTESIO_UI has lcd contrast
2016-06-27 12:24:02 -07:00
Scott Lahteine 511503ede9 CARTESIO_UI has lcd contrast 2016-06-27 12:04:49 -07:00
Scott Lahteine 71a693b3ec Merge pull request #4154 from thinkyhead/rc_probe_raise_options
Use Z_RAISE_BETWEEN_PROBINGS with MBL
2016-06-26 16:03:42 -07:00
Scott Lahteine 829c92f1ba Use Z_RAISE_BETWEEN_PROBINGS with MBL 2016-06-26 15:39:11 -07:00
Scott Lahteine eb1755208f Merge pull request #4153 from thinkyhead/rc_probe_raise_options
Combine Z raise before/after options
2016-06-26 15:30:08 -07:00
Scott Lahteine 10da7ac86c Combine Z raise before/after options 2016-06-26 13:56:30 -07:00
Scott Lahteine 9caa8941e2 Merge pull request #4149 from thinkyhead/rc_minimum_raise_in_probe_pt
Ensure a minimum height before XY move in probe_pt
2016-06-25 19:35:58 -07:00
Scott Lahteine 3fa631130f Ensure a minimum height before XY move in probe_pt 2016-06-25 19:19:31 -07:00
Scott Lahteine 815000ff32 Merge pull request #4148 from thinkyhead/3drag_delay_anhardt
Fix up delays in ST7920_SWSPI_SND_8BIT
2016-06-25 19:16:37 -07:00
Scott Lahteine a7684eef7a Squish code in ST7920 2016-06-25 18:35:15 -07:00
AnHardt b4076883cc Set testet delays for K8200, RAMBO, MINIRAMBO and ST7920 2016-06-25 18:35:15 -07:00
AnHardt 4454d80276 Decrease the needed nops to 1
by shitfing the left shift into the high phase.

```
2	cbi 0x2,1 ;set CLK                      //
1	in r18,__SREG__                         //1
1-3	sbrc r24,7                              //2-4
2	rjmp .L19                               //4
1	cli                  .L19:              //5
2	lds r25,258          lds r25,258        //7
1	andi r25,lo8(-2)     ori r25,lo8(1)     //8
2	sts 258,r25          sts 258,r25        //10
1	out __SREG__,r18     out __SREG__,r18   //11
2	.L3:                 rjmp .L3           //13     //2
2	sbi 0x2,1 ;reset CLK //                 //13-15  //2-4
1	lsl r24	 ;  val      //1
1	nop                  //2
2	cbi 0x2,1 ;set CLK   //4
...
```
2016-06-25 18:35:15 -07:00
AnHardt 56c42b572c 3 ms speedup for ST7920 and delay for BOARD_3DRAG
and saving ~1k memory
by limiting the `#pragma GCC optimize (3)` optimisation to `ultralcd_st7920_u8glib_rrd.h`. These optimisation was and is not done for all the other displays, is the reason for the big additionally use of memory, because the complete 'ultralcd.cpp' and 'dogm_lcd_implementation.h' was optimised (sadly i did not observe a change in speed).

Unrolling the loop in `ST7920_SWSPI_SND_8BIT()`, what i expected the optimiser to do, by hand, saved some speed by eliminating the loop variable (i) compares and increases. Every CPU cycle in this loop costs at least 0.5ms per display update because it's executed more than 1k times/s.

The delays are now pre-filled with the calculated values for 4.5V driven ST7920.
A way to simply add __your__ timing into the configuration was made.

At 4.5V
1.) The CLK signal needs to be at least 200ns high and 200ns low.
2.) The DAT pin needs to be set at least 40ns before CLK goes high and must stay at this value until 40ns after CLK went high.

A nop takes one processor cycle.
For 16MHz one nop lasts 62.5ns.
For 20MHz one not lasts 50ns.

To fulfill condition 1.) we need 200/62.5 = 3.2 => 4 cycles (200/50 = 4 => 4). For the low phase, setting the pin takes much longer. For the high phase we (theoretically) have to throw in 2 nops, because changing the CLK takes only 2 cycles.

Condition 2.) is always fulfilled because the processor needs two cycles (100 - 125ns) for switching the CLK pin.


Needs tests and feedback.
Especially i cant test 20MHz, 3DRAG and displays supplied wit less than 5V.
Are the delays right? Please experiment with longer or shorter delays. And give feedback.

Already tested are 5 displays with 4.9V - 5.1V at 16MHz where no delays are needed.
2016-06-25 18:35:15 -07:00
Scott Lahteine ca184d3d72 Merge pull request #4147 from thinkyhead/rc_fix_M48_raise
Fix debug output in probe_pt
2016-06-25 18:15:33 -07:00
Scott Lahteine e72bd68eaf Merge pull request #4146 from epatel/epatel/max_z_endstop
MBL: Add support for max z endstop
2016-06-25 18:05:02 -07:00
Scott Lahteine b4161cbd98 Fix debug output in probe_pt 2016-06-25 17:59:03 -07:00
Edward Patel da88b00585 MBL: Add support for max z endstop
See https://github.com/MarlinFirmware/Marlin/issues/4088
2016-06-25 21:58:02 +02:00
Scott Lahteine c8a9829387 Merge pull request #4140 from thinkyhead/rc_button_reliability
Always do a brief delay in `lcd_quick_feedback`
2016-06-24 20:05:56 -07:00
Scott Lahteine 74878d1f16 Always do a brief delay in lcd_quick_feedback 2016-06-24 14:46:10 -07:00
Scott Lahteine 7de7552069 Merge pull request #4133 from MagoKimbra/Single_home_axis_delta
Single home Axis Delta need simple sync_plan_position
2016-06-23 21:14:22 -07:00
Scott Lahteine de0e6d5f13 Merge pull request #4134 from thinkyhead/rc_followup_4021
Additional cleanup to probing/leveling
2016-06-23 20:55:49 -07:00
Scott Lahteine 15a6b49f37 Simplified probe_pt (in G30) 2016-06-23 20:25:46 -07:00
Scott Lahteine 6a7045b9bf Remove clean_up_after_endstop_move 2016-06-23 20:23:19 -07:00
Scott Lahteine 2a4f866561 Simplified probe_pt (in G29) 2016-06-23 20:22:28 -07:00
Scott Lahteine 89a2aa026b Simplified probe_pt (in M48) 2016-06-23 19:22:45 -07:00
Scott Lahteine f8530c5d1f Simplified probe_pt function (G28 grid) 2016-06-23 19:09:32 -07:00
Scott Lahteine c376c08042 Simplified probe_pt function (part 1) 2016-06-23 19:00:29 -07:00
Scott Lahteine 9a71b7f8ad Fix debug message for 3-point leveling 2016-06-23 18:17:31 -07:00
Scott Lahteine 550c03a5a9 Drop raise_z_after_probing function 2016-06-23 18:11:54 -07:00
Scott Lahteine bb38c816af Always raise in deploy_z_probe / stow_z_probe 2016-06-23 18:00:20 -07:00
Scott Lahteine 68f3350050 Cleanup M401 / M402 2016-06-23 17:04:41 -07:00
Scott Lahteine 3afda99adf Regular handlers for G31 / G32 2016-06-23 17:04:13 -07:00
Scott Lahteine 6803c8e37e Move Z up before, or down after XY, for "blocking move" 2016-06-23 15:50:13 -07:00
Scott Lahteine 03c70c1990 SERVO_DEACTIVATION_DELAY => SERVO_DELAY 2016-06-23 14:33:29 -07:00
MagoKimbra 570f3bbc07 Single home Axis Delta need simple sync_plan_position 2016-06-23 23:09:47 +02:00
Scott Lahteine 61f34eec03 Merge pull request #4125 from jbrazio/bugfix/planner-warning
Fixes some compiler warnings
2016-06-22 19:34:37 -07:00
Scott Lahteine bdcd628896 Merge pull request #4126 from thinkyhead/rc_lin_timing_patch
Patch LIN_ADVANCE timing issue
2016-06-22 19:24:44 -07:00
João Brázio 664232140d Fixes somes compiler warnings 2016-06-23 03:12:55 +01:00
Scott Lahteine 6e5e388861 Merge pull request #4021 from thinkyhead/rc_raise_z_for_servos
Make probes independent of leveling
2016-06-22 19:10:37 -07:00
Sebastianv650 0c5192b288 Patch LIN_ADVANCE timing issue
Also the extruder stepper ISR has to keep an eye on step_loops count.
2016-06-22 19:05:14 -07:00
Scott Lahteine d4134e6901 Define Z_SAFE_HOMING point when Z_PROBE_SLED is activated alone 2016-06-22 17:51:32 -07:00
Scott Lahteine 7b2fadd598 Apply some fixes from Andreas
Derived from
https://github.com/AnHardt/Marlin/commit/6e8ede8c694fa4d9e3c769840b09d56
7f8d8e0dd
2016-06-22 17:35:59 -07:00
Scott Lahteine bd01592816 Goodbye MECHANICAL_PROBE 2016-06-22 17:13:33 -07:00
Scott Lahteine 2640d13a9f Simplify initial raise in M48 2016-06-22 16:53:04 -07:00
Scott Lahteine 3763d45656 Return Z position in run_z_probe 2016-06-22 16:52:32 -07:00
Scott Lahteine 1f48b5c30f Pass a raise to probe_pt, not a Z position 2016-06-22 16:40:21 -07:00
Scott Lahteine 6fdd5ba246 Save and restore feedrate in more places 2016-06-22 16:40:20 -07:00
Scott Lahteine fe173c2bc6 Generalized probe raise, use for after probing 2016-06-22 14:44:30 -07:00
Scott Lahteine 7da3080761 Simpler cleanup in G28 / G29 2016-06-22 14:44:30 -07:00
Scott Lahteine 15229d988b Fix compile error for bed matrix in M48 2016-06-22 14:04:46 -07:00
Scott Lahteine c01352cbd5 Add a dependency for z servo macros 2016-06-22 14:04:23 -07:00
Scott Lahteine c3794bd695 Add HAS_PROBING_PROCEDURE conditional 2016-06-22 14:03:22 -07:00
Scott Lahteine 42ce60c5cc Make sure NUM_SERVOS is set for Z servo endstop 2016-06-22 14:01:19 -07:00
Scott Lahteine b590a7dee0 Make Z_RAISE_BETWEEN_PROBINGS a more general option 2016-06-22 14:00:44 -07:00
Scott Lahteine bb9c67b4b5 Tweak some feedrate vars 2016-06-22 03:27:31 -07:00
Scott Lahteine 5158bd6e93 Screen out G29 E for sled and allen key, allow single probe 2016-06-22 03:20:33 -07:00
Scott Lahteine ccae92588d Cleanup debug in G28 and G29 2016-06-22 03:20:33 -07:00
Scott Lahteine b4a9d2366c Use a macro for kinematic sync_plan_position 2016-06-22 03:20:33 -07:00
Scott Lahteine bfccf26294 Use sync_plan_position_delta where needed 2016-06-22 03:20:33 -07:00
Scott Lahteine a6b8c67df4 Move probe deploy after setup call in G29 2016-06-22 03:20:33 -07:00
Scott Lahteine e69916d1bd Split up endstop_move functions 2016-06-22 03:20:33 -07:00
Scott Lahteine 0e18a4897b Simpler handling of sled/allen-key in probe_pt 2016-06-22 03:20:33 -07:00
Scott Lahteine 1a92e2ef18 Comment on run_z_probe 2016-06-22 03:20:33 -07:00
Scott Lahteine 68e0e5855e For all probes, at the end of G29 simply raise and stow 2016-06-22 03:20:33 -07:00
Scott Lahteine c3023f8cc5 Make M401/M402 available with HAS_BED_PROBE 2016-06-22 03:20:33 -07:00
Scott Lahteine 9f0c255c69 Show uncorrected position in set_bed_level_equation_3pts 2016-06-22 03:20:33 -07:00
Scott Lahteine 07298ac992 Initialize current_position to home_offset on boot 2016-06-22 03:20:33 -07:00
Scott Lahteine f30df89ee1 Merge pull request #4122 from thinkyhead/rc_xy_travel_feedrate
Make XY Probe (travel) Speed available in G28
2016-06-22 03:18:54 -07:00
Scott Lahteine bd99a2bcff Add a Travis test of Z Safe Homing without ABL 2016-06-22 03:06:54 -07:00
Scott Lahteine d50539583a Make XY_PROBE_SPEED a general probe option 2016-06-22 03:04:47 -07:00
Scott Lahteine 2798499b71 XY_TRAVEL_SPEED => XY_PROBE_SPEED 2016-06-22 02:45:25 -07:00
Scott Lahteine 88dc543584 Add a macro for XY_TRAVEL_FEEDRATE 2016-06-22 02:23:50 -07:00
Scott Lahteine 937123ab32 Merge pull request #4119 from thinkyhead/fix_stepper_compile_error
Fix stepper compile error with motor_current_setting
2016-06-21 20:25:27 -07:00
Scott Lahteine 528df1b02d Travis test for MINIRAMBO and PWM_MOTOR_CURRENT 2016-06-21 19:50:09 -07:00
Scott Lahteine 117db77c55 make motor_current_setting static and constexpr 2016-06-21 19:50:08 -07:00
Scott Lahteine 111260f407 Merge pull request #4118 from thinkyhead/bq_update_rebase
Update bq Hephestos 2 config
2016-06-21 18:18:48 -07:00
João Brázio 19fb04d761 Update bq Hephestos 2 config 2016-06-21 18:15:51 -07:00
Scott Lahteine b0e47608e6 Merge pull request #4108 from esenapaj/Fix-for-PR-#4093
Fix for PR #4093 (Make Z Probe options independent of ABL), etc
2016-06-21 18:12:08 -07:00
Scott Lahteine c84732e605 Merge pull request #4111 from esenapaj/Cosmetic-changes-and-small-fix-for-thermistortables.h
Cosmetic changes and small fix for thermistortables.h
2016-06-21 18:05:32 -07:00
Scott Lahteine cdc661ea5e Merge pull request #4110 from esenapaj/Small-cosmetic-changes-for-language-files
Small cosmetic changes for language files
2016-06-21 18:04:12 -07:00
Scott Lahteine c8186e9423 Merge pull request #4109 from esenapaj/Enclose-#error-string-by-double-quotes
Enclose #error string by double-quotes
2016-06-21 18:03:30 -07:00
Scott Lahteine d8dcc4ac57 Merge pull request #4117 from thinkyhead/rc_i2c_comment_fix
Fix comments on EXPERIMENTAL_I2CBUS
2016-06-21 18:00:36 -07:00
Scott Lahteine 40cd20a236 Fix comments on EXPERIMENTAL_I2CBUS 2016-06-21 17:58:44 -07:00
Scott Lahteine 67750d73ef Merge pull request #4107 from thinkyhead/rc_fixup_M48_config
Clean up configs for Z_MIN_PROBE_REPEATABILITY_TEST
2016-06-21 14:56:35 -07:00
esenapaj 385945ca31 Cosmetic changes and small fix for thermistortables.h
・Adjust spacing
・Standardize comments position
・Remove ',' at the tail of array
2016-06-21 21:19:47 +09:00
esenapaj fac58f0291 Cosmetic changes for language files 2016-06-21 21:13:25 +09:00
esenapaj 14b661b9e5 Enclose #error string by double-quotes 2016-06-21 21:06:14 +09:00
esenapaj d583ea852d Standardize format description of Panel 2016-06-21 20:51:27 +09:00
esenapaj aa6d35bd49 Move code block of probe to appropriate position 2016-06-21 20:36:46 +09:00
esenapaj 740fb2ce39 Adjust spacing 2016-06-21 19:37:45 +09:00
esenapaj f77f3ffa70 Remove duplicated Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX 2016-06-21 19:33:45 +09:00
Scott Lahteine 19fe93a5a9 Clean up configs for Z_MIN_PROBE_REPEATABILITY_TEST 2016-06-21 03:10:46 -07:00
Scott Lahteine 71a7408012 Merge pull request #4106 from thinkyhead/rc_temp_compile_err
Fix compile error with watch_bed_next_ms
2016-06-21 02:48:46 -07:00
Scott Lahteine 5e469622c9 Merge pull request #4105 from thinkyhead/rc_combine_probe_blocks
Move raise_z_after_probing into earlier block
2016-06-21 02:14:38 -07:00
Scott Lahteine dcb8ec32ee Fix compile error with watch_bed_next_ms 2016-06-21 02:13:41 -07:00
Scott Lahteine 3996242e9d Allow Z_MIN_PROBE_REPEATABILITY_TEST solo 2016-06-21 01:56:40 -07:00
Scott Lahteine 26a9cd0b08 Move run_z_probe to earlier block 2016-06-21 01:25:23 -07:00
Scott Lahteine 7f8a2025af Move raise_z_after_probing into earlier block 2016-06-21 01:03:40 -07:00
Scott Lahteine 71534dc11f Merge pull request #4100 from thinkyhead/rc_z_deploy
Use deploy/stow with FIX_MOUNTED_PROBE too
2016-06-21 00:40:48 -07:00
Scott Lahteine 6563b07879 Test for mechanical and fix mounted probes 2016-06-20 16:40:44 -07:00
Scott Lahteine 2530371516 Always disable probe at the end of G29 2016-06-20 16:40:44 -07:00
Scott Lahteine 6aba98e470 Comment on setup_for_endstop_move 2016-06-20 16:40:44 -07:00
Scott Lahteine 04e88d008e Clear up ordering in G30 2016-06-20 16:40:44 -07:00
Scott Lahteine ed75b0ea11 Make clean_up function available for probes 2016-06-20 16:28:45 -07:00
Scott Lahteine 51d52cb52a Make run_z_probe available for any bed probe 2016-06-20 16:02:36 -07:00
Scott Lahteine f6b09cf465 Always use deploy/stow for dock_sled 2016-06-20 15:51:01 -07:00
Scott Lahteine 3b457c2dd3 Use deploy/stow with FIX_MOUNTED_PROBE too 2016-06-20 15:25:01 -07:00
Scott Lahteine 524f6d9bd6 Merge pull request #4096 from thinkyhead/rc_always_raise_servo
Always raise Z (if needed) for servo deploy/stow
2016-06-19 20:40:06 -07:00
Scott Lahteine 7e9d4a68d4 Always raise Z (if needed) for servo deploy/stow 2016-06-19 20:17:13 -07:00
Scott Lahteine 9beb3f2f5e Merge pull request #4097 from thinkyhead/rc_fil_runout_cleanup
FIL_RUNOUT_INVERTING false by default
2016-06-19 19:46:14 -07:00
Scott Lahteine f215b30932 Merge pull request #4093 from thinkyhead/rc_probe_without_abl
Make Z Probe options independent of ABL
2016-06-19 19:44:25 -07:00
Scott Lahteine 2fd2301928 FILRUNOUT => FIL_RUNOUT 2016-06-19 19:25:26 -07:00
Scott Lahteine dfbf8b3c2c FIL_RUNOUT_INVERTING false by default 2016-06-19 19:25:26 -07:00
Scott Lahteine 7b5cd314a5 Merge pull request #4095 from thinkyhead/rc_fil_runout_cleanup
Improve FILAMENT_RUNOUT_SENSOR, FILRUNOUT_PIN
2016-06-19 18:48:18 -07:00
Scott Lahteine 42ccb5b0df Travis test a servo probe without ABL 2016-06-19 18:47:27 -07:00
Scott Lahteine de12228758 Make Z Probe options independent of ABL 2016-06-19 18:47:27 -07:00
Scott Lahteine add0032820 Improve FILAMENT_RUNOUT_SENSOR, FILRUNOUT_PIN 2016-06-19 18:13:33 -07:00
Scott Lahteine 15a5eeb740 Merge pull request #4094 from thinkyhead/rc_cartesio_config
Cartesio UI display option in all configs
2016-06-19 17:43:25 -07:00
Scott Lahteine f8c278ce4d Cartesio UI display option in all configs 2016-06-19 17:39:46 -07:00
Scott Lahteine 43ec24158e Merge pull request #4092 from thinkyhead/rc_sd_error
Output a message for SD read errors
2016-06-19 17:30:29 -07:00
Scott Lahteine 400e13d136 Output a message for SD read errors 2016-06-19 17:14:56 -07:00
Roxy-3D 96b8bcca84 Merge pull request #4081 from thinkyhead/rc_tweaky_m48_tweaks
Cleanup of M48
2016-06-18 22:21:16 -05:00
Scott Lahteine b7e3c1bbc4 Tweak M48 output conditions 2016-06-18 16:17:53 -07:00
Scott Lahteine b714fb644c Merge pull request #4085 from thinkyhead/rc_fix_M851
Fix M851
2016-06-18 15:42:52 -07:00
Scott Lahteine 1dad912b03 Adjust M48 raise / move handling 2016-06-18 15:38:24 -07:00
Scott Lahteine 46d3ef2223 Simplify sample_set probe_pt call in M48 2016-06-18 15:38:23 -07:00
Scott Lahteine a647b05f82 Shrink some debug code in G28 2016-06-18 15:38:23 -07:00
Scott Lahteine 4edf813bde Just-in-time declaration style in M48 2016-06-18 15:38:23 -07:00
Juan Ricardo Gomez Anaya c475291e19 Fix M851
Minor change missing in the process of standardize the gcode M851
2016-06-18 15:19:07 -07:00
Scott Lahteine e35583888c Merge pull request #4082 from esenapaj/Follow-up-the-PR-#4065
Follow-up the PR #4065 (Remove support for XY servo endstops)
2016-06-18 03:31:12 -07:00
Scott Lahteine 6dff52d920 Merge pull request #4078 from RicardoGA/Language_Spanish
Update Spanish Language
2016-06-18 03:28:46 -07:00
Scott Lahteine da526f6ba9 Merge pull request #4080 from thinkyhead/rc_probe_feedrates
Save / restore feedrate in probing functions
2016-06-18 02:44:52 -07:00
esenapaj d55b94d606 Follow-up the PR #4065 (Remove support for XY servo endstops)
・Update a forgotten Configuration.h of Cartesio
2016-06-18 18:01:58 +09:00
Scott Lahteine 4e860babbc Allow setting xy_travel_speed for delta leveling also 2016-06-18 01:40:49 -07:00
Scott Lahteine d36d4edd80 Tweak partial homing code 2016-06-18 01:16:50 -07:00
Scott Lahteine d3a05de96e Save and restore feedrate in probe functions 2016-06-18 01:16:26 -07:00
Juan Ricardo Gomez Anaya 5991eb428f Update Spanish Language
Spanish language update and also add missing messages
2016-06-18 00:27:04 -05:00
Scott Lahteine f33bd0bb10 Merge pull request #4077 from thinkyhead/rc_delete_old_macros
Delete some obsolete Z servo macros
2016-06-17 18:59:16 -07:00
Scott Lahteine 599154f9e2 Merge pull request #4076 from thinkyhead/rc_stop_print
Add an SD Card stop function, use in ultralcd
2016-06-17 18:53:29 -07:00
Scott Lahteine defcacc1a9 Delete some obsolete Z servo macros 2016-06-17 18:49:17 -07:00
Scott Lahteine bbf5b486c3 Add an SD Card stop function, use in ultralcd 2016-06-17 18:27:14 -07:00
Scott Lahteine 3a150f07c2 Merge pull request #4073 from thinkyhead/rc_temp_mystery
Minor tweaks to M109 / M190
2016-06-17 17:49:50 -07:00
Scott Lahteine c53d6441d1 Merge pull request #4074 from thinkyhead/rc_fix_gitignore
.gitignore comments in correct format
2016-06-17 17:48:23 -07:00
Scott Lahteine 17bd77031f .gitignore comments in correct format 2016-06-17 17:47:07 -07:00
Scott Lahteine bd4ec727e7 Merge pull request #4066 from thinkyhead/rc_M851_with_probe
Make M851 standard with a bed probe
2016-06-17 17:32:55 -07:00
Scott Lahteine 692a6e7c91 Merge pull request #4065 from thinkyhead/rc_goodbye_xy_servos
Remove support for XY servo endstops
2016-06-17 17:32:08 -07:00
Scott Lahteine de177ba6c9 Minor tweaks to M109 / M190 2016-06-17 17:26:21 -07:00
Scott Lahteine eab44b30d4 Safety and serial sections 2016-06-17 15:19:43 -07:00
Scott Lahteine fc56a547d1 Rename movement section to motion 2016-06-17 15:19:43 -07:00
Scott Lahteine a8b8796cd7 Define probe offsets when a probe exists 2016-06-17 15:19:42 -07:00
Scott Lahteine 1000563d80 Make M851 standard with a bed probe 2016-06-17 15:19:42 -07:00
Scott Lahteine f66a194159 Merge pull request #4062 from jbrazio/bugfix/compiler-warnings
Fixes misc gcc warnings
2016-06-17 14:23:28 -07:00
Scott Lahteine e189f6a842 Patch Travis test for bed leveling 2016-06-17 14:20:18 -07:00
Scott Lahteine 1bed392c68 HAS_Z_ENDSTOP_SERVO => HAS_Z_SERVO_ENDSTOP 2016-06-17 14:20:17 -07:00
Scott Lahteine 47ce810f52 Remove support for XY servo endstops 2016-06-17 14:19:17 -07:00
Scott Lahteine 7641f414cf Merge pull request #4069 from esenapaj/Follow-up-the-PR-#4055
Follow-up the PR #4055 (Croatian language support)
2016-06-17 14:13:37 -07:00
Scott Lahteine dbb6d1ef45 Merge pull request #4071 from token47/patch-1
Update README.md
2016-06-17 14:11:32 -07:00
Andre Ruiz d087ae0b9f Update README.md 2016-06-17 17:02:18 -03:00
João Brázio d1e5dc6319 Fixes misc gcc warnings 2016-06-17 20:24:24 +01:00
esenapaj c5eecb11b2 Follow-up the PR #4055 (Croatian language support)
・Update a forgotten Configuration.h of Cartesio
2016-06-17 21:20:15 +09:00
Scott Lahteine cabb71ff38 Merge pull request #4064 from jbrazio/feature/update-gitignore
Updates .gitignore
2016-06-16 18:24:23 -07:00
João Brázio e7ab26dc9c Updates .gitignore 2016-06-17 01:50:51 +01:00
Scott Lahteine d991a4c24a Merge pull request #4063 from thinkyhead/rc_remove_swp_files
Delete mysterious .swp files from #3609
2016-06-16 17:22:48 -07:00
Scott Lahteine 8d8cbef1de Merge pull request #4055 from thinkyhead/rc_croatian_language
Croatian language support
2016-06-16 17:22:25 -07:00
Scott Lahteine ebbed2975e Delete mysterious .swp files from #3609 2016-06-16 16:42:03 -07:00
Scott Lahteine c42b1364b2 Merge pull request #4045 from thinkyhead/rc_max_feedrate_is_mm_s
Fix feedrate in gcode_T (max_feedrate is mm/s)
2016-06-16 16:23:22 -07:00
Scott Lahteine 02e5dad29a Include Croatian in language listings 2016-06-16 16:18:26 -07:00
Scott Lahteine 2015aad867 Tweak Croatian language file heading 2016-06-16 16:09:57 -07:00
Robert Marko 884bc63fbe Add Croatian language 2016-06-16 16:09:57 -07:00
Scott Lahteine ef3bef6b9e Fix feedrate in gcode_T (max_feedrate is mm/s) 2016-06-16 16:03:14 -07:00
Scott Lahteine 9030ceec1d Merge pull request #4056 from thinkyhead/rc_mfinit
Script to init the upstream remote for Marlin
2016-06-16 15:44:14 -07:00
Scott Lahteine 4640974e1b Merge pull request #4060 from esenapaj/Follow-up-the-PR-#4053
Follow-up and improvement the PR #4053 (CNControls Cartesio UI Support)
2016-06-16 15:44:00 -07:00
Scott Lahteine 340f97d635 Add ghtp script to set remotes to HTTP or SSL 2016-06-16 12:56:39 -07:00
Scott Lahteine 55edb37b52 Merge pull request #4058 from MagoKimbra/gcode_T
Fix gcode_T
2016-06-16 12:54:21 -07:00
esenapaj 106227540e Follow-up and improvement the PR #4053 (CNControls Cartesio UI Support)
・Add implimantation of PR #3609 to configuration files of Cartesio
・Standardize macro names
2016-06-16 19:22:31 +09:00
MagoKimbra 008d0637dd Fix gcode_T 2016-06-16 09:05:36 +02:00
Scott Lahteine cd9ecfdcb1 Merge pull request #4057 from thinkyhead/rc_babysteps_mm
Babystepping show millimeters on LCD
2016-06-15 23:03:46 -07:00
edwilliams16 114d9db7d0 Show babysteps on the LCD in mm, not steps 2016-06-15 23:03:24 -07:00
Scott Lahteine b410bf933b Merge pull request #4053 from thinkyhead/rc_cartesio_redo
CNControls Cartesio UI Support
2016-06-15 22:33:45 -07:00
Scott Lahteine 4fa05913c3 Script to init the upstream remote for Marlin 2016-06-15 22:24:10 -07:00
Scott Lahteine f639044c24 Merge pull request #3609 from jbrazio/feature/config-version
Adds versioning for Configuration.h & Configuration_adv.h
2016-06-15 22:09:47 -07:00
Scott Lahteine 4d2cb70152 Cartesio UI Support 2016-06-15 21:46:54 -07:00
Scott Lahteine da90bbe0eb Merge pull request #4010 from thinkyhead/rc_toolchange_adjust
Fixup position adjustment on toolchange
2016-06-15 21:10:33 -07:00
Scott Lahteine 948c467e16 Merge pull request #4043 from AnHardt/save_delay
Introduce save_delay()
2016-06-15 21:06:43 -07:00
Scott Lahteine 4b93989a77 MBL Z adjustment on toolchange 2016-06-15 20:49:36 -07:00
Scott Lahteine 9c800d1f8c Position adjustment for bed leveling 2016-06-15 20:49:36 -07:00
Scott Lahteine 8c7babb70f Merge pull request #4049 from esenapaj/Fix-for-the-PR-#4023
Fix for the PR #4023(Add macros to move servos)
2016-06-15 20:39:46 -07:00
Scott Lahteine 2d6de3e592 Merge pull request #4047 from Alex9779/Fix/ultralcd_move_e
RCBugFix with UltraLCD active does not compile
2016-06-15 20:38:41 -07:00
AnHardt 1219310622 Introduce save_delay()
Introduce save_delay() for long delays what otherwise would cause
watchdog resets

Explizit lcd_set_custom_characters(false) at the end of bootscreen().
Else the charset is not proper set in case of LCD_PROGRESS_BAR.
2016-06-15 18:11:55 +02:00
esenapaj 44f091a413 Fix for the PR #4023(Add macros to move servos)
・Add missing ')'
2016-06-15 22:34:55 +09:00
Alexander Leisentritt c2b7ef1e7e "e" was renamed to "eindex" in a previous commit 2016-06-15 11:11:16 +02:00
Scott Lahteine 52ac2a62ee Merge pull request #4013 from thinkyhead/rc_toolchange_no_move
Use "Tn S1" to change tools without moving
2016-06-14 20:13:01 -07:00
Scott Lahteine d2a00b74e3 Merge pull request #4004 from thinkyhead/rc_feedrate_in_gcode_T
Use linear feedrate in gcode_T, not volumetric
2016-06-14 20:10:08 -07:00
Scott Lahteine 0ad26d0de8 Merge pull request #4034 from AnHardt/custom-splash-screen
Custom Splash Screen
2016-06-14 18:51:39 -07:00
Jochen Groppe 574c938ab9 Merge pull request #4040 from esenapaj/Follow-up-the-PR-#3676
Follow-up the PR #3676(Advance extrusion algorithm – LIN_ADVANCE)
2016-06-14 19:22:49 +02:00
esenapaj 741cda0e47 Follow-up the PR #3676(Advance extrusion algorithm – LIN_ADVANCE)
・Update forgotten example configurations
2016-06-15 00:10:15 +09:00
AnHardt 02b3d6b8d3 Custom Splash Screen
Custom Splash Screen for full graphic displays.

Too complicated for the hitachis without knowing what exactly to display.

On top of #4032
Realisation of an idea from #3996
2016-06-14 09:39:28 +02:00
Scott Lahteine 78a48d7e3c Merge pull request #4038 from thinkyhead/rc_fix_heater_off
Fix broken DISABLE_HEATER macro
2016-06-13 20:58:34 -07:00
Scott Lahteine ee5be92206 Fix broken DISABLE_HEATER macro 2016-06-13 20:57:58 -07:00
Scott Lahteine fc4fb9eba1 Merge pull request #4036 from thinkyhead/rc_lin_advance_feature
Parse M905 args in Marlin_main.cpp
2016-06-13 19:26:29 -07:00
Scott Lahteine 8d8180e028 Parse M905 args in Marlin_main.cpp 2016-06-13 19:25:28 -07:00
Scott Lahteine e7e57f0eb4 Merge pull request #4035 from thinkyhead/rc_lin_advance_feature
Patch LIN_ADVANCE to use code_value_float
2016-06-13 18:55:14 -07:00
Scott Lahteine 2b340f5acb patch LIN_ADVANCE to use code_value_float 2016-06-13 18:54:25 -07:00
Scott Lahteine b708196770 Merge pull request #4032 from AnHardt/bootscreen-delay
Show bootscreen later
2016-06-13 18:27:05 -07:00
Scott Lahteine 587de1b6b6 Merge pull request #3676 from thinkyhead/rc_lin_advance_feature
Advance extrusion algorithm – LIN_ADVANCE
2016-06-13 18:04:58 -07:00
Scott Lahteine 738f414d2b Merge pull request #4029 from tnw513/FixLangIt
Update to language_it.h
2016-06-13 18:01:51 -07:00
AnHardt b4fedec0d1 Show bootscreen later
Init display and show bootscreen later, but init display in `kill()`
to init outputs before the bootscreen delays but being able to display
kill errors.
2016-06-14 01:59:50 +02:00
Silvio Didonna 08e2c5a6ea Added and translated some strings from language_en 2016-06-13 13:04:09 +02:00
Silvio 29337db206 Merge pull request #3 from MarlinFirmware/RCBugFix
update to latest rcbugfix
2016-06-13 12:47:42 +02:00
Scott Lahteine 17c86349c0 Merge pull request #4020 from thinkyhead/rc_test_M600
Fix Travis test for FILAMENTCHANGEENABLE
2016-06-12 18:50:26 -07:00
Scott Lahteine b4c37a676f Merge pull request #4025 from thinkyhead/rc_fix_ultralcd_move_e
Fix manual move for multiple extruders
2016-06-12 17:27:36 -07:00
Scott Lahteine 4d2119f83a _lcd_move => _lcd_move_xyz 2016-06-12 17:14:19 -07:00
Scott Lahteine 811967923a Fix manual_move to move the correct E stepper 2016-06-12 17:14:19 -07:00
Scott Lahteine 0d0b751498 Merge pull request #4023 from thinkyhead/rc_servo_macros
Add macros to move servos
2016-06-12 15:45:39 -07:00
Scott Lahteine 4fbe818163 Add macros to move servos 2016-06-12 15:38:30 -07:00
Scott Lahteine 9a1dfd0f5f Fix Travis test for FILAMENTCHANGEENABLE 2016-06-12 14:24:56 -07:00
Scott Lahteine e51f8df097 Merge pull request #4014 from thinkyhead/rc_one_less_ultipanel_cond
No need to check ULTIPANEL with DOGLCD
2016-06-11 17:39:42 -07:00
Scott Lahteine b322ac4417 No need to check ULTIPANEL with DOGLCD 2016-06-11 16:50:06 -07:00
João Brázio 8ccd97e7cc Updated all example configuration files 2016-06-12 00:36:15 +01:00
Scott Lahteine c7eeb09e8f Merge pull request #4012 from Blue-Marlin/watchdoghealing
Heal the watchdog
2016-06-11 16:18:22 -07:00
Scott Lahteine 7fb69e24fb Use "Tn S1" to change tools without moving 2016-06-11 15:58:45 -07:00
Scott Lahteine 2f1bf8373b Merge pull request #4005 from thinkyhead/rc_prepare_move_destination
Clarify names of prepare_move functions
2016-06-11 15:51:58 -07:00
João Brázio de8108648f Added a versioning system to the config files 2016-06-11 23:48:10 +01:00
Blue-Marlin efe719f898 Heal the watchgog 2016-06-12 00:34:31 +02:00
Scott Lahteine b75e648f2c Clarify names of prepare_move functions 2016-06-11 15:32:49 -07:00
Scott Lahteine d50ba08246 Merge pull request #4011 from thinkyhead/rc_manual_move_cond
Wrap all items depending on ULTIPANEL
2016-06-11 15:26:52 -07:00
Scott Lahteine ae9b09fe94 menu => screen 2016-06-11 14:53:39 -07:00
Scott Lahteine 45ea8749d3 Wrap all items depending on ULTIPANEL 2016-06-11 14:27:34 -07:00
Scott Lahteine ddbb05fd8d Merge pull request #3998 from jbrazio/bugfix/better-regex
Improves travis buildroot regexp
2016-06-11 13:40:58 -07:00
João Brázio 9b3a0895fd Upgrades travis Arduino IDE version to 1.6.9 2016-06-11 02:55:09 +01:00
João Brázio 280af07b4c Improves travis buildroot regexp 2016-06-11 02:55:09 +01:00
Scott Lahteine 0e2bfd0769 Use linear feedrate in gcode_T, not volumetric 2016-06-10 18:27:01 -07:00
Scott Lahteine bf8710d522 Merge pull request #4001 from Blue-Marlin/manage_manual_move-ULTIPANEL
manage_manual_move(); -> ULTIPANEL
2016-06-10 17:17:57 -07:00
Scott Lahteine 93ffa0288c Merge pull request #4003 from jbrazio/bugfix/3999
Closes #3999: Compilation error with BEEPER_PIN -1
2016-06-10 17:15:23 -07:00
João Brázio 2c34ec2bac Closes #3999: Compilation error with BEEPER_PIN -1 2016-06-11 00:12:49 +01:00
Blue-Marlin 378ff92e98 manage_manual_move(); -> ULTIPANEL
Makr the call of   `manage_manual_move() ` depandent of `ULTIPANEL`
2016-06-10 23:36:57 +02:00
Scott Lahteine 45b701d38c Travis test for LIN_ADVANCE 2016-06-09 21:03:27 -07:00
Scott Lahteine aad9c0ed8d Apply updated ISR timing code 2016-06-09 21:03:27 -07:00
Scott Lahteine 506d78b2f8 Run the advance_isr faster instead of doing multiple e-steps per interrupt 2016-06-09 21:03:27 -07:00
Scott Lahteine 6d62a4ffc8 Patch LIN_ADVANCE for style and forward-compatibility 2016-06-09 21:03:27 -07:00
Sebastianv650 fb8e880734 Add LIN_ADVANCE 2016-06-09 21:03:27 -07:00
Scott Lahteine e2d4919c01 Merge pull request #3991 from thinkyhead/rc_axis_units
Rename some vars to clarify their relationship to acceleration
2016-06-09 20:57:01 -07:00
Scott Lahteine 4a212f707b Merge pull request #3993 from jbrazio/feature/update-travis
Update travis to test for ULTRA and DOG LCD options
2016-06-09 20:56:07 -07:00
Scott Lahteine 74060f17b7 Merge pull request #3995 from thinkyhead/rc_nonblocking_buzzer
New feature: Non blocking tone queue
2016-06-09 20:55:29 -07:00
João Brázio d13c86f6f6 Adds travis test for SPEAKER 2016-06-09 20:38:23 -07:00
Scott Lahteine a82c755a35 Fix BQ_LCD_SMART_CONTROLLER pin compiler warnings 2016-06-09 20:38:23 -07:00
João Brázio 5b5aa1572b Non-blocking buzzer 2016-06-09 20:20:05 -07:00
Scott Lahteine 27d5794298 Merge pull request #3992 from thinkyhead/rc_pid_autotune_e_range
Throw an error in PID_autotune for E < -1
2016-06-09 20:07:27 -07:00
João Brázio 24e70c915d Update travis to test for ULTRA and DOG LCD options 2016-06-10 02:25:37 +01:00
Scott Lahteine 72c6f2923f axis_steps_per_unit => axis_steps_per_mm 2016-06-09 17:04:51 -07:00
Scott Lahteine 446515ab79 Adjust spacing in block_t 2016-06-09 17:04:51 -07:00
Scott Lahteine 80ab749563 Rename acceleration locals for clarity 2016-06-09 17:04:51 -07:00
Scott Lahteine 3b08eb1eeb acceleration_st => acceleration_steps_per_s2 2016-06-09 17:04:51 -07:00
Scott Lahteine cb4704e07a Rename some planner acceleration vars
- `per_sq_second` => `per_s2`
- `per_sqr_second` => `per_s2`
- `axis_steps_per_sqr_second` => `max_acceleration_steps_per_s2`
2016-06-09 17:04:50 -07:00
Scott Lahteine 3c68be79dc Throw an error in PID_autotune for E < -1 2016-06-09 16:41:53 -07:00
Scott Lahteine 26f8f54c56 Merge pull request #3985 from thinkyhead/rc_inch_fahrenheit_kelvin
Support inches, fahrenheit, and kelvin
2016-06-08 20:10:33 -07:00
Scott Lahteine f0a5b7f0bc Merge pull request #3986 from thinkyhead/rc_mbl_forward_iteration
Use memset in mbl.reset to save 58 bytes
2016-06-08 17:33:41 -07:00
Scott Lahteine 38279a02b2 Travis tests for Inch, Fahrenheit, Kelvin, M100 2016-06-08 17:12:54 -07:00
Scott Lahteine 0b3142b45b Remove redundant declarations from M100 code 2016-06-08 17:09:34 -07:00
Scott Lahteine 4980ecc1f7 Smaller binary using inline gcode argument getters 2016-06-08 17:03:28 -07:00
Reid Rankin 16212432c9 G20/21 and M149 support, and code_value() refactor
This is an update of MarlinDev PR #196.

G20/21: support for switching input units between millimeters and
inches.
M149: support for changing input temperature units.

In support of these changes, code_value() and code_value_short() are
replaced with an array of functions which handle converting to the
proper types and/or units.
2016-06-08 16:51:10 -07:00
Scott Lahteine a569e89775 Merge pull request #3978 from thinkyhead/rc_planner_local_rename
Rename some auto/locals to avoid name conflict
2016-06-08 16:41:57 -07:00
Scott Lahteine 2d55862499 Use memset in mbl.reset to save 58 bytes 2016-06-08 16:05:18 -07:00
Scott Lahteine 9b42658faf Merge pull request #3983 from thinkyhead/rc_fix_ftostr
Cleanup and naming for number-to-string functions
2016-06-08 14:21:16 -07:00
Scott Lahteine b23f710034 Cleanup and naming for num-to-string functions 2016-06-08 13:12:27 -07:00
Scott Lahteine 3d56b9d127 Merge pull request #3979 from thinkyhead/mbl_cell
MBL: cel => cell
2016-06-07 19:12:46 -07:00
Scott Lahteine cca047424d MBL: cel => cell 2016-06-07 19:10:39 -07:00
Scott Lahteine 08a9bd017b Merge pull request #3976 from petrzjunior/rc_lang_cz_160607
[Language] Update Czech 2016/06/07
2016-06-07 18:05:44 -07:00
Scott Lahteine 49ecaf774d Rename some auto/locals to avoid name conflict 2016-06-07 15:38:45 -07:00
petrzjunior 9171a3d94f Update Czech language 2016/06/07 2016-06-07 19:25:15 +02:00
Scott Lahteine 5e6fdbb4cb Merge pull request #3963 from thinkyhead/rc_advance_steppers
Use e_steps[EXTRUDERS] instead of e_steps[4]
2016-06-05 02:46:06 -07:00
Scott Lahteine 4b3d5aec7a Merge pull request #3110 from thinkyhead/rc_manual_moves
Alternative impl. of LCD-based manual movement
2016-06-05 02:45:39 -07:00
Scott Lahteine 47b5c55c29 Implement the delayed-move technique 2016-06-05 02:29:49 -07:00
Scott Lahteine a3e25a0fca Instead of trying to move now, set a flag to move asap 2016-06-05 02:29:48 -07:00
Scott Lahteine e2a8961635 Use e_steps[EXTRUDERS] instead of e_steps[4] 2016-06-05 01:44:53 -07:00
Scott Lahteine 43947072d5 Merge pull request #3895 from thinkyhead/rc_singlenozzle_part_2
SINGLENOZZLE: EXTRUDERS versus HOTENDS
2016-06-04 15:23:17 -07:00
Scott Lahteine 05868de195 Merge pull request #3958 from thinkyhead/rc_fix_3955
Fix a typo in #3955
2016-06-04 02:10:26 -07:00
Scott Lahteine d7e4e8e9be Fix a typo in #3955 2016-06-04 02:09:58 -07:00
Scott Lahteine 4bdcf3afe4 Merge pull request #3956 from thinkyhead/rc_mbl_single_axis_fix
MBL: Keep active when homing single axes (#3750)
2016-06-03 21:56:12 -07:00
Scott Lahteine c2362c1b3c Apply Marlin coding standards to MBL class 2016-06-03 21:43:32 -07:00
Edward Patel c06de0f097 MBL: Added keeping MBL active when homing single axises for #3750 2016-06-03 21:42:29 -07:00
Scott Lahteine f2fb66c00d With SINGLENOZZLE only set temperature for the active tool 2016-06-03 17:38:03 -07:00
Scott Lahteine cd441ce652 SINGLENOZZLE: EXTRUDERS versus HOTENDS 2016-06-03 17:38:03 -07:00
Scott Lahteine 32f8300cc6 Merge pull request #3944 from thinkyhead/rc_eboston_lcd_contrast
Improved LCD contrast handling
2016-06-03 17:08:41 -07:00
Scott Lahteine 9c87bf835c Merge pull request #3947 from thinkyhead/rc_statics_stepper
Apply static to remaining Stepper methods
2016-06-03 17:08:15 -07:00
Scott Lahteine 08871d4d6e Merge pull request #3950 from boelle/patch-3
last of missing defines added
2016-06-03 17:07:02 -07:00
Scott Lahteine 4e13cd3f35 Merge pull request #3955 from MagoKimbra/RCBugFix
Fix M428 width DELTA & SCARA
2016-06-03 15:50:37 -07:00
Scott Lahteine 2403a1cf9c Merge pull request #3952 from rafacouto/RCBugFix
Galician language update.
2016-06-03 15:46:03 -07:00
Scott Lahteine 8529122af1 Merge pull request #3946 from thinkyhead/rc_g28_servo_raise_before_stow
Raise the servo probe before stow outside ABL context
2016-06-03 15:45:36 -07:00
MagoKimbra f499be084a Fix M428 width DELTA & SCARA 2016-06-03 23:23:23 +02:00
Rafa Couto 5f759a2200 Merge branch 'RCBugFix' of https://github.com/rafacouto/Marlin into RCBugFix 2016-06-03 18:27:02 +02:00
Rafa Couto 5f8db3f574 Galician language update. 2016-06-03 18:24:53 +02:00
Rafa Couto e1591befee Galician language update. 2016-06-03 14:24:35 +02:00
Bo Herrmannsen 8532bf4087 last of missing defines added
need to check line 101-103
2016-06-03 11:20:46 +02:00
Scott Lahteine 81384dfd36 Apply static to remaining stepper methods 2016-06-02 18:00:31 -07:00
Scott Lahteine 0d793fb2be Merge pull request #3939 from thinkyhead/rc_resume_get_position
set_current_position_from_planner() after stepper.quick_stop()
2016-06-02 17:25:51 -07:00
Scott Lahteine 664b299a51 This fix is not DELTA compatible 2016-06-02 17:16:19 -07:00
Scott Lahteine 064efb20e0 Also call clear_command_queue for lcd_sdcard_stop 2016-06-02 17:16:19 -07:00
Scott Lahteine 6277395e1e set_current_position_from_planner() after stepper.quick_stop() 2016-06-02 17:16:19 -07:00
Scott Lahteine 381bc6f0b0 set_position => set_position_mm 2016-06-02 17:16:19 -07:00
Scott Lahteine 663d2463dc Merge pull request #3922 from thinkyhead/rc_statics_stepper
Apply static to Stepper class
2016-06-02 17:14:24 -07:00
Scott Lahteine 194185539d Merge pull request #3925 from thinkyhead/rc_statics_planner
Apply static to Planner class
2016-06-02 17:14:04 -07:00
Scott Lahteine 3fd9b331f0 Merge pull request #3924 from thinkyhead/rc_statics_temperature
Apply static to Temperature class
2016-06-02 17:13:17 -07:00
Scott Lahteine 5b5270ab50 Merge pull request #3943 from thinkyhead/rc_contrast_adjust
Combine ST7565 / U8GLIB_NHD_C12864 items in dogm
2016-06-02 17:05:04 -07:00
Scott Lahteine db0fd021d0 Z raise options independent of ABL so G28 can use them 2016-06-02 16:56:49 -07:00
Scott Lahteine 9eecb4404b Make raise_z_after_probing null sometimes 2016-06-02 16:56:49 -07:00
Scott Lahteine 28fb1f8994 Tweak #endif comment for ABL GRID 2016-06-02 16:56:49 -07:00
Scott Lahteine b3a37b493d Patch G28 servo stow to use Conditionals, raise_z_after_probing 2016-06-02 16:56:49 -07:00
Scott Lahteine 5390c846a5 Positive conditions for HAS_LCD_CONTRAST 2016-06-02 16:17:34 -07:00
Scott Lahteine efa7209acf Improved LCD contrast handling
Based on MarlinFirmware/MarlinDev#200 from @eboston
2016-06-02 16:17:34 -07:00
Scott Lahteine b703fa9538 Add sanity check for SAV_3DGLCD display types 2016-06-02 15:21:17 -07:00
lrpirlet 3aefa04386 Raise the servo probe before stow outside ABL context 2016-06-01 21:53:45 +02:00
Scott Lahteine 9729e9c450 Combine ST7565 / U8GLIB_NHD_C12864 items in dogm 2016-06-01 01:42:14 -07:00
Scott Lahteine f331763eca Merge pull request #3829 from thinkyhead/rc_fix_T_command
Fix bad movement in gcode_T when switching extruders
2016-05-31 19:36:18 -07:00
Scott Lahteine 67f816ff79 Merge pull request #3926 from thinkyhead/rc_statics_endstops
Drop FORCE_INLINE from endstops.h
2016-05-31 19:35:41 -07:00
Scott Lahteine 2bd4f33369 Merge pull request #3928 from thinkyhead/rc_allen_key_cleanup
Remove excess allen key probe examples from configs
2016-05-31 19:18:21 -07:00
Scott Lahteine d698c89971 Fix bad movement in gcode_T when switching 2016-05-31 19:14:33 -07:00
Scott Lahteine 1a01a44a94 Merge pull request #3936 from thinkyhead/rc_sav_mk1
Support for SAV_3DGLCD OLED LCD controller
2016-05-31 18:46:25 -07:00
Scott Lahteine 4770d7c346 Merge pull request #3933 from boelle/patch-2
added defines present in en but not in da
2016-05-31 18:42:38 -07:00
Scott Lahteine c6c01eaaac Merge pull request #3888 from thinkyhead/rc_slower_max31855
Slower SPI speed for MAX31855
2016-05-31 18:40:38 -07:00
Scott Lahteine a0b000d752 Support for SAV_3DGLCD OLED LCD controller 2016-05-31 14:41:16 -07:00
Scott Lahteine bd97bbc52a Make HAS_LCD_CONTRAST a boolean flag 2016-05-31 11:47:02 -07:00
Scott Lahteine bc77670673 Merge pull request #3929 from thinkyhead/rc_fix_printrboard_dac
Need to call dac_init() in setup() for DAC_STEPPER_CURRENT
2016-05-31 10:29:37 -07:00
Bo Herrmannsen a1a8240606 added defines present in en but not in da 2016-05-31 14:57:52 +02:00
Roxy-3DPrintBoard 3d7d034fad Merge pull request #3932 from boelle/patch-1
initial changes to DA
2016-05-31 07:34:29 -05:00
Bo Herrmannsen 5eb7a79d93 initial changes to DA 2016-05-31 14:24:33 +02:00
Scott Lahteine 55ef04a566 Need to call dac_init() in setup() for DAC_STEPPER_CURRENT
As reported by https://github.com/MarlinFirmware/Marlin/pull/3182#issuecomment-222595488
2016-05-30 23:35:06 -07:00
Scott Lahteine 43a71ef226 Remove excess allen key probe examples from configs 2016-05-30 18:26:53 -07:00
Scott Lahteine 1582ed43bf Merge pull request #3918 from epatel/marlin/mbl_negative_xy_adv
MBL: Move border macros to Configuration_adv.h
2016-05-30 18:15:50 -07:00
Scott Lahteine ff53819856 Drop FORCE_INLINE in planner.h
This change actually does increase the binary size by about 12 bytes,
but how does it affect performance?
2016-05-30 17:18:28 -07:00
Scott Lahteine e60224a943 Drop FORCE_INLINE from endstops.h
`FORCE_INLINE` seems to have no effect with standard optimization.
2016-05-30 17:08:56 -07:00
Scott Lahteine 85512e9372 Drop FORCE_INLINE from temperature.h
`FORCE_INLINE` seems to have no effect on code generation with standard
optimization.
2016-05-30 17:06:50 -07:00
Scott Lahteine 78fb02a5ad Apply static to Temperature class 2016-05-30 16:50:51 -07:00
Scott Lahteine c3df293fc6 Merge pull request #3923 from thinkyhead/rc_statics_endstops
Apply static to Endstops class
2016-05-30 16:48:23 -07:00
Scott Lahteine 02735fd500 Merge pull request #3921 from thinkyhead/rc_calc_timer_tweak
Tiny calc_timer speedup
2016-05-30 16:47:03 -07:00
Scott Lahteine 668d50f68e Keep Stepper encapsulation, use static data and methods 2016-05-30 16:24:04 -07:00
Scott Lahteine 26f866b908 Apply static to Endstops class 2016-05-30 16:23:43 -07:00
Scott Lahteine 470d5ac09f Apply static to Planner class 2016-05-30 16:22:41 -07:00
Scott Lahteine ecfdcf7250 Tiny calc_timer speedup 2016-05-30 16:17:02 -07:00
Edward Patel 06593833ff MBL: Move border macros to Configuration_adv.h 2016-05-30 20:50:16 +02:00
Scott Lahteine ffe55c230d Merge pull request #3914 from thinkyhead/rc_fix_lcd_contrast
Patch conditionals for DEFAULT_LCD_CONTRAST, MINIPANEL
2016-05-30 11:20:14 -07:00
Scott Lahteine d3efc96289 Patch conditionals for DEFAULT_LCD_CONTRAST, MINIPANEL
- `DEFAULT_LCD_CONTRAST` was incorrectly overriding all `DOGLCD`
- `MINIPANEL` conditionals are identical to `MAKRPANEL`
2016-05-30 01:10:47 -07:00
Scott Lahteine 5a8918c9ec Merge pull request #3911 from epatel/marlin/mbl_3903_example_configs
MBL: Apply PR 3903 to example_configurations
2016-05-30 01:01:04 -07:00
Edward Patel 92a27c37b3 MBL: Apply https://github.com/MarlinFirmware/Marlin/pull/3903 to example_configurations 2016-05-30 09:50:11 +02:00
Scott Lahteine 7ba8f2dbc3 Merge pull request #3906 from thinkyhead/rc_fix_travis_helpers
Less greedy regex in travis helper scripts
2016-05-30 00:27:41 -07:00
Scott Lahteine 2805bf3d82 Less greedy regex in travis helper scripts 2016-05-30 00:26:52 -07:00
Scott Lahteine 3861f1e0da Merge pull request #3908 from jbrazio/bugfix/3826
Closes #3826: SD printing will now pause and stop the print counter
2016-05-30 00:08:57 -07:00
Scott Lahteine 8806c7bbcc Merge pull request #3903 from epatel/marlin/mbl_negative_xy
MBL: Fix for negative x/y positions
2016-05-29 22:07:35 -07:00
Scott Lahteine 189e60db55 Merge pull request #3909 from thinkyhead/fix_array_inits
Fix some array initializations
2016-05-29 21:02:20 -07:00
Scott Lahteine dc22097b3a Fix some of array initializations
- In `stepper.h` init `count_direction` array
- In `ultralcd.cpp` init `autotune_temp` array
2016-05-29 20:55:13 -07:00
João Brázio 40e64b36de Closes #3826: SD printing will now pause and stop the print counter
The LCD menu items for SD printing pause/stop have been updated to control
also the print job timer. This commit also fixes a small output bug with
M78, the failed print counter was displaying the wrong value.
2016-05-30 00:56:39 +01:00
Edward Patel eb2746a34f MBL: Fix for negative x/y positions 2016-05-28 21:05:43 +02:00
Scott Lahteine fe3122774a Merge pull request #3806 from thinkyhead/rc_coreyz_support
Support for COREYZ. Fixes for COREXY, COREXZ
2016-05-26 18:50:43 -07:00
Scott Lahteine fad7680605 Slower SPI speed for MAX31855 2016-05-25 18:15:36 -07:00
Scott Lahteine 30f6b84561 Merge pull request #3812 from thinkyhead/rc_mbl_index_finders
Two index finding functions for MBL
2016-05-23 15:54:37 -07:00
Scott Lahteine 89e630b2fb Merge pull request #3808 from thinkyhead/rc_singlenozzle
SINGLENOZZLE
2016-05-23 15:52:19 -07:00
Scott Lahteine 827738a790 set_z parameters marked const 2016-05-23 14:25:43 -07:00
Scott Lahteine 9049f4084b EEPROM report uses G29 S3 2016-05-23 14:25:43 -07:00
Scott Lahteine 4955163959 Propose simpler probe index methods 2016-05-23 14:25:43 -07:00
Scott Lahteine a1a5cb5393 Propose simpler cel index methods 2016-05-23 14:25:42 -07:00
Scott Lahteine 360adc6a3b Small reduction in M421 code 2016-05-23 14:25:42 -07:00
Scott Lahteine a4ed988c60 Two index finding functions for MBL 2016-05-23 14:25:42 -07:00
Scott Lahteine 0e55c06f7d Rename CORE_AXIS_3 to NORMAL_AXIS 2016-05-23 13:58:40 -07:00
Scott Lahteine 5172d4ba40 COREYZ stepper, planner, endstop, babysteps 2016-05-23 13:58:40 -07:00
Scott Lahteine 6c7f4909b1 COREYZ Conditionals, SanityCheck for only a single kinematic 2016-05-23 13:58:40 -07:00
Scott Lahteine 95fee8ca81 Add option for CoreYZ kinematics 2016-05-23 13:58:40 -07:00
Scott Lahteine 678cbad76a Merge pull request #3819 from jbrazio/bugfix/followup-3813
Followup for #3813
2016-05-23 13:56:11 -07:00
Scott Lahteine 6cdae35261 Merge pull request #3822 from jbrazio/cleanup/hires-logo
Cleanup the Marlin logo with a hires svg version
2016-05-23 13:55:42 -07:00
Scott Lahteine 714d526614 Merge pull request #3828 from AnHardt/hw-endstops-default
Correct hardware endstops default
2016-05-23 13:55:02 -07:00
João Brázio 05a041cb13 Cleanup the Marlin logo with a hires svg version 2016-05-23 14:50:54 +01:00
AnHardt bb66ffb2ae Correct hardware endstops default
All credits to RicardoGA
2016-05-23 10:54:22 +02:00
João Brázio 75221fa673 Followup for #3813 2016-05-22 13:14:58 +01:00
Scott Lahteine f9b4b90058 Merge pull request #3813 from jbrazio/bugfix/3809
Stopwatch and PrintCounter improvements
2016-05-21 18:33:57 -07:00
João Brázio 8c0edb2de4 Fixes #3809 and adds several improvements to the Stopwatch and
PrintCounter classes
2016-05-22 01:59:59 +01:00
Scott Lahteine 03e44e0f83 Merge pull request #3807 from thinkyhead/rc_reverse_options_doc
Additional instructions for controller reverse options
2016-05-20 20:36:31 -07:00
Scott Lahteine c5130fd23b Additional instructions for controller reverse options 2016-05-20 18:14:50 -07:00
Scott Lahteine cadf441059 Merge pull request #3798 from AnHardt/extend-M421
Extend M421 with I and J parameters
2016-05-20 16:17:23 -07:00
Scott Lahteine 0c7c45063b PID_ADD_EXTRUSION_RATE based on MarlinKimbra 2016-05-20 16:15:05 -07:00
Scott Lahteine 92ac133f2b Conditionals and Sanity Check for SINGLENOZZLE 2016-05-20 15:48:27 -07:00
Scott Lahteine 69abfef82e Add "SINGLENOZZLE" extruder option 2016-05-20 15:45:11 -07:00
AnHardt f5a036510f Extend M421 with I and J parameters
Extend M421 with I and J parameters
2016-05-21 00:18:09 +02:00
Scott Lahteine 2f6e7b7b9b Merge pull request #3805 from MatixYo/patch-7
Update language_pl.h to the latest strings
2016-05-20 14:50:49 -07:00
Scott Lahteine 88291d1656 Merge pull request #3802 from thinkyhead/rc_epatel_g28_rest_pos
MBL: Add option to configure G28 resting position for all axes
2016-05-20 12:10:52 -07:00
Scott Lahteine f69b5afe4c Travis CI test for MBL 2016-05-20 11:52:27 -07:00
Scott Lahteine 1a6c72cb57 Apply to the rest of the configs 2016-05-20 11:52:27 -07:00
Scott Lahteine 37c6d0f4ed Reword MESH_G28_REST_ORIGIN comment 2016-05-20 11:52:27 -07:00
Edward Patel c7d90dc5ec Add option to configure G28 all axis resting position for MBL 2016-05-20 11:52:27 -07:00
Mateusz Juszczyk bbe4c20ef6 Update language_pl.h 2016-05-20 13:24:34 +02:00
Scott Lahteine 319d184999 Merge pull request #3803 from jbrazio/feature/buildroot-cleanup
Buildroot cleanup
2016-05-19 21:34:11 -07:00
João Brázio 3d3a919059 Moves the Marlin logo into the buildroot 2016-05-20 03:43:30 +01:00
João Brázio 08b485a310 Travis will now generate and use the custom version header file 2016-05-20 03:22:04 +01:00
Scott Lahteine a469341555 Merge pull request #3800 from jbrazio/feature/move-felix-cfg
Moves Felix's dual configuration to a folder
2016-05-19 18:53:39 -07:00
João Brázio 66fb23edb5 Makes buildroot bin scripts executable 2016-05-20 02:26:13 +01:00
João Brázio 14652bb141 Moves shared helper scripts to the buildroot 2016-05-20 02:25:13 +01:00
Scott Lahteine 61de6daf1d Merge pull request #3761 from thinkyhead/rc_plan_arc_idle
Apply config changes, tweak comments, next_ping_ms => next_idle_ms
2016-05-19 17:10:17 -07:00
João Brázio 80f05920c5 Moves Felix's dual configuration to a folder 2016-05-20 00:49:16 +01:00
Scott Lahteine 8218558953 Update comments, rename next_ping_ms, followup to #3797 2016-05-19 16:44:57 -07:00
Scott Lahteine 6d68b12e28 Merge pull request #3797 from AnHardt/fix-screen-updatedelay
Rework intermediate idle() and manage_heater() calls in G2/G3 and G5
2016-05-19 16:29:27 -07:00
Scott Lahteine aaaf4febaf Merge pull request #3794 from esenapaj/RCBugFix
Update Galician language to 1.1.0-RCBugFix.
2016-05-19 16:22:10 -07:00
AnHardt e761bdbb4b Remove SF_ARC_FIX from G5 (Cubic B-spline)
Remove SF_ARC_FIX from G5 (Cubic B-spline).
SF_ARC_FIX is a fix for G2/G3 (arcs) where Skeinforge always produced relative instead of absolute coordinates for the endpoint of an arc.
It's very unlikely this is also a problem with Cubic B-splines. More likely is copying from the G2/G3 code.
2016-05-19 21:00:12 +02:00
AnHardt 2207001333 No compromises for the manage_heater()
No compromises for the manage_heater(). manage_heater() will return immediately when there is nothing to do, but needs a constant detaT to work proper.
Calling idle() only every 200ms results in a display update every ~2 seconds - that should be enough.
For the other functionalities in idle() and manage_inactivity() 200ms is a lot but hopefully works.
2016-05-19 20:52:11 +02:00
AnHardt 0c4d885d5b Speedup sreen update delay
Speedup sreen update delay
and correct a comment.

A module division by 10 is slooooow. (powers of 2 are fast - but then you can AND a bitmask with the same result)
2016-05-19 15:41:09 +02:00
Rafa Couto 9d416289cc Update Galician language to 1.1.0-RCBugFix. 2016-05-19 19:33:40 +09:00
Scott Lahteine b422e39016 Merge pull request #3779 from thinkyhead/rc_x2_automatic_pins
Automatically set X2 stepper pins
2016-05-18 19:27:34 -07:00
Scott Lahteine 07c9a11c3c Automatically set X2 stepper pins 2016-05-18 19:09:09 -07:00
Scott Lahteine 8aa591ca09 Merge pull request #3789 from jbrazio/feature/m999-s-arg
Implements S1 argument in M999
2016-05-18 16:58:09 -07:00
Scott Lahteine 138c5c8378 Merge pull request #3788 from thinkyhead/rc_dual_x_compile_fix
DUAL_X_CARRIAGE fixes, improvements, Travis test
2016-05-18 16:56:54 -07:00
Scott Lahteine 7527fdec0b Add Travis test for DUAL_X_CARRIAGE 2016-05-18 16:32:34 -07:00
João Brázio e6effb8f35 Implements S1 argument in M999 2016-05-19 00:13:33 +01:00
Scott Lahteine 2a7b1a85f7 Improve DUAL_X_CARRIAGE sanity check errors 2016-05-18 15:59:28 -07:00
Scott Lahteine 516e79bbda Declare extruder_duplication_enabled in Marlin.h 2016-05-18 15:51:44 -07:00
Scott Lahteine bffa928954 Merge pull request #3785 from esenapaj/update-japanese-translation
Update Japanese trasration
2016-05-18 15:21:35 -07:00
esenapaj 56d5ae596c Update Japanese trasration
・Add new translation
・Change translation
2016-05-18 20:42:50 +09:00
Scott Lahteine 3bdc03667e Merge pull request #3784 from thinkyhead/rc_funcs_not_extern
Function declarations in headers don't need "extern"
2016-05-17 18:43:25 -07:00
Scott Lahteine 4041508ffb Function decl. in headers don't need "extern" 2016-05-17 18:35:01 -07:00
Scott Lahteine 82c2d308dc Merge pull request #3783 from thinkyhead/rc_bezier_delta_fix
Bezier style and DELTA patch
2016-05-17 18:27:48 -07:00
Scott Lahteine ecec5c5e58 Bezier style and DELTA patch 2016-05-17 18:06:10 -07:00
Scott Lahteine d66e53c42b Merge pull request #3782 from thinkyhead/rc_home_z_before_g29
Require homing of Z before G29
2016-05-17 17:53:56 -07:00
Scott Lahteine 552516ddf5 Merge pull request #3781 from AnHardt/minor-delta-segmenting-speedup
Minor DELTA segmentation speedup
2016-05-17 17:17:38 -07:00
Scott Lahteine a28970784c XYZ unhomed 2016-05-17 17:02:53 -07:00
Scott Lahteine a9926b71a4 Require homing of Z before G29 2016-05-17 16:57:12 -07:00
AnHardt 41e9569dbc Minor DELTA segmentation speedup
Minor DELTA segmentation speedup by pulling calculations out of the loop.
2016-05-18 01:49:30 +02:00
Scott Lahteine 3016dfe484 Merge pull request #3744 from thinkyhead/rc_bezier_curves
Add BEZIER_CURVE_SUPPORT — G5 command
2016-05-17 13:57:38 -07:00
Scott Lahteine d0ac4541d3 Merge pull request #3775 from jbrazio/bugfix/followup-3770
G29: Report final position back to host when using MBL
2016-05-17 13:55:26 -07:00
Scott Lahteine ce1d6981c2 Merge pull request #3725 from esenapaj/patch-1
Separate Z_PROBE_ALLEN_KEY from MECHANICAL_PROBE
2016-05-16 20:23:03 -07:00
João Brázio b6a3aef297 G29: Report final position back to host when using MBL 2016-05-17 01:27:59 +01:00
esenapaj 95f30529a6 Add stowing process for MECHANICAL_PROBE 2016-05-16 18:12:10 +09:00
esenapaj e2b87f6c85 Separate Z_PROBE_ALLEN_KEY from MECHANICAL_PROBE 2016-05-16 18:12:10 +09:00
Scott Lahteine 58339aea5f Merge pull request #3769 from jbrazio/bugfix/iteration-invokes-undef-behavior
Bugfix: iteration invokes undefined behavior
2016-05-15 20:36:25 -07:00
Scott Lahteine 26b4cb5b42 Merge pull request #3771 from thinkyhead/rc_auto_fans_again
Fix checkExtruderAutoFans
2016-05-15 20:32:31 -07:00
Scott Lahteine c9271e610b Merge pull request #3762 from jbrazio/bugfix/lcd-hide-bed-icon
Remove the hotbed icon from the status screen
2016-05-15 19:11:05 -07:00
Scott Lahteine 2f14934c65 Fix checkExtruderAutoFans
Make sure to only set the fan state once when extruders share a fan
2016-05-15 18:54:37 -07:00
João Brázio ecd490ed49 Bugfix: iteration invokes undefined behavior 2016-05-15 22:45:08 +01:00
Scott Lahteine abdfd914f8 Merge pull request #3763 from esenapaj/patch-4
Follow-up for #3720 and #3759
2016-05-15 12:37:51 -07:00
Scott Lahteine 388a58ec02 Merge pull request #3767 from thinkyhead/rc_fix_zigzag_calls
Fix MBL zigzag calls
2016-05-15 12:35:36 -07:00
Scott Lahteine 754b0152f5 Fix MBL zigzag calls 2016-05-15 12:35:01 -07:00
Scott Lahteine 86ac48a374 Merge pull request #3760 from thinkyhead/rc_fix_mbl_m503_output
Fix various issues with MBL command M421
2016-05-15 11:49:49 -07:00
Scott Lahteine 1fcc9ec721 Merge pull request #3715 from jbrazio/feature/buildroot
Cleanup the buildroot
2016-05-15 11:44:10 -07:00
esenapaj 6d722716f7 Follow-up the PR #3720 and #3759
Update forgotten Configuration_DUAL.h
2016-05-15 14:08:45 +09:00
João Brázio 451000387d Remove the hotbed icon when HAS_TEMP_BED is false 2016-05-15 03:00:05 +01:00
Scott Lahteine a058226799 Prevent watchdog timeout in bezier moves 2016-05-14 17:41:16 -07:00
Scott Lahteine 13175ce7da Fix error checking in M421 2016-05-14 17:12:44 -07:00
Scott Lahteine bc5a547d55 More robust MBL index / point conversion 2016-05-14 16:45:56 -07:00
Scott Lahteine a3520b6f01 More precision in M503 output for MBL's M421 2016-05-14 16:19:37 -07:00
Scott Lahteine 1b90682617 Merge pull request #3702 from thinkyhead/rc_sensitive_fan_pins
Remove need to define unused pins as -1 in pins files
2016-05-14 15:49:22 -07:00
Scott Lahteine c8a40f06a6 Merge pull request #3759 from thinkyhead/rc_more_printcounter
Printcounter bugfix and some new features
2016-05-14 15:36:31 -07:00
Scott Lahteine 585c8a918f Merge pull request #3758 from thinkyhead/rc_verbiage
Tweaks to some verbiage
2016-05-14 15:27:11 -07:00
João Brázio f9a62f6a8e Added PRINTJOB_TIMER_AUTOSTART section to example config files 2016-05-14 15:22:45 -07:00
João Brázio 8a18c52002 Adds an option to disable print job timer auto start 2016-05-14 15:22:44 -07:00
João Brázio a79267217b M78 now allows stats reset using the S78 argument 2016-05-14 15:22:44 -07:00
João Brázio b660f1bdb8 Bugfix: Multiple M77 no longer increment the print counter 2016-05-14 15:22:43 -07:00
Scott Lahteine c63f95f2fe Merge pull request #3748 from clexpert/patch-1
Lastest changes in Czech translate
2016-05-14 15:12:39 -07:00
Scott Lahteine e01e52969e Merge pull request #3757 from thinkyhead/rc_fix_auto_fans
Don't try to enable unused auto fans
2016-05-14 15:09:24 -07:00
Scott Lahteine ddf3e1e22d Tweaks to some verbiage 2016-05-14 15:06:09 -07:00
Scott Lahteine a713043acd Merge pull request #3749 from esenapaj/patch-3
Enclose all #error strings by double-quotes
2016-05-14 15:01:56 -07:00
Scott Lahteine 3cfea3ff12 Merge pull request #3752 from AnHardt/fix-FIX_MOUNTED_PROBE
G29 missing FIX_MOUNTED_PROBE condition
2016-05-14 15:00:42 -07:00
Scott Lahteine 08dfe08f9a Merge pull request #3754 from jbrazio/feature/update-pt_PT
Updated pt_PT language pack
2016-05-14 15:00:12 -07:00
Scott Lahteine 596ebccd54 Merge pull request #3753 from jbrazio/feature/followup-3740
Warn user about useless of individual axis homing and DELTA kinematics
2016-05-14 14:59:49 -07:00
Scott Lahteine 6e3556cb75 Merge pull request #3746 from esenapaj/patch-2
Update Japanese translation
2016-05-14 14:57:43 -07:00
Scott Lahteine ddac17a195 Add BEZIER_CURVE_SUPPORT (G5 XYZEFIJPQ) 2016-05-14 14:52:08 -07:00
Scott Lahteine b4c891dfd2 Remove obsolete reference to prepare_arc_move 2016-05-14 14:51:09 -07:00
Scott Lahteine 9f6b8f7d5b Remove extra @section directive from configs 2016-05-14 14:51:09 -07:00
Scott Lahteine 4d6bb52b26 Don't try to enable unused auto fans
Addressing #3743
2016-05-14 14:46:14 -07:00
Scott Lahteine f13c4a9ec4 Merge pull request #3720 from jbrazio/feature/host-keepalive
Removes the DISABLE from HOST_KEEPALIVE
2016-05-14 14:39:31 -07:00
Scott Lahteine 6903eb1c5b Merge pull request #3751 from AnHardt/fix-arcs
Idle during long arcs
2016-05-14 14:33:56 -07:00
João Brázio 596f15348d Updated pt_PT language pack 2016-05-14 01:45:15 +01:00
João Brázio d7522152e1 Warn user about useless of individual axis homing and DELTA kinematics 2016-05-14 01:35:05 +01:00
AnHardt 8a4376d51f Idle during long arcs
Idle during long arcs
to prevent from watchdog resets during high segmented fast arcs.
2016-05-14 00:29:13 +02:00
esenapaj 888443ca1e Enclose all #error strings with apostrophes 2016-05-13 21:10:23 +09:00
Petr Zahradnik 50b1a6bb2b Lastest changes in Czech translate 2016-05-13 13:51:13 +02:00
AnHardt b74af78736 Make arc support (G2/G3) configurable
Saves about 2669 bytes when deactivated. (About 1% for a AT2560, about __4%__ for a AT644!)
2016-05-13 13:27:45 +02:00
AnHardt aef2559bd8 fix-FIX_MOUNTED_PROBE
Add a forgotten condition
2016-05-13 12:07:17 +02:00
esenapaj e9d851137d Update Japanese translation
・Add new translation
2016-05-13 18:52:35 +09:00
Scott Lahteine 14cd0f4c92 Merge pull request #3740 from thinkyhead/rc_lcd_home_options
Individual Axis Homing LCD menu items
2016-05-12 11:59:46 -07:00
Scott Lahteine ddf8f5eb10 Merge pull request #3741 from esenapaj/patch-2
Follow-up the PR #3719(Harmonize LCD comment section)
2016-05-12 11:59:24 -07:00
esenapaj 69511b5e5e Follow-up the PR #3719(Harmonize LCD comment section)
It update forgotten Configuration_DUAL.h.
2016-05-12 19:16:36 +09:00
Scott Lahteine 675e92ab1f Merge pull request #3738 from thinkyhead/rc_limit_i2c_request
Print an error on bad i2c request
2016-05-11 19:36:49 -07:00
Scott Lahteine a42655b9ac Merge pull request #3739 from thinkyhead/rc_reverse_encoder
Add REVERSE_ENCODER_DIRECTION option
2016-05-11 19:32:23 -07:00
João Brázio 09150cae79 Individual Axis Homing LCD menu items 2016-05-11 19:28:19 -07:00
Scott Lahteine 4dc4e2063f Add REVERSE_ENCODER_DIRECTION option 2016-05-11 15:39:28 -07:00
Scott Lahteine aaeadf0cbd If no "B" parameter given, get 1 byte 2016-05-11 15:30:08 -07:00
Scott Lahteine a6d594665b Print an error on bad i2c request
Reference: https://github.com/MarlinFirmware/Marlin/pull/3713#issuecomment-218333678
2016-05-11 15:30:02 -07:00
João Brázio 85b2c80838 Updated example configurations 2016-05-11 01:45:49 +01:00
João Brázio ac7f634956 Removed the DISABLE from HOST_KEEPALIVE_FEATURE option 2016-05-11 01:45:49 +01:00
Scott Lahteine a454a88f9c Merge pull request #3722 from jbrazio/bugfix/printcounter
Minor #warning fix for PrintCounter
2016-05-10 17:17:04 -07:00
Scott Lahteine 03bda5c141 Merge pull request #3719 from jbrazio/feature/update-configs
Harmonize LCD comment section
2016-05-10 17:16:23 -07:00
Scott Lahteine 5085892204 Merge pull request #3728 from thinkyhead/rc_mention_allen_key
Mention Z_PROBE_ALLEN_KEY in probe sanity checks
2016-05-10 14:06:14 -07:00
Scott Lahteine c827671299 Mention Z_PROBE_ALLEN_KEY in probe sanity checks 2016-05-10 13:50:20 -07:00
Scott Lahteine be5d17de17 Merge pull request #3713 from thinkyhead/rc_file_offset_long
Use code_value_long for potentially large values
2016-05-10 09:15:53 -07:00
Scott Lahteine 56dd31ea3c Use code_value_long for potentially large values
Addressing #3711
2016-05-10 09:15:31 -07:00
João Brázio eafa16a781 Minor #warning fix for PrintCounter 2016-05-10 14:14:54 +01:00
João Brázio 5373ac6373 Updated example configurations 2016-05-10 13:42:00 +01:00
João Brázio aa5a4716cf Update default config 2016-05-10 13:37:21 +01:00
João Brázio a878c09614 Cleanup of the buildroot 2016-05-10 03:37:17 +01:00
Scott Lahteine c4e6e41b05 Merge pull request #3712 from esenapaj/patch-1
Update Japanese translation, etc
2016-05-09 12:30:47 -07:00
esenapaj 1a75509a3c Cleanup for Danish file
・Arrange the strings in unified order
・Remove "#ifdef DELTA_CALIBRATION_MENU" directive
・Adjust spacing
2016-05-10 02:43:25 +09:00
esenapaj cf6c607425 Update Japanese translation
・Add new translation
・Add translation for 16 width ASCII LCD
・Change translation
・Revert translation from Japanese to English
・Fix typo
2016-05-10 02:43:24 +09:00
Scott Lahteine 6f36b7c1cd Merge pull request #3224 from yarda/fix-melzi2-arduino-1.6.x
Fixed Makefile to work with Melzi2 boards on arduino-1.6.x
2016-05-08 19:33:37 -07:00
Scott Lahteine 050e0bd2af Merge pull request #3705 from thinkyhead/rc_runaway_logic
Fallthru in thermal runaway test when TRState changes
2016-05-08 19:00:24 -07:00
Scott Lahteine 5f7ad16b19 Merge pull request #3707 from thinkyhead/rc_fix_delta_blocking_move
Fix dipping on DELTA robots during G29
2016-05-08 18:42:57 -07:00
Scott Lahteine 96b71e62c0 Fix dipping on DELTA robots during G29
- Addressing #3689, et. al.
2016-05-08 18:28:46 -07:00
Scott Lahteine 3b9c5404a4 Merge pull request #3706 from thinkyhead/rc_fix_sanity_closure
Enclose #error strings with apostrophes in quotes
2016-05-08 18:09:31 -07:00
Scott Lahteine ea1dd31851 Enclose #error strings with apostrophes in quotes 2016-05-08 18:08:39 -07:00
Scott Lahteine 9b92bb8f31 Set the initial state based on target temperature 2016-05-08 17:25:44 -07:00
Scott Lahteine 6b13c430ae The TRReset state is not needed with fall-through 2016-05-08 17:01:46 -07:00
Scott Lahteine c2522ce1f5 Fallthru in thermal runaway test when TRState changes 2016-05-08 16:51:33 -07:00
Scott Lahteine d32d9a3c5c Merge pull request #3672 from thinkyhead/rc_consolidate_probe_flags
Cleanup and consolidate probe conditionals for clarity
2016-05-08 16:42:22 -07:00
Scott Lahteine 77e25043a9 Merge pull request #3701 from esenapaj/patch-2
Fix compilation error in debugging  code
2016-05-08 13:06:59 -07:00
Scott Lahteine 15fc93d742 Cleanup and consolidate probe conditionals for clarity 2016-05-08 12:59:43 -07:00
Scott Lahteine 5ca6334fd2 Cleanup pins files, fixup analogtodigitalpin, etc. 2016-05-08 12:38:00 -07:00
esenapaj 9186be7b83 Fix compilation error in debugging code
Fix compilation error in Thermal Runaway debugging code
2016-05-09 01:57:21 +09:00
Scott Lahteine d7819298ca Merge pull request #3687 from thinkyhead/rc_localize_babystepping
Use AxisEnum with _lcd_babystep()
2016-05-05 21:15:52 -07:00
Scott Lahteine 51109d4af7 Use AxisEnum with _lcd_babystep() 2016-05-05 21:04:30 -07:00
Scott Lahteine 58ea246f98 Merge pull request #3685 from thinkyhead/rc_localize_babystepping
Localize babystepping in the Temperature class
2016-05-05 20:56:04 -07:00
Scott Lahteine b65ea98d6b Localize babystepping in the Temperature class
So that `ultralcd.cpp` doesn’t need to worry about the details.
2016-05-05 15:00:31 -07:00
Scott Lahteine 0c7beb832c Merge pull request #3681 from esenapaj/patch-1
Follow-up the PR #3643(Temperature singleton)
2016-05-05 12:47:06 -07:00
Scott Lahteine fc5fe2cc22 Merge pull request #3678 from jbrazio/rework/delta-diagonal-rod-timmers
Moved DELTA radius/rod default trimmer values to Conditionals.h
2016-05-05 11:38:14 -07:00
esenapaj 1a97442d19 Follow-up the PR #3643(Temperature singleton)
Follow-up the PR #3643(Temperature singleton)

・Change from fanSpeedSoftPwm[0] to thermalManager.fanSpeedSoftPwm[0] in planner.cpp
It fix compilation error when FAN_SOFT_PWM is enabled.

・Remove declaration of setExtruderAutoFanState() in temperature.h
Because that function was abolished.

・Change from babystepsTodo to thermalManager.babystepsTodo in ultralcd.cpp
It fix compilation errors when BABYSTEPPING is enabled.
2016-05-05 18:01:39 +09:00
Scott Lahteine 4f6120f70f Merge pull request #3643 from thinkyhead/rc_singletons_plus_temperature
Temperature singleton
2016-05-04 20:41:46 -07:00
Scott Lahteine 084f6b5b44 Temperature singleton class 2016-05-04 19:42:12 -07:00
Scott Lahteine 142bd3f3e7 Disable THERMAL_PROTECTION_BED with no sensor 2016-05-04 19:36:51 -07:00
Scott Lahteine a5a6b86898 Merge pull request #3679 from thinkyhead/rc_fix_3677
Can't use the ENABLED macro as a boolean
2016-05-04 16:49:50 -07:00
Scott Lahteine 13f85a2b50 Can't use the ENABLED macro as a boolean 2016-05-04 16:33:57 -07:00
João Brázio 23567a1d8b Moved DELTA radius/rod default trimmer values to Conditionals.h 2016-05-05 00:18:32 +01:00
Scott Lahteine b4b5c7a6b7 Merge pull request #3670 from thinkyhead/rc_scoovo_controller
Use directional buttons when defined
2016-05-03 17:42:18 -07:00
Scott Lahteine 5ff10991c0 Merge pull request #3671 from thinkyhead/rc_ultimate_stepper_planner_patch
Ultimate followup to Stepper/Planner patch
2016-05-03 17:09:23 -07:00
Scott Lahteine 6398d497b3 Ultimate followup to Stepper/Planner patch
- Search all symbols and apply prefixes where needed
- Encapsulate some private methods
- Inline some setters
- Make `microstep_mode` a public method
2016-05-03 17:07:37 -07:00
Scott Lahteine ddafb859e2 Use directional buttons when defined 2016-05-03 12:50:49 -07:00
Scott Lahteine b959020532 Merge pull request #3667 from esenapaj/patch-1
Additional follow-up the PR #3631(Encapsulate S...
2016-05-03 09:36:09 -07:00
Scott Lahteine 4e1a91caa1 Merge pull request #3669 from esenapaj/patch-2
Fix for PR #3526(Configuration.h LCD & SDCard s...
2016-05-03 09:33:27 -07:00
esenapaj 212b17d510 Fix for PR #3526(Configuration.h LCD & SDCard s...
Fix for PR #3526(Configuration.h LCD & SDCard section rewrite)

It removes duplicated BQ_LCD_SMART_CONTROLLER.
2016-05-03 21:35:02 +09:00
esenapaj 605808fe37 Additional follow-up the PR #3631(Encapsulate S...
Additional follow-up the PR #3631(Encapsulate Stepper, Planner, Endstops in singleton classes)

・Change from abort_on_endstop_hit to stepper.abort_on_endstop_hit in endstop.cpp, Marlin_main.cpp, and ultralcd.cpp
・Add include path to cardreader.h and temperature.h in endstop.cpp(for CardReader class and disable_all_heaters())
It fix compilation error when ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED and SDSUPPORT are enabled.

・Change from digipot_current() to stepper.digipot_current() in Marlin_main.cpp
・Change from digitalPotWrite() to stepper.digitalPotWrite() in Marlin_main.cpp
It fix compilation errors when HAS_DIGIPOTSS is enabled.

・Change from microstep_mode() to stepper.microstep_mode() in Marlin_main.cpp
・Change attribute of microstep_mode() from private to public in stepper.h
・Change from microstep_readings() to stepper.microstep_readings() in Marlin_main.cpp
・Change from microstep_ms() to stepper.microstep_ms() in Marlin_main.
It fix compilation errors when HAS_MICROSTEPS is enabled.
2016-05-03 18:28:37 +09:00
Scott Lahteine 6bb664c690 Merge pull request #3665 from thinkyhead/rc_stepper_babystep
Fix BABYSTEPPING, add it to Travis test
2016-05-02 20:44:04 -07:00
Scott Lahteine 7fd0243048 Cleanup, debug strings in Planner::adjusted_position 2016-05-02 20:11:27 -07:00
Scott Lahteine 85e732d5fd Fix BABYSTEPPING, add it to Travis test 2016-05-02 20:01:00 -07:00
Scott Lahteine 37c4970d87 Merge pull request #3660 from esenapaj/patch-2
Follow-up the PR #3631(Encapsulate Stepper, ...
2016-05-02 15:23:38 -07:00
Scott Lahteine ad27d3c523 Merge pull request #3659 from esenapaj/patch-1
Some clean-up for example configuration files
2016-05-02 15:22:29 -07:00
Scott Lahteine f1c1a8dc59 Merge pull request #3661 from Blue-Marlin/83filen2
8.3-filenames second try
2016-05-02 14:47:26 -07:00
Jochen Groppe 0bae00c1ed Merge pull request #3644 from tkurbad/german_translation
Revisited German translation
2016-05-02 16:46:19 +02:00
Blue-Marlin 5ad7d263e9 8.3-filenames second try
Fix for #6 3593, #3648
this time excludung 'DEL' instead of accidently '~'.
2016-05-02 15:58:04 +02:00
Torsten Kurbad aae2f502e0 Revisited German translation 2016-05-02 15:18:12 +02:00
esenapaj a82cfcff2d Follow-up the PR #3631(Encapsulate Stepper, ...
Follow-up the PR #3631(Encapsulate Stepper, Planner, Endstops in singleton classes)

plan_bed_level_matrix -> planner.bed_level_matrix in multi extruders section of Marlin_main.cpp
It probably fix the Issue #3658(plan_bed_level_matrix not declarate).

movesplanned() -> planner.movesplanned() in ADVANCED_OK section of Marlin_main.cpp
It fix compilation error when ADVANCED_OK is enabled
2016-05-02 22:04:26 +09:00
esenapaj 2fa4bc344c Some clean-up for example configuration files
Some clean-up for example configuration files

Follow-up and fix the PR #3253(Make the Autotune item(s) in the LCD menu optional):
・Update forgotten file(Felix/Configuration_DUAL.h)

Follow-up the PR #3526(Configuration.h LCD & SDCard section rewrite):
・Add section of RigidBot Panel to RepRapWorld/Megatronics/Configuration.h

Follow-up the PR #3576(Z Safe Homing for all):
・Adjust spacing

Follow-up and fix the PR #3625(Print job statistics):
・Update forgotten file(Felix/Configuration_DUAL.h)
・Remove ambiguous character "f" in top of RigidBot/Configuration.h
2016-05-02 21:16:00 +09:00
Scott Lahteine f7185fba08 Merge pull request #3651 from jbrazio/feature/generate_version_header_for_marlin
Update version header generation script
2016-05-01 20:30:01 -07:00
Scott Lahteine 11b56a31ab Merge pull request #3657 from thinkyhead/rc_revert_3648_fix_sd_printing
Revert PR 3648 to fix SD printing
2016-05-01 20:02:23 -07:00
Scott Lahteine da47b83b3d Revert PR 3648 to fix SD printing
The character 0x7E is common in 8.3 filenames. Maybe the last condition
should be removed completely instead.
2016-05-01 18:04:04 -07:00
Scott Lahteine 60c6efb75c Merge pull request #3653 from thinkyhead/rc_bed_temp_watch_merge
Introduce temp watch protection for the bed
2016-05-01 13:58:28 -07:00
Scott Lahteine 196af30467 Merge pull request #3654 from thinkyhead/rc_cleanup_pins
Pins cleanups
2016-05-01 13:56:04 -07:00
Scott Lahteine 5b7a6c217a Include more fans in sensitive pins list 2016-05-01 13:49:32 -07:00
Scott Lahteine f508c54c6c Use #undef in AZTEEG_X3_PRO for RAMPS overrides 2016-05-01 13:49:32 -07:00
Scott Lahteine c6f1337f5c NOOP macro for do-nothing macros 2016-05-01 13:49:32 -07:00
Scott Lahteine c2145566c7 Merge pull request #3631 from thinkyhead/rc_singletons
Encapsulate Stepper, Planner, Endstops in singleton classes
2016-05-01 13:47:47 -07:00
Scott Lahteine fbf69081b4 Updated comment for THERMAL_PROTECTION_BED 2016-05-01 13:12:51 -07:00
gralco 908229dbb3 Introduce temp watch protection for the bed
When setting the bed temp via M140/M190 if the thermistor does not read an increase of WATCH_BED_TEMP_INCREASE degrees by WATCH_BED_TEMP_PERIOD seconds then it will throw "Error:Heating failed, system stopped! Heater_ID: bed" and call the kill() function.

Conflicts:
	Marlin/Configuration_adv.h
2016-05-01 13:12:51 -07:00
João Brázio ff7a303a0e Updated version header gen script 2016-05-01 03:31:19 +01:00
Scott Lahteine 77d6e5283b Merge pull request #3648 from Blue-Marlin/83filenames
Don't reject 8.3-filenames with chars > 0x7f
2016-04-30 17:48:03 -07:00
Scott Lahteine 24a15332b3 Encapsulate dual Z endstop handling 2016-04-30 17:26:50 -07:00
Scott Lahteine 462a8a951e A little extra gcode_T spacing 2016-04-30 17:26:50 -07:00
Scott Lahteine 96f51f400f Planner singleton class 2016-04-30 17:26:50 -07:00
Scott Lahteine 5076d12344 Localize M119 in Endstops class 2016-04-30 17:26:50 -07:00
Scott Lahteine 5e4e535ce8 Stepper and Endstops as singleton objects 2016-04-30 17:26:50 -07:00
Scott Lahteine 98f30283fa Merge pull request #3650 from thinkyhead/rc_temp_change_during_m109_m190
Prevent stuck M109/M190 when target is changed
2016-04-30 17:24:51 -07:00
Scott Lahteine 6d3e4e1f8f Prevent stuck M109/M190 when target is changed 2016-04-30 17:03:54 -07:00
Blue-Marlin ac4caab8f1 Don't mangel 8.3-filenames with chars > 0x7f
Don't mangel 8.3-filenames with chars > 0x7f

Windows produces 8.3filenames wit chars > 0x7f. Those have been rejected
by Marlin until now.

With these 'malformed' filenames can now be worked with:
In the LCD menue
With RepetierHost (V1.6.1 tested) - full support. Characters are
displayed as '?'
With Octoprint (1.2.10 tested) the files do not appear in the files
area. At the console, listed with M20 they appear with a '�'.
With Pronterface the files appear in the sd-window but you can't start
them. They are mangled by pronterface. The names are altered and than
recected by Marlin. In the console they apper with differen but not the
correct characters.

All in all a little step forward.

Fix for #3593
2016-04-30 17:37:22 +02:00
Scott Lahteine eeef571be2 Merge pull request #3613 from thinkyhead/rc_acceleration_fix1
Fix an acceleration anomaly by making locals signed
2016-04-29 16:39:31 -07:00
Scott Lahteine c3ef9993b9 Merge pull request #3625 from jbrazio/feature/print-counter
Print job statistics
2016-04-29 15:31:14 -07:00
Scott Lahteine 96b2b3f4fe Merge pull request #3642 from thinkyhead/rc_quieter_wait_for_temps
Keepalive not needed while waiting for temperatures
2016-04-29 15:20:12 -07:00
João Brázio e34f4653ef Fixed a typo on the configuration files 2016-04-29 23:13:59 +01:00
João Brázio 1491d682fb Miscellaneous tweaks on PrintCounter 2016-04-29 23:13:59 +01:00
João Brázio 27088e356f Updated example configuration files 2016-04-29 23:13:59 +01:00
João Brázio 8fb23e899f PrintCounter EEPROM read/write optimizations 2016-04-29 23:13:59 +01:00
João Brázio 9589e51810 Disable DEBUG_PRINTCOUNTER 2016-04-29 23:13:59 +01:00
João Brázio 484de24e22 Updated travis to test for PRINTCOUNTER 2016-04-29 23:13:58 +01:00
João Brázio e2da7e5000 Updated the default configuration and fixed a printcounter.h typo 2016-04-29 23:13:58 +01:00
João Brázio d6cfcc9c8b Added new G-Code: M78 2016-04-29 23:13:58 +01:00
João Brázio 4f541c5bb5 Added a new object: PrintCounter 2016-04-29 23:13:58 +01:00
João Brázio 26b166d7cf Made all stopwatch::debug() calls static 2016-04-29 23:13:58 +01:00
Scott Lahteine 5897b58a70 Merge pull request #3634 from esenapaj/patch-2
Update distribution date and readme again
2016-04-28 21:19:08 -07:00
Scott Lahteine f4706bb90e Keepalive not needed while waiting for temperatures 2016-04-28 21:11:15 -07:00
Scott Lahteine 924285afa6 Merge pull request #3641 from thinkyhead/rc_reverse_menu_doc
Correct the REVERSE_MENU_DIRECTION comment
2016-04-28 20:28:46 -07:00
Scott Lahteine f1b00eb12b Correct the REVERSE_MENU_DIRECTION comment 2016-04-28 20:27:17 -07:00
Scott Lahteine 8905908081 Merge pull request #3632 from thinkyhead/i3_millie_language_fun
Simplified LCD Language settings
2016-04-28 19:52:10 -07:00
esenapaj c7e4b3044b Change "RC6" to "RCBugFix" on top part of the readme, etc
・Change "RC6" to "RCBugFix" on top part of the readme
・Unify distribution date of RCBugFix and RC6
・Move comments about IDE version from RCBugFix section to RC6 section
2016-04-28 20:30:39 +09:00
Scott Lahteine 6c48852b20 Update distribution date 2016-04-28 18:06:53 +09:00
Scott Lahteine 2142d5a62e Merge pull request #3627 from Blue-Marlin/German-again-and-again-and-agin
Correct an error in lang_de
2016-04-27 20:14:15 -07:00
Scott Lahteine 0c11566f42 Replace LANGUAGE_INCLUDE with LCD_LANGUAGE 2016-04-27 20:06:40 -07:00
Scott Lahteine 259794c0be Make DISPLAY_CHARSET_HD44780 a single setting 2016-04-27 20:06:40 -07:00
Scott Lahteine a5d00f755b Merge pull request #3619 from esenapaj/patch-2
Update distribution date and readme
2016-04-27 19:52:30 -07:00
Blue-Marlin e89f01d044 Correct an error in lang_de
There is no way to translate "A-travel" to "A Rückzug". Thats simply
wrong.
2016-04-27 12:59:48 +02:00
esenapaj ee2f37f3cc Update distribution date and readme
It sync with the RC.
2016-04-27 11:21:51 +09:00
Paul Philippov 2d89b5527f fixed link to wiki 2016-04-27 11:19:46 +09:00
Scott Lahteine ad0f70f2f3 Merge pull request #3620 from Blue-Marlin/feedrate_atfer_toolchange 2016-04-26 17:33:15 -07:00
Scott Lahteine d58c5ac446 Merge pull request #3618 from esenapaj/patch-1 2016-04-26 17:20:04 -07:00
Scott Lahteine 2bb5cf5291 Merge pull request #3622 from floyd871/patch-1 2016-04-26 17:14:36 -07:00
Scott Lahteine 6d98f47d1c Merge pull request #3623 from jbrazio/cleanup/convert2unix 2016-04-26 17:13:22 -07:00
Blue-Marlin e58e281473 Fix feedrate after toolchange
The fix is simple. Most changes are because of changed indendation,
bacause of leaving early for wrong tool number
2016-04-27 00:57:45 +02:00
João Brázio 32d798fcc7 Converted all files on src to Unix file format 2016-04-26 21:23:39 +01:00
Michael Neumann 59cfc84dad German "Umlaute"
We don't have to  avoid German "Umlaute" any more.
2016-04-26 21:52:05 +02:00
Matt Keveney 4dfc496965 added recalc_delta_settings() call in Config_RetrieveSettings. Appears to be necessary any time delta-related parameters (M665) are modified 2016-04-26 20:01:53 +09:00
Scott Lahteine ec82e1e05d Merge pull request #3616 from thinkyhead/rc_fixup_some_movement
General cleanup around high level move functions
2016-04-25 20:23:38 -07:00
Scott Lahteine abeab792cb General cleanup around high level move functions
- Use new `DEBUG_POS` macro for `DELTA` debug
- Neaten up `prepare_move` a smidgen
- Remove an old commented `prepare_move()` line
2016-04-25 20:02:24 -07:00
Scott Lahteine 66540f8b84 Merge pull request #3615 from thinkyhead/rc_whats_up_with_M112
Report current position to host after M206 / M428
2016-04-25 18:58:41 -07:00
Scott Lahteine 68d0347e67 Call report_current_position after M206 / M428 2016-04-25 18:43:28 -07:00
Scott Lahteine dcb4cdaa9e Call report_current_position instead of gcode_M114 directly 2016-04-25 18:43:27 -07:00
Scott Lahteine e38baaa23e Fix an acceleration anomaly by making locals signed 2016-04-25 14:17:20 -07:00
Scott Lahteine dd26c67bab Merge pull request #3612 from jbrazio/feature/stopwatch-misc
Renamed stopwatch::status to stopwatch::state
2016-04-25 12:36:34 -07:00
João Brázio 739dcda0f1 Renamed stopwatch::status to stopwatch::state 2016-04-25 17:40:43 +01:00
gralco 840e13f664 Introduce M108 cancel heatup for the hotend and bed
This G-code is asynchronously handled in the get_serial_commands() parser.
2016-04-25 08:33:33 -06:00
Scott Lahteine df2d0eb37c Merge pull request #3608 from thinkyhead/rcbugfix_merge_rc
Merge RC => RCBugFix changes since RC5
2016-04-24 20:28:25 -07:00
esenapaj db56ff5881 follow-up to commit 200b248(Update README.md)
follow-up to commit 200b2487c2

Update release date in another place
2016-04-24 20:16:37 -07:00
Jochen Groppe 0ed43ec34b Update README.md
Oops! at least 1.6.0
2016-04-24 20:16:37 -07:00
Jochen Groppe b899338c32 Update README.md
* Description for RC5
* Hint for deprecated Arduino versions
2016-04-24 20:16:36 -07:00
Scott Lahteine 735f1f5bfa Merge pull request #3606 from thinkyhead/rc_step_sec_comments
Patch steps rate comment in trapezoid function
2016-04-24 19:48:41 -07:00
Scott Lahteine fce1e843b9 Patch steps rate comment in trapezoid function 2016-04-24 19:38:58 -07:00
Scott Lahteine 266ae90861 Merge pull request #3594 from jbrazio/feature/rework-versioning
Rework Marlin's versioning system
2016-04-24 17:42:45 -07:00
João Brázio aa7a65e613 Updated travis config 2016-04-24 05:57:14 +01:00
João Brázio 7de0161204 Updated example config files 2016-04-24 05:21:17 +01:00
João Brázio 3b6f75511f Updated multiple pins files 2016-04-24 05:21:17 +01:00
João Brázio 170f7e8a45 Rework Marlin's versioning system 2016-04-24 05:21:17 +01:00
Scott Lahteine c86d092ef3 Merge pull request #3598 from esenapaj/patch1
Cleanup for language files
2016-04-22 21:55:42 -07:00
esenapaj 8d0b2f358a Cleanup for language files
・Remove abolished strings (MSG_NOZZLE1, MSG_NOZZLE2)
・Remove duplicated strings 
・Arrange the strings in unified order
・Adjust spacing
・Remove some comments in Japanese files(follow-up the PR #3560)

The most part of these changes were salvaged from closed my PR#3550.
2016-04-23 13:27:05 +09:00
Scott Lahteine 2bb56ef6de Merge pull request #3597 from thinkyhead/rc_fix_g29_debug
Move G29 debug output before matrix.set_to_identity()
2016-04-22 21:21:00 -07:00
João Brázio a901555da4 Moved G29 debug output before matrix.set_to_identity() 2016-04-22 20:57:22 -07:00
Scott Lahteine d28db67ca9 Merge pull request #3596 from thinkyhead/rc_fix_typo_in_mbl
Fix a typo in #3586 to fix MBL
2016-04-22 20:16:28 -07:00
Scott Lahteine 88c6693b9e Fix a typo in #3586 to fix MBL 2016-04-22 20:04:08 -07:00
Scott Lahteine 8620024130 Merge pull request #3588 from thinkyhead/rc_z_safe_homing_deps
Allow Z_SAFE_HOMING to compile without a probe
2016-04-21 17:51:18 -07:00
Scott Lahteine aaf9d19954 Allow Z_SAFE_HOMING to compile without a probe 2016-04-21 15:55:49 -07:00
Scott Lahteine 92ab2c7dd8 Merge pull request #3587 from thinkyhead/rc_z_safe_homing_deps
Define dependencies for Z_SAFE_HOMING if left out
2016-04-21 15:46:24 -07:00
Scott Lahteine 63142eef40 Define dependencies for Z_SAFE_HOMING if left out 2016-04-21 15:22:19 -07:00
Scott Lahteine 173334e535 Merge pull request #3418 from jbrazio/translate/danish
Missing Danish translation
2016-04-21 14:56:43 -07:00
João Brázio fe4fc88494 Closes #3351: missing Danish translation 2016-04-21 21:31:47 +01:00
Scott Lahteine ce141deba2 Merge pull request #3586 from thinkyhead/rc_revert_mbl_menu_hack
Revert MBL menus to "known" working point
2016-04-21 13:30:08 -07:00
Scott Lahteine 003aab6dfd Revert MBL menus to "known" working point 2016-04-21 12:59:55 -07:00
Scott Lahteine 6fac4d9211 Merge pull request #3579 from thinkyhead/rc_fix_dogm_and_mbl_menus
Fix menu redraw for DOGLCD, improve MBL
2016-04-20 20:52:56 -07:00
Scott Lahteine 7ddaa79ffe Merge pull request #3578 from thinkyhead/rc_fix_twibus_less_debug_code
Reduce PROGMEM usage by TWIBus, stopwatch
2016-04-20 20:52:16 -07:00
Scott Lahteine cfd10fcba1 Merge pull request #3577 from thinkyhead/rc_fix_G92_set_e_twice
Fix G92 setting E twice
2016-04-20 20:52:09 -07:00
Scott Lahteine fa81b01033 Merge pull request #3576 from thinkyhead/rc_heres_your_z_safe_homing
Z Safe Homing for all
2016-04-20 20:52:01 -07:00
Scott Lahteine dc2281d2f4 Add nextMenu, nextEncoderPosition to change menus after handler loop 2016-04-20 20:19:12 -07:00
Scott Lahteine 7fa2bda1b9 Give the "alive dot" its own blink 2016-04-20 18:57:17 -07:00
Scott Lahteine 9d5e1f32fd Use axis_homed in _lcd_level_bed_homing, item in Prepare before homing 2016-04-20 18:53:33 -07:00
Scott Lahteine 0c2aa92b07 Z Safe Homing for all
The `Z_SAFE_HOMING` feature is coupled with probes and not leveling, so
make it available for general use.
2016-04-20 17:04:52 -07:00
Scott Lahteine 9bcb72e7f8 Further patches to MBL - break up into more handlers 2016-04-20 16:37:35 -07:00
Scott Lahteine 3f6ae85748 Fix some MBL display issues for DOGLCD 2016-04-20 16:36:45 -07:00
Scott Lahteine 71b4f189bf lcd_implementation_drawedit can take 1 arg 2016-04-20 16:36:45 -07:00
Scott Lahteine 1caa2628da Use sync_plan_position_e function elsewhere 2016-04-20 13:02:19 -07:00
Scott Lahteine c7df961144 Fix G92 so it only sets the plan position once 2016-04-20 13:01:58 -07:00
Scott Lahteine 1addb50b62 Shrink debug code in TWIBus and disable by default 2016-04-20 12:44:30 -07:00
Scott Lahteine 21a6b66807 Shrink debug code in Stopwatch and disable by default 2016-04-20 12:44:30 -07:00
Scott Lahteine e523a0dc61 Fix bug in TWIBus ctor declaration 2016-04-20 12:37:46 -07:00
Scott Lahteine ee9bd66a68 Add comments to debug bit flags 2016-04-20 12:37:22 -07:00
Scott Lahteine 3db5a75f30 Merge pull request #3568 from thinkyhead/rc_various_fixes
General code cleanup, improved naming, etc.
2016-04-19 20:53:38 -07:00
Scott Lahteine 8a2587f017 Read size for MAX6675 from sizeof(max6675_temp) 2016-04-19 19:57:32 -07:00
Scott Lahteine ac69fad96d lowercase "stop" function 2016-04-19 19:43:54 -07:00
Scott Lahteine 39ee9c526b setTargetedHotend => get_target_extruder_from_command 2016-04-19 19:43:54 -07:00
Scott Lahteine cafa8b8ce3 Rename filament runout items 2016-04-19 19:43:39 -07:00
Scott Lahteine 27b2e2e786 Document some variables 2016-04-19 19:43:39 -07:00
Scott Lahteine a4062a47ac Rename baricuda variables 2016-04-19 19:43:38 -07:00
Scott Lahteine 78747b1328 min_pos/max_pos => sw_endstop_min/sw_endstop_max 2016-04-19 19:43:38 -07:00
Scott Lahteine 3b0bf88233 Merge pull request #3571 from thinkyhead/rc_m303_with_pidtempbed
Allow setting PIDTEMP and PIDTEMPBED together or apart
2016-04-19 18:26:59 -07:00
Scott Lahteine ba84d8d091 Allow setting PIDTEMP and PIDTEMPBED together or apart 2016-04-19 18:09:29 -07:00
Scott Lahteine 5cb8ec68ae Merge pull request #3566 from thinkyhead/rc_babystep_show_steps
Show steps done in the babystep display
2016-04-18 21:52:55 -07:00
Scott Lahteine 3083ee49f3 Merge pull request #3567 from thinkyhead/rc_mf_bash_scripts
Git helper shell scripts for MarlinFirmware
2016-04-18 21:41:24 -07:00
Scott Lahteine 00d36d10e2 Merge pull request #3560 from thinkyhead/rc_better_graphical_lcd
Aesthetic, functional improvements for Graphical Display
2016-04-18 21:38:02 -07:00
Scott Lahteine dd94ce5bd5 Merge pull request #3565 from thinkyhead/rc_look_at_3563
Output error message for M303 if PIDTEMP is disabled
2016-04-18 21:22:50 -07:00
Scott Lahteine 9a12054e0e Git helper shell scripts for MarlinFirmware 2016-04-18 21:18:35 -07:00
Scott Lahteine 4f04bf7fe8 Show steps done in the babystep display 2016-04-18 20:52:38 -07:00
Scott Lahteine d988708ceb Merge pull request #3559 from esenapaj/patch-1
Update and change Japanese translation
2016-04-18 20:17:54 -07:00
Scott Lahteine 026ae8f2f0 Call lcd_setFont only when needed 2016-04-18 20:09:04 -07:00
Scott Lahteine 90c97c8185 Add _draw_axis_label function to reduce source 2016-04-18 20:09:04 -07:00
Scott Lahteine 34b17d4a8a Reduce heater status code if no bed 2016-04-18 20:09:04 -07:00
Scott Lahteine fc30aa9d88 Aesthetic and functional improvements for graphical LCD 2016-04-18 20:09:04 -07:00
Scott Lahteine b281001329 Use MSG_X, etc., on Hitachi LCD 2016-04-18 20:09:04 -07:00
Scott Lahteine f90a8661cb Uppercase XYZE on Graphical LCD 2016-04-18 20:09:03 -07:00
Scott Lahteine 3613c550fa Rename README file for fonts 2016-04-18 20:09:03 -07:00
esenapaj 1110814ecf Update and change Japanese translation
Update and change Japanese translation

・Follow-up the PR #3411(Update Readme.fonts about Kana), Remove "who really..." strings. I had forgotten it.
・Add readable translated strings in comment
・Add Japanese translation.
  MSG_LCD_ENDSTOPS "エンドストップ"
  (utf8 version only. Because non-utf8 version ("エンドストップ") over 8 characters)
・Change translation.
  MSG_ACC "カソクド mm/s2"
  MSG_ACC "\xb6\xbf\xb8\xc4\xde mm/s2" ("カソクド mm/s2")
2016-04-19 11:28:26 +09:00
Scott Lahteine a26d70e932 Apply indentation to gcode_M303, PID_autotune 2016-04-18 19:04:45 -07:00
Scott Lahteine ba66336503 Output error for disabled M303 2016-04-18 19:03:45 -07:00
Scott Lahteine eda821ca1c Merge pull request #3556 from philfifi/fix_pullup
Fix bug in pullups handling for Z_MIN_PROBE
2016-04-18 18:04:26 -07:00
Scott Lahteine 25b1556a94 Merge pull request #3552 from tnw513/fix_endstops_witbox
Endstop settings modified (witbox). Issue #3547
2016-04-18 18:03:22 -07:00
Scott Lahteine 3479a07cb5 Merge pull request #3546 from thinkyhead/rc_oxivanisher_kossel_config
Update Kossel XL config for 1.1.x
2016-04-18 17:59:12 -07:00
Scott Lahteine 2bc2485313 Update font remarks in Conditionals.h 2016-04-18 17:33:41 -07:00
Philippe LUC 86c868771b Fix bug in pullups handling for Z_MIN_PROBE 2016-04-18 21:16:23 +02:00
Silvio Didonna 91de69bb6e Endstop settings modified. Witbox have max endstops for X and Y. 2016-04-18 16:46:19 +02:00
Scott Lahteine f2558b1f2c Additional delta config updates 2016-04-17 20:04:52 -07:00
Marc Urben 9a661bdd59 Updated Kossel XL config files for the latest Marlin 2016-04-17 20:04:19 -07:00
Scott Lahteine 09c6323b68 Merge pull request #3543 from thinkyhead/rc_better_bootscreen
Better splash screen consolidation
2016-04-17 17:20:13 -07:00
Scott Lahteine 5905ec5ba8 Merge pull request #3541 from thinkyhead/rc_mbl_one_last_lift
Add a final lift, if configured, in Manual Bed Leveling
2016-04-17 17:20:02 -07:00
Scott Lahteine af1711365b Merge pull request #3538 from jbrazio/bugfix/endtop-hit-redeclared
_ENDSTOP_HIT redeclared
2016-04-17 17:12:56 -07:00
Scott Lahteine daade35253 Merge pull request #3544 from manianac/RCBugFix
Fixed Positional_Shift array overrun
2016-04-17 17:07:29 -07:00
Scott Lahteine ed622ac796 Better splash screen consolidator 2016-04-17 17:06:07 -07:00
Jeff K 90c49f5a14 Fixed invalid addressing (overflow) of position_shift / software endstops
Signed-off-by: Jeff K
2016-04-17 19:28:50 -04:00
João Brázio bcf1e027bb Fix the redeclaration of _ENDSTOP_HIT 2016-04-17 18:37:37 +01:00
Scott Lahteine c242bee449 Add a final lift, if configured, in Manual Bed Leveling 2016-04-17 00:12:46 -07:00
Scott Lahteine b6227932f5 Merge pull request #3530 from thinkyhead/rc_set_rcbugfix_for_now
Set version for RCBugFix
2016-04-16 21:40:55 -07:00
Scott Lahteine 19741a0ba6 Merge pull request #3503 from thinkyhead/rc_lcd_endstop_msg
Show all endstops on LCD in checkHitEndstops
2016-04-16 21:32:25 -07:00
Scott Lahteine 7aaff371b0 Set version for RCBugFix 2016-04-16 21:30:52 -07:00
Scott Lahteine db86aaf385 Merge pull request #3528 from thinkyhead/rc_fix_bed_level_equation_oopsie
Fix borked set_bed_level_equation_lsq
2016-04-16 21:01:06 -07:00
Scott Lahteine 5847738bf9 Merge pull request #3527 from thinkyhead/rc_sd_readblock_cleanup
Improve code in Sd2Card::readBlock
2016-04-16 20:50:37 -07:00
Scott Lahteine 837df6108c Fix borked set_bed_level_equation_lsq 2016-04-16 20:35:42 -07:00
Scott Lahteine 7c16e774ca Show all endstops on LCD in checkHitEndstops 2016-04-16 20:08:42 -07:00
Scott Lahteine 40050db210 Improve code in Sd2Card::readBlock 2016-04-16 20:03:39 -07:00
Scott Lahteine 8429ae6beb Merge pull request #3525 from thinkyhead/rc_fix_pid_params_per_extruder
Fix broken PID_PARAMS_PER_EXTRUDER
2016-04-16 19:49:42 -07:00
Scott Lahteine c7353d7929 Merge pull request #3526 from thinkyhead/rc_lcd_config_comments
Configuration.h LCD & SDCard section rewrite
2016-04-16 19:39:53 -07:00
Scott Lahteine 339b5b3e34 Patch more configs with new changes 2016-04-16 19:35:02 -07:00
Scott Lahteine ef2fd620e9 Suggested fixups for LCD/SD config comments 2016-04-16 19:35:02 -07:00
João Brázio 7b5d6ba315 Rebase & feedback 2016-04-16 19:35:02 -07:00
João Brázio d7cc2c0847 Moved some conditionals to Conditionals.h 2016-04-16 19:32:41 -07:00
João Brázio 36a49eab1c Improved the LCD and SD comments blocks in Configuration.h 2016-04-16 19:32:41 -07:00
Scott Lahteine d4a848c72a Fix broken PID_PARAMS_PER_EXTRUDER
As noted by @FalloutBe in #3519
2016-04-16 19:19:40 -07:00
Scott Lahteine 0fc84b75f4 Merge pull request #3522 from esenapaj/patch-1
Follow-up and fix for the PR #3453(ELAPSED / PENDING for rollover-safe time checking)
2016-04-16 19:03:27 -07:00
Scott Lahteine 04fdb4de7d Merge pull request #3524 from thinkyhead/rc_fix_mbl_oopsie_1
Oops! Fix MBL move Z to MESH_HOME_SEARCH_Z between probes
2016-04-16 18:47:32 -07:00
Scott Lahteine 4b75b11a53 Wrap defines in parentheses in configs, M48 2016-04-16 18:21:09 -07:00
esenapaj 832e1c1f2a Follow-up and fix for the PR #3453(ELAPSED / PENDING for rollover-safe time checking)
・Add more "UL" suffix
・Restore removed "UL" suffix
2016-04-17 07:50:02 +09:00
Scott Lahteine 234987ee2f Fix MBL lift 2016-04-16 14:17:06 -07:00
Scott Lahteine a5452902a6 Merge pull request #3516 from thinkyhead/rc_lcd_alert_only_on_error
Don't use LCD alert unless error or alert level is reset later
2016-04-15 19:56:24 -07:00
Scott Lahteine e0830bf8f1 Don't use LCD alert unless error or alert level is reset later 2016-04-15 18:48:49 -07:00
Scott Lahteine 773229b020 Merge pull request #3515 from thinkyhead/rc_wider_splash
On wider screens show a wider splash page, if possible
2016-04-15 17:26:01 -07:00
Scott Lahteine 86467c24be On wider screens show a wider splash page, if possible 2016-04-15 16:42:29 -07:00
Scott Lahteine a8e4d7c135 Merge pull request #3477 from alephobjects/BedTempHysteresis
Implementation of M190 bed temp hysteresis
2016-04-15 16:20:58 -07:00
Scott Lahteine e06931495a Merge pull request #3514 from esenapaj/patch-1
Fix for PR #3502(General cleanup of arc code)
2016-04-15 16:14:04 -07:00
esenapaj 5ecd75eeb3 Fix for PR #3502(General cleanup of arc code) 2016-04-16 07:22:07 +09:00
gralco 8ec8d59df8 Use #if TEMP_RESIDENCY_TIME > 0 rather than #ifdef TEMP_RESIDENCY_TIME 2016-04-15 11:20:32 -06:00
Scott Lahteine 404c36c3bd Merge pull request #3505 from thinkyhead/rc_more_than_this
Fix minor spelling in comments
2016-04-14 21:42:32 -07:00
Scott Lahteine 1cc622b167 Fix minor spelling in comments 2016-04-14 20:06:59 -07:00
Scott Lahteine 866c5be395 Merge pull request #3500 from thinkyhead/rc_shrink_menu_macros
Reduce redundancy in MENU_ITEM code
2016-04-14 19:09:14 -07:00
Scott Lahteine 6e52b0b723 Merge pull request #3504 from thinkyhead/rc_fix_debugging
Fix debugging of vector_3
2016-04-14 19:08:30 -07:00
Scott Lahteine 88367a37f7 Merge pull request #3227 from thinkyhead/rc_home_offsets_and_limits
Relating current_position, min_pos, max_pos, and home_offset
2016-04-14 18:50:43 -07:00
Scott Lahteine b20bf1826d Fix debugging of vector_3 2016-04-14 18:45:26 -07:00
Scott Lahteine 4fb8013be1 Reduce redundancy in MENU_ITEM code 2016-04-14 18:42:06 -07:00
Scott Lahteine b243844690 Merge pull request #3502 from thinkyhead/rc_fix_arcs_bugs
General cleanup of arc code
2016-04-14 18:19:44 -07:00
Scott Lahteine f2abfd6d48 Merge pull request #3501 from thinkyhead/rc_config_comment_cleanup
Update some comments in Configuration.h
2016-04-14 18:19:29 -07:00
Scott Lahteine 5da7de8431 Merge pull request #3488 from thinkyhead/rc_more_manual_level_fix
Mesh Bed Leveling – Add lift between probes, comments, cleanup
2016-04-14 17:59:16 -07:00
Scott Lahteine 2129db581e Simplify MBL movement, zigzag 2016-04-14 16:58:42 -07:00
Scott Lahteine 0493fccc0b mbl.active is a bool now 2016-04-14 16:58:42 -07:00
Scott Lahteine b05f448317 Comments on MBL menu items 2016-04-14 16:58:42 -07:00
Scott Lahteine e08dd0d831 Merge pull request #3498 from thinkyhead/rc_preheat_abs_both_3489
Fix bug in lcd_preheat_pla0123 and lcd_preheat_abs0123
2016-04-14 16:57:38 -07:00
Scott Lahteine 9e95f30de0 Merge pull request #3495 from jbrazio/bugfix/followup-3485
Throw an error if ENCODER_PULSES_PER_STEP < -1
2016-04-14 16:56:36 -07:00
Scott Lahteine 8e5099fa0c Update software endstop positions with M206, M428, G92, etc. 2016-04-14 16:47:22 -07:00
Scott Lahteine 5cfb2533d6 Initial cleaning up of arc code 2016-04-14 16:43:49 -07:00
Scott Lahteine de8c0baf8b Update some comments in Configuration.h 2016-04-14 16:41:20 -07:00
Scott Lahteine fda8f96f00 Fix bug in lcd_preheat_pla0123 and lcd_preheat_abs0123
Trying to preheat a non-existent extruder causes a crash.
2016-04-14 15:48:43 -07:00
João Brázio 9a3f676709 Throw an error if ENCODER_PULSES_PER_STEP < -1 2016-04-14 16:20:17 +01:00
gralco 69c00aea4c Include bed hysteresis setting in the example configs 2016-04-14 08:03:38 -06:00
Scott Lahteine 9ce4264fda Merge pull request #3490 from thinkyhead/rc_mbl_adjustments
Document some movement functions, rename a local
2016-04-13 20:55:20 -07:00
Scott Lahteine f8e10ff1d8 Merge pull request #3491 from thinkyhead/rc_mechanical_probe
Support for "mechanical probe" with Allen Key as a special case
2016-04-13 20:55:14 -07:00
Scott Lahteine 50d083c3e6 Merge pull request #3492 from thinkyhead/rc_config_comment_cleanup
Update some comments in Configuration.h
2016-04-13 20:55:09 -07:00
Scott Lahteine 7eb476597f Update some comments in Configuration.h 2016-04-13 20:34:42 -07:00
esenapaj 2eb1b102f8 Support for "mechanical probe" with Allen Key as a special case 2016-04-13 20:34:12 -07:00
Scott Lahteine cfcd3d7b3e Rename z_offset local to zoffset 2016-04-13 20:09:20 -07:00
Scott Lahteine 5fd20ecac3 Comments on some movement functions 2016-04-13 20:09:20 -07:00
Scott Lahteine c1b953d38f Merge pull request #3487 from thinkyhead/rc_redo_esenpaj_3479
Apply esenapaj 3479 and delta/scara position bugfix
2016-04-13 18:11:33 -07:00
Scott Lahteine bb56b1e74c Merge pull request #3435 from thinkyhead/rc_lcd_leveling_home_etc
More fine-grained control of LCD redraw
2016-04-13 17:59:19 -07:00
Scott Lahteine a781a6f955 Apply esenapaj 3479 and delta/scara position bugfix 2016-04-13 17:41:20 -07:00
Scott Lahteine 2ae7394640 More fine-grained control of LCD redraw 2016-04-12 21:34:34 -07:00
Scott Lahteine 525d8256d4 Merge pull request #3481 from thinkyhead/rc_extruder_offset_array
Fix: gcode_T using non-existent Z offset
2016-04-12 18:23:08 -07:00
Scott Lahteine b9301e6c62 Merge pull request #3482 from thinkyhead/rc_fix_HAS_Z_MIN_PROBE
Patch conditions for HAS_Z_MIN_PROBE
2016-04-12 18:23:02 -07:00
Scott Lahteine dc0a3e37be Patch conditions for HAS_Z_MIN_PROBE 2016-04-12 18:11:36 -07:00
Scott Lahteine 46881c846c Add comments for extruder offset options 2016-04-12 17:16:58 -07:00
Scott Lahteine edf376ce0d Fix: gcode_T using non-existent Z offset
As noted by @snowzach in #3461
2016-04-12 17:15:10 -07:00
gralco 178aeb79c8 Implementation of M190 bed temp hysteresis 2016-04-12 08:56:14 -06:00
Scott Lahteine 0439483bc8 Merge pull request #3476 from thinkyhead/rc_debug_leveling_gcode_t
Add DEBUG_LEVELING output for gcode_T
2016-04-11 21:03:15 -07:00
Scott Lahteine c03e5f5efd Merge pull request #3475 from thinkyhead/rc_language_cleanup
General cleanup of language files
2016-04-11 20:50:57 -07:00
Scott Lahteine 910d3648bb Merge pull request #3474 from thinkyhead/rc_russian_apr2016
Additional Russian translations
2016-04-11 20:50:50 -07:00
Scott Lahteine 63d8893f5d Add DEBUG_LEVELING output for gcode_T 2016-04-11 20:45:10 -07:00
Scott Lahteine 081cfc5cf3 Merge pull request #3472 from thinkyhead/fix_issue_3375
Initialize stepper counts for Delta/SCARA
2016-04-11 19:59:12 -07:00
Scott Lahteine fe0fe184aa Replace some tabs with spaces 2016-04-11 19:42:20 -07:00
Scott Lahteine e773d081c0 General language file cleanup 2016-04-11 19:42:09 -07:00
Scott Lahteine b63c79b5ff Merge pull request #3473 from thinkyhead/rc_one_more_elapse
Fix a messed up ELAPSED instance
2016-04-11 19:30:59 -07:00
Scott Lahteine 068bc980ce Additional Russian translations
Thanks to @gans-AD – #3363
2016-04-11 19:30:14 -07:00
Scott Lahteine f840c7de4d Initialize stepper counts for Delta/SCARA 2016-04-11 19:02:35 -07:00
Scott Lahteine c5a8755cc0 Fix a messed up ELAPSED instance 2016-04-11 18:48:27 -07:00
Scott Lahteine bc33016efc Merge pull request #3471 from thinkyhead/rc_follow_3431
Fix Deutsch string errors, redundancies
2016-04-11 18:46:50 -07:00
Scott Lahteine 81918657f4 Fix Deutsch string errors, redundancies 2016-04-11 18:12:32 -07:00
Scott Lahteine 56acaf3594 Merge pull request #3469 from thinkyhead/rc_aleph_cooldownfix
Fix for M109 and M190 cooldown
2016-04-11 18:01:01 -07:00
gralco c218db136a Fix for M109 and M190 cooldown
Also removes the re-definition of now inside M190's while loop
2016-04-11 17:12:23 -07:00
Scott Lahteine e2a197ab71 Merge pull request #3467 from AnHardt/Fix-Servo-without-endstop-probe
Fix-Servo-without-endstop/probe
2016-04-11 17:04:54 -07:00
Scott Lahteine 3a1ac14bbc Merge pull request #3437 from thinkyhead/rc_lcd_encoder_movement
More bits when encoderPosition is cast as signed
2016-04-11 17:03:23 -07:00
Scott Lahteine c5a2ce4366 Merge pull request #3446 from thinkyhead/rc_fixup_M206_and_mesh
Fix home_offset handling and account for it in G29
2016-04-11 16:49:01 -07:00
Scott Lahteine b1bb1c7989 Merge pull request #3466 from thinkyhead/rc_look_for_leveling_bug
Add CORE support to st_set_position and plan_set_position
2016-04-11 16:45:00 -07:00
AnHardt 9cc571b312 Fix-Servo-without-endstop-probe
Sorry for not having realized someone (me) redefined not existing servo pinns to -1, some lines above.
This is a simple error - not a feature.
2016-04-12 01:01:11 +02:00
Scott Lahteine 3e5312f116 CORE support for st_set_position & plan_set_position 2016-04-11 15:13:42 -07:00
Scott Lahteine e087a99a10 Some cleanup of st_get_pos functions 2016-04-11 15:13:42 -07:00
Roxy-3DPrintBoard 47e3564bbd Merge pull request #3462 from jbrazio/bugfix/old-ide-warning-followup
Versions of Arduino IDE prior to 1.6.0 are no longer supported
2016-04-11 15:58:05 -05:00
João Brázio ca6c6ec4ca Versions of Arduino IDE prior to 1.6.0 are no longer supported 2016-04-11 19:03:06 +01:00
Scott Lahteine fdee2be49c More logging of matrix behavior 2016-04-11 00:06:33 -07:00
Scott Lahteine 7f265db3ef Move sync_plan_position after DEBUG_LEVELING 2016-04-10 23:40:11 -07:00
Scott Lahteine 02550af7c3 Merge pull request #3453 from thinkyhead/rc_jbrazio_m190
ELAPSED / PENDING for rollover-safe time checking
2016-04-10 20:25:02 -07:00
Scott Lahteine 7c770f039c Merge pull request #3456 from thinkyhead/rc_MSG_ERR_REDUNDANT_TEMP
Remove redundant text from MSG_ERR_REDUNDANT_TEMP
2016-04-10 20:23:55 -07:00
Scott Lahteine 925cc305ce Merge pull request #3455 from michos-conradt/RCBugFix
Add missing translations for German
2016-04-10 19:18:42 -07:00
Scott Lahteine 011f4736f1 Remove redundant text from MSG_ERR_REDUNDANT_TEMP 2016-04-10 19:14:46 -07:00
Scott Lahteine 906c1c066f Merge pull request #3423 from jbrazio/translate/pt_BR
Added missing pt_BR translation
2016-04-10 19:13:52 -07:00
Scott Lahteine b30e4528f1 Merge pull request #3454 from thinkyhead/rc_host_timeout_mods
Add a case for M113 to process_next_command
2016-04-10 19:00:40 -07:00
Scott Lahteine 803845ec18 Add a case for M113 to process_next_command 2016-04-10 18:53:03 -07:00
Michael Conradt f3a7a5c99b Merge branch 'RCBugFix' into translations 2016-04-11 03:50:23 +02:00
Michael Conradt 8b923039e2 Add missing german translations. 2016-04-11 03:20:21 +02:00
Scott Lahteine 386140f361 Test time difference in safe way 2016-04-10 18:09:31 -07:00
Scott Lahteine 1b7356b3a1 Account for home_offset in G29 handler 2016-04-10 15:35:02 -07:00
Scott Lahteine f3562dd895 Have M206 alter current_position, M428 use new function 2016-04-10 15:35:01 -07:00
Scott Lahteine 562e281c73 Merge pull request #3443 from thinkyhead/rc_host_timeout_tweak
Adjust timeout code in host_keepalive
2016-04-09 17:45:36 -07:00
Scott Lahteine 2925eb0b59 Merge pull request #3440 from floyd871/patch-1
Wrong Pin Assignment Megatronics 3
2016-04-09 17:01:23 -07:00
Scott Lahteine 6d465321b5 Adjust timeout code in host_keepalive 2016-04-09 16:58:17 -07:00
Scott Lahteine 8198cc30b5 More bits when encoderPosition is cast as signed 2016-04-09 14:22:12 -07:00
Michael Neumann 95acba2cfa Wrong Pin Assignment Megatronics 3
SERVO2 is doubled defined and causes compiler errors
2016-04-09 11:23:22 +02:00
Scott Lahteine 50c3140040 Merge pull request #3414 from thinkyhead/rc_host_timeout_mods
Host Keepalive configurable timeout with 2s default
2016-04-08 21:45:45 -07:00
Scott Lahteine 6bd20371f0 Merge pull request #3438 from thinkyhead/rc_M109_residency_loop_fix
Fix bug which can cause an infinite M109 loop
2016-04-08 21:36:30 -07:00
Scott Lahteine 96e37bb70a Merge pull request #3419 from DavidBjerreBjoerklund/patch-2
Update language_da.h
2016-04-08 21:35:58 -07:00
Scott Lahteine 13d758c651 Merge pull request #3420 from DavidBjerreBjoerklund/patch-3
Update language_da.h
2016-04-08 21:31:14 -07:00
Scott Lahteine 518068a5a8 Merge pull request #3425 from tnw513/FixLangIt
Optimized Italian strings to fit in 16 character display
2016-04-08 21:29:28 -07:00
Scott Lahteine 1b81e5adc7 Merge pull request #3431 from AnHardt/lang-de
de-language additions
2016-04-08 21:25:00 -07:00
Scott Lahteine 1acf901b63 Adjustments to residency_start_ms handling 2016-04-08 21:20:23 -07:00
gralco 907aed57db Fix bug which can cause an infinite M109 loop
Since residency_start_ms is -1 when entering the heatup while loop whilst the hotend temp is close to the target them already then it may not escape.

Hence "Start the TEMP_RESIDENCY_TIME timer when we reach target temp for the first time."
2016-04-08 21:20:23 -07:00
Scott Lahteine 3ecf38d32e Merge pull request #3436 from thinkyhead/rc_experimental_twibus
M155 and M156, a generic TWI/I2C interface for Marlin
2016-04-08 20:35:53 -07:00
jbrazio dd3a06a95a Implemented M155 and M156, a generic TWI/I2C interface for Marlin 2016-04-08 20:14:37 -07:00
Scott Lahteine 843aa90b5a Merge pull request #3434 from thinkyhead/rc_more_debug_leveling
Additional debug leveling output
2016-04-08 18:57:18 -07:00
Scott Lahteine a644ab1de4 Minor patch ups to G29
This may fix a subtle bug caused by doing `G29` more than once without
`G28` between.
2016-04-08 17:53:15 -07:00
Scott Lahteine cba2698871 Additional DEBUG_LEVELING output 2016-04-08 17:53:15 -07:00
AnHardt c3d1b7db2d de-language additions 2016-04-08 22:51:04 +02:00
Scott Lahteine 4e17187c96 Merge pull request #3426 from thinkyhead/rc_no_unhomed_lcd_move_on_delta_scara
No LCD Move for unhomed Delta/SCARA
2016-04-07 19:29:45 -07:00
Scott Lahteine 5e18d650c4 Merge pull request #3427 from thinkyhead/rc_better_SERIAL_ECHOPAIR
No casting needed for SERIAL_ECHOPAIR
2016-04-07 19:29:18 -07:00
Scott Lahteine e0b0d1eb6b Add M113 to get/set Host Keepalive 2016-04-07 19:25:56 -07:00
Scott Lahteine 85883da90c Implement basic HOST_KEEPALIVE_INTERVAL 2016-04-07 19:25:56 -07:00
Scott Lahteine 2eca8d63b3 Add DEFAULT_KEEPALIVE_INTERVAL setting 2016-04-07 19:25:56 -07:00
Scott Lahteine 098fb8f8c9 Merge pull request #3413 from thinkyhead/rc_probe_G30_position
Report the probe position in G30
2016-04-07 19:25:33 -07:00
Scott Lahteine 3460d01441 Merge pull request #3422 from jbrazio/translate/pt_PT
Update pt_PT translation
2016-04-07 19:18:56 -07:00
Scott Lahteine c9c7c66b95 Merge pull request #3421 from jbrazio/bugfix/m109-EXTRUDE_MINTEMP-expansion
M109: Protect against EXTRUDE_MINTEMP expansion
2016-04-07 19:18:34 -07:00
Scott Lahteine d7cbb2eec9 Merge pull request #3403 from jbrazio/feature/stopwatch
Print job timer rework
2016-04-07 19:18:03 -07:00
Scott Lahteine f834bcd43a Merge pull request #3415 from thinkyhead/rc_filwidth_issue
Fix FILAMENT_WIDTH_SENSOR measurement
2016-04-07 19:08:42 -07:00
Scott Lahteine 047c412df6 Merge pull request #3428 from thinkyhead/rc_consolidate_reprap_keypad
Consolidate REPRAPWORLD_KEYPAD, disallow moves for unhomed Delta/SCARA
2016-04-07 19:06:57 -07:00
Scott Lahteine 5fc6daba2b Disallow REPRAPWORLD_KEYPAD moves on Delta/SCARA until homed 2016-04-07 18:40:54 -07:00
Scott Lahteine 7bb15a1c57 Consolidate REPRAPWORLD_KEYPAD definitions 2016-04-07 18:40:54 -07:00
Scott Lahteine dc19b69697 No casting needed for SERIAL_ECHOPAIR 2016-04-07 16:33:21 -07:00
Scott Lahteine 165e73794a Tweak encoderPosition non-zero test 2016-04-07 16:09:42 -07:00
Scott Lahteine 479d307a44 Disable LCD Move XYZ for unhomed Delta/SCARA 2016-04-07 16:09:42 -07:00
Silvio Didonna 9088802da1 Optimized Italian strings to fit in 16 character display 2016-04-07 19:18:22 +02:00
Silvio cc4bb5aa09 Merge pull request #2 from MarlinFirmware/RCBugFix
Rc bug fix
2016-04-07 19:14:17 +02:00
João Brázio 801cd48a72 Added missing pt_BR translation 2016-04-07 13:07:57 +01:00
João Brázio 013f19054b Update pt_PT translation 2016-04-07 13:00:08 +01:00
João Brázio 471d30cc1c M109: Protected against EXTRUDE_MINTEMP expansion 2016-04-07 12:50:57 +01:00
DavidBjerreBjoerklund 5f840d2e30 Update language_da.h
Corrected:
MSG_KILLED
MSG_NO_MOVE
MSG_STOPPED
MSG_PRINT_ABORTED
MSG_ON
MSG_OFF
2016-04-07 13:42:27 +02:00
João Brázio 7c7e30f4cc Adherence to the new OOP coding standards 2016-04-07 12:41:09 +01:00
DavidBjerreBjoerklund b80b40a578 Update language_da.h
Added translation mentioned in issue #3351:
Homing would be best tranlated homing, or "Kører til udgangsposition".

#define MSG_SET_HOME_OFFSETS
#define MSG_LEVEL_BED_HOMING
#define MSG_LEVEL_BED_WAITING 
#define MSG_LEVEL_BED_DONE
#define MSG_LEVEL_BED_CANCEL 
#define MSG_HOME_OFFSETS_APPLIED
2016-04-07 12:52:31 +02:00
Scott Lahteine 573d772c92 Merge pull request #3416 from paulusjacobus/RCBugFix
Optimised Ducth messages to fit in 16 Char display Update language_nl.h
2016-04-06 20:41:14 -07:00
paulusjacobus 3f7ae9a7ce Update language_nl.h
Optimised all added messages to fit within 16 Characters
2016-04-07 13:15:00 +10:00
Scott Lahteine 865dcf3fb4 Fix FILAMENT_WIDTH_SENSOR measurement
Only measure and store filament width when E is going forward.
2016-04-06 19:48:04 -07:00
Scott Lahteine 2f6c5fe2da Report the probe position in G30 2016-04-06 16:55:21 -07:00
Scott Lahteine 74effedbf5 Merge pull request #3412 from paulusjacobus/RCBugFix
rebased my fork with RCBugFix release in order to push language_nl.h
2016-04-06 16:53:35 -07:00
Scott Lahteine bba1f16589 Merge pull request #3411 from esenapaj/patch-1
Update Readme.fonts about Kana
2016-04-06 16:19:19 -07:00
Scott Lahteine c506743f63 Merge pull request #3406 from tnw513/FixLangIt
Update to language_it.h
2016-04-06 16:18:58 -07:00
Paul de Groot 48a4410f02 rebased my fork with RCBugFix release in order to push language_nl.h 2016-04-07 08:17:59 +10:00
esenapaj ff9511b870 Update Readme.fonts about Kana
I think that that sentence has been completed its part. 
Because Kana fonts were revised by me the other day(PR #3289), who am a native Japanese.

And for @AnHardt,
I'd like to take this opportunity to express one's heartfelt gratitude as a far eastern person,
about you has been maintaining the resource of Japanese despite you are a far western person.
2016-04-07 07:13:46 +09:00
Silvio Didonna e215c7100d fixed mistranslations and minor changes for consistency between "it" and "en" files. 2016-04-06 16:45:04 +02:00
Silvio Didonna 6208db3b00 fixed mistranslations and minor changes for consistency between "it" and "en" files. 2016-04-06 16:40:01 +02:00
Silvio 62612580ef Merge pull request #1 from MarlinFirmware/RCBugFix
Rc bug fix
2016-04-06 16:04:09 +02:00
João Brázio e48d0263bf Bugfix: M32 was still using the old print timer 2016-04-06 04:41:36 +01:00
João Brázio e8b80d8c20 Implemented M75, M76, M77 to control the print timer 2016-04-06 04:38:42 +01:00
João Brázio eb61051556 Rework the print job timer to use the stopwatch class 2016-04-06 04:34:03 +01:00
João Brázio 399101fff3 Implemented the stopwatch class and methods 2016-04-06 04:23:45 +01:00
Scott Lahteine 2988147880 Merge pull request #3400 from thinkyhead/rc_sensor_per_extruder
Add more leveling-debug output
2016-04-05 19:38:03 -07:00
Scott Lahteine 98f2e9fc83 Reduce string storage required for DEBUG_LEVELING 2016-04-05 19:04:42 -07:00
Scott Lahteine 1af5d7b35f Add more leveling-debug output 2016-04-05 18:31:10 -07:00
Scott Lahteine d5b19a49f6 Merge pull request #3384 from thinkyhead/rc_adjust_M111_output
Final tweaks to M111 output
2016-04-05 16:48:59 -07:00
Scott Lahteine 9536e28978 Merge pull request #3398 from thinkyhead/rc_sensor_per_extruder
Catch a TEMP_SENSOR error before a pins issue
2016-04-05 16:36:50 -07:00
Scott Lahteine da2ff4a6d3 Catch a TEMP_SENSOR error before a pins issue 2016-04-05 16:17:28 -07:00
Scott Lahteine 90f6f02aca Merge pull request #3397 from thinkyhead/rc_menu_issues_fixer
Revert #3388, clean up lcd_move code
2016-04-05 15:45:35 -07:00
Scott Lahteine fb38d698db Add feedback after "Click to Begin" 2016-04-05 15:35:05 -07:00
Scott Lahteine d5f0db26dc Merge pull request #3390 from jbrazio/docs/update-source-url
Update DEFAULT_SOURCE_URL comment
2016-04-05 15:17:07 -07:00
Scott Lahteine ce58d1d4d5 Merge pull request #3392 from barus93/patch-2
Update language_it.h
2016-04-05 15:16:24 -07:00
Scott Lahteine bd5ca62290 Merge pull request #3393 from gege2b/RCBugFix
Some omitted french translation
2016-04-05 15:14:48 -07:00
Scott Lahteine 582b58e660 Add audio feedback to edit items 2016-04-05 14:51:11 -07:00
Scott Lahteine a70c3ffc21 Minor syntax tweak with encoderPosition 2016-04-05 14:51:11 -07:00
Scott Lahteine 0f247187b8 Drop extra setting of currentMenu 2016-04-05 14:51:11 -07:00
Scott Lahteine 24cde86a4f Fix syntax highlighting of menu_edit_type lines 2016-04-05 14:51:11 -07:00
Scott Lahteine 86372cd394 Add underscore to internal lcd move function names 2016-04-05 14:51:11 -07:00
Scott Lahteine aa97328cd3 Use min_pos/max_pos for _lcd_move 2016-04-05 14:51:10 -07:00
Scott Lahteine f936df9507 Small cleanup of feedrate dead-zone 2016-04-05 14:51:10 -07:00
Scott Lahteine f5c2fb27cd Handle defer_return_to_status in lcd_goto_menu 2016-04-05 14:51:10 -07:00
Scott Lahteine 8459f7fa5c Use ms where possible. 2016-04-05 14:51:10 -07:00
Scott Lahteine 34ce9c4c1c Restore save previous for menu edit items 2016-04-05 14:26:36 -07:00
Gege2B 03d5c9a482 Merge remote-tracking branch 'upstream/RCBugFix' into RCBugFix 2016-04-05 12:14:15 +02:00
Gege2B 4ea45d5c56 Some omitted french translation 2016-04-05 12:04:29 +02:00
barus93 f43e37bb0c Update language_it.h
New messages translated:
#define MSG_LEVEL_BED_HOMING "Homing XYZ"
#define MSG_LEVEL_BED_WAITING "Click to Begin"
#define MSG_LEVEL_BED_DONE "Leveling Done!"
#define MSG_LEVEL_BED_CANCEL "Cancel"
. . .
#define MSG_HOME_OFFSETS_APPLIED "Offsets applied"
2016-04-05 07:24:07 +02:00
João Brázio 9240682630 Followup #3326: Update DEFAULT_SOURCE_URL comment 2016-04-05 02:21:23 +01:00
Scott Lahteine 6c48b4e006 Merge pull request #3387 from thinkyhead/travis_readability
Comments for legibility, include DEBUG_LEVELING, SDSUPPORT
2016-04-04 17:05:58 -07:00
Scott Lahteine 4b8a71055e Merge pull request #3388 from thinkyhead/rc_fix_move_menu_bug
Fix: menu edit items saving position twice
2016-04-04 17:05:15 -07:00
Scott Lahteine 1220dfd5d6 Fix: menu edit items saving position twice 2016-04-04 16:36:04 -07:00
Scott Lahteine ad61a8684a Comments for legibility, test DEBUG_LEVELING 2016-04-04 16:31:37 -07:00
Scott Lahteine b5920837ea Merge pull request #3370 from esenapaj/patch-1
Drop DISABLE_M(IN|AX)_ENDSTOPS, replace with individual endstop flags
2016-04-04 16:12:50 -07:00
Scott Lahteine 53b397ab14 Merge pull request #3364 from jbrazio/script/find-missing-translations
Added a script to check all language files for missing translations
2016-04-04 16:10:36 -07:00
Scott Lahteine d6fe454a13 Merge pull request #3386 from thinkyhead/rc_spanish_rebase
Add Missing Spanish translation
2016-04-04 16:07:34 -07:00
Scott Lahteine 2abea41c41 Merge pull request #3385 from thinkyhead/rc_dutch_translation
Update language_nl.h
2016-04-04 16:02:11 -07:00
RicardoGA 1bfaf57ee5 Add Missing Spanish translation
Add the missing translation (Spanish) issue #3353
2016-04-04 15:55:59 -07:00
paulusjacobus 4a4b797dca Update language_nl.h
Added these messages with Dutch translation
#define MSG_BED_Z
#define MSG_A_TRAVEL
#define MSG_HEATING_FAILED_LCD
#define MSG_ERR_REDUNDANT_TEMP
#define MSG_THERMAL_RUNAWAY
#define MSG_ERR_MAXTEMP
#define MSG_ERR_MINTEMP
#define MSG_ERR_MAXTEMP_BED
#define MSG_ERR_MINTEMP_BED
#define MSG_HEATING
#define MSG_HEATING_COMPLETE
#define MSG_BED_HEATING
#define MSG_BED_DONE
2016-04-04 15:46:50 -07:00
Scott Lahteine 1ee903f30d Merge pull request #3376 from gege2b/RCBugFix
French translation
2016-04-04 15:40:00 -07:00
Scott Lahteine c5ff2c7d32 Merge pull request #3377 from clexpert/patch-1
Update language_cz.h
2016-04-04 15:39:44 -07:00
Scott Lahteine 99898ea652 Merge pull request #3379 from barus93/patch-2
Update language_it.h
2016-04-04 15:39:15 -07:00
Scott Lahteine 56e8e2b0eb Final tweaks to M111 output 2016-04-04 15:36:07 -07:00
Scott Lahteine d5ccc9c70a Merge pull request #3374 from jbrazio/bugfix/m111-corrupted-output
M111: Add static keyword to PROGMEM debug variables
2016-04-04 15:31:57 -07:00
barus93 040a0c49db Update language_it.h
ADD missing translation
2016-04-04 20:22:34 +02:00
Petr Zahradnik 8b843e997a Update language_cz.h 2016-04-04 17:26:19 +02:00
Petr Zahradnik 3cd2beb750 Update language_cz.h 2016-04-04 16:54:26 +02:00
Gege2B 34bf9530c0 French translation 2016-04-04 16:45:06 +02:00
João Brázio d819a4aff9 Fixes #3346, followup #3343: variables must defined with the static keyword to work with PROGMEM when defined inside functions 2016-04-04 15:02:18 +01:00
esenapaj 1326dc7258 Drop DISABLE_M(IN|AX)_ENDSTOPS, replace with individual endstop flags
This is follow-up the commit e5771346a4.
Update unnoticed files.
2016-04-04 17:49:25 +09:00
Scott Lahteine 0433df3835 Merge pull request #3366 from jbrazio/translate/pt_PT
Added missing translations for pt_PT
2016-04-03 21:02:13 -07:00
Scott Lahteine 1d6f90b0b1 Merge pull request #3365 from thinkyhead/fix_fancy_new_endstop_config
Fix bug in new endstop pullups handling
2016-04-03 20:58:52 -07:00
João Brázio dff6adfbca Fixes #3361: Added missing translations for pt_PT 2016-04-04 04:57:32 +01:00
Scott Lahteine c0e7257932 Fix bug in new endstop pullups handling 2016-04-03 20:52:32 -07:00
João Brázio f94900ee79 Added a script to check all language files for missing translations 2016-04-04 04:46:04 +01:00
Scott Lahteine de39056f68 Merge pull request #3343 from thinkyhead/rc_fix_m111_output
Fix M111 output using pgm_read_word, as required
2016-04-03 17:44:38 -07:00
Scott Lahteine e0bef7dfcc Merge pull request #3342 from esenapaj/patch-1
Update Japanese translation
2016-04-03 17:38:28 -07:00
Scott Lahteine fd0ac371b0 Fix M111 output using pgm_read_word as required
As noted by @taratata2016 in https://github.com/MarlinFirmware/Marlin/issues/3300#issuecomment-204687275
2016-04-03 17:33:06 -07:00
esenapaj c4d7e0307c Update Japanese translation 2016-04-04 09:11:23 +09:00
Scott Lahteine c045ec8cb3 Merge pull request #3065 from thinkyhead/rc_doc_tweaks
Simplified endstop configuration
2016-04-03 17:05:47 -07:00
Scott Lahteine d771174797 Merge pull request #3337 from esenapaj/patch-2
suppress warnings
2016-04-03 17:01:22 -07:00
Scott Lahteine f2032cfcf6 Merge pull request #3341 from thinkyhead/rc_english_patch
Fix English definition for MSG_LEVEL_BED_CANCEL
2016-04-03 16:58:51 -07:00
Scott Lahteine fa97ba6230 Merge pull request #3340 from thinkyhead/japanese_accent_sanitize
Update Japanese translation
2016-04-03 16:48:30 -07:00
Scott Lahteine 09c6f80c1e Fix MSG_LEVEL_BED_CANCEL english 2016-04-03 16:41:27 -07:00
esenapaj afe7d26543 Update Japanese translation 2016-04-03 16:39:37 -07:00
Scott Lahteine 3aee89b93a Merge pull request #3338 from thinkyhead/rc_patches_april_3
Add history to LCD Menus, fix up Manual Bed Leveling
2016-04-03 16:37:39 -07:00
Scott Lahteine 22a43980e8 Merge pull request #3339 from thinkyhead/rc_has_temp_hotend
Add HAS_TEMP_HOTEND, account for MAX31855 in conditionals
2016-04-03 16:35:54 -07:00
Scott Lahteine 7a2f73c6db Remove extra comma from LCDHandlerAction 2016-04-03 16:27:30 -07:00
Scott Lahteine 3fbf67e5ce Patch MBL feedback and event handling 2016-04-03 16:27:30 -07:00
Scott Lahteine ef2fbaec98 Headings for menu sub-items, actions, etc. 2016-04-03 16:27:29 -07:00
Scott Lahteine dc109ac4e2 Move MBL code to its logical place 2016-04-03 16:27:29 -07:00
Scott Lahteine 6730408ec1 Move lcd_autostart_sd to its logical place 2016-04-03 16:27:29 -07:00
Scott Lahteine 056b80dc53 Have "back" menu items go to the previous item 2016-04-03 16:27:29 -07:00
Scott Lahteine c94482168b Add MSG_LEVEL_BED_CANCEL for MBL 2016-04-03 16:27:29 -07:00
Scott Lahteine 877fb1f588 Account for MAX31855 in conditionals 2016-04-03 16:19:17 -07:00
Scott Lahteine d24f14a799 Add HAS_TEMP_HOTEND define 2016-04-03 16:18:49 -07:00
esenapaj f9e1a0ee6c suppress warnings 2016-04-04 06:48:53 +09:00
Scott Lahteine cf9a171aa9 Merge pull request #3330 from thinkyhead/rc_mbl_lcdDrawUpdate
Improvements to MBL, general LCD menu handling
2016-04-02 19:20:23 -07:00
Scott Lahteine 783e0122d6 Merge pull request #3331 from thinkyhead/rc_default_info
Split DEFAULT_MACHINE_NAME from DEFAULT_SOURCE_URL
2016-04-02 19:11:48 -07:00
Scott Lahteine 2b01649533 Move default machine info to pins files 2016-04-02 18:53:05 -07:00
Scott Lahteine 4f24323817 Split DEFAULT_MACHINE_NAME from DEFAULT_SOURCE_URL
Addressing #3325 – Avoid undefined symbol errors in the compiler.
2016-04-02 18:41:01 -07:00
Scott Lahteine 771ee1c1a9 Update MBL menu sub-function names 2016-04-02 18:20:47 -07:00
Scott Lahteine d659777e70 Fix MBL to handle re-entrant calls 2016-04-02 18:14:49 -07:00
Scott Lahteine 5719fcba51 Add MSG_LEVEL_BED_DONE and MSG_LEVEL_BED_WAITING 2016-04-02 18:14:49 -07:00
Scott Lahteine 80b8fd1cad Add MSG_HOME_OFFSETS_APPLIED 2016-04-02 18:14:49 -07:00
Scott Lahteine d1c45ff80b More user interaction in MBL 2016-04-02 18:14:49 -07:00
Scott Lahteine 240b71ee1c Give names to lcdDrawUpdate values 2016-04-02 18:14:48 -07:00
Scott Lahteine b0a3c7a91c Add feedback sounds to MBL items 2016-04-02 17:08:43 -07:00
Scott Lahteine 782c598e66 Use ftostr43 with '+' option in MBL Z adjuster 2016-04-02 17:08:43 -07:00
Scott Lahteine f08b0d034f Merge pull request #3328 from RicardoGA/RC_Babystepping_fix
Babystepping Fix
2016-04-02 16:48:45 -07:00
Scott Lahteine 09437466b1 Merge pull request #3324 from tnw513/fix_filament_dia
changed DEFAULT_NOMINAL_FILAMENT_DIA for consistency between example config files
2016-04-02 16:40:24 -07:00
Scott Lahteine 2b4c42610c Adjust SanityCheck messages 2016-04-02 16:39:23 -07:00
Scott Lahteine a617d12f70 Account for Z_DUAL_ENDSTOPS in sanity checking of endstops 2016-04-02 16:39:23 -07:00
Scott Lahteine 868eebfdee Simplify configuration of Z2 endstops 2016-04-02 16:39:23 -07:00
Scott Lahteine e5771346a4 Drop DISABLE_M(IN|AX)_ENDSTOPS, replace with individual endstop flags 2016-04-02 16:39:23 -07:00
Scott Lahteine 071c742b8a Move STRINGIFY to macros.h, use in language.h 2016-04-02 16:38:43 -07:00
Scott Lahteine 2ee599d873 Merge pull request #3321 from tnw513/fix_max_endstop
Max endstops disabled for stock Prusa i3 Hephestos.
2016-04-02 16:38:10 -07:00
Scott Lahteine 4e1bbdb89f Merge pull request #3320 from alhirzel/RCBugFix
Fix manual Y movement on delta (regression).
2016-04-02 16:37:14 -07:00
Scott Lahteine 5fb88a2754 Merge pull request #3314 from jbrazio/bugfix/followup-3235
Fixes missing icons from status screen
2016-04-02 16:36:18 -07:00
Scott Lahteine 3c14c01a3a Merge pull request #3310 from esenapaj/patch-2
Follow-up the commit a393941
2016-04-02 16:35:31 -07:00
Scott Lahteine 93f690afdb Merge pull request #3317 from jbrazio/bugfix/followup-3305
Wrong board def in pins.h
2016-04-02 16:34:39 -07:00
RicardoGA 6b1d2263a2 Babystepping Fix 2016-04-02 14:53:57 -06:00
Silvio Didonna dfe891fe11 changed filament diameter for consistency between all example config files. 2016-04-02 21:05:25 +02:00
Alexander Hirzel 6e0d627c8c Unbreak the Delta radius clipping 2016-04-02 12:58:39 -04:00
Silvio Didonna 6c528e63eb max endstops disabled. Stock Prusa i3 Hephestos have min endstops. 2016-04-02 16:54:59 +02:00
Alexander Hirzel 949172606f Fix manual Y movement on delta (regression). 2016-04-02 10:48:13 -04:00
João Brázio 55a248d6b4 Fixes #3313 : Wrong board def in pins.h 2016-04-02 09:28:58 +01:00
João Brázio 04b2abb6aa Fixes #3312: Missing all icons from status screen 2016-04-02 06:50:02 +01:00
esenapaj 81593cb3cb Follow-up the commit a393941 2016-04-02 11:23:33 +09:00
Scott Lahteine 4d0d37aab7 Merge pull request #3309 from thinkyhead/rc_release_RC5
Release 1.1.0-RC5
2016-04-01 19:23:30 -07:00
Scott Lahteine 6a245fe4f7 Release 1.1.0-RC5 2016-04-01 19:14:49 -07:00
Scott Lahteine e8f8a46ef5 Merge pull request #3303 from thinkyhead/rc_various_fixes
Various patches for LCD menu issues
2016-04-01 18:02:25 -07:00
Scott Lahteine b98f72b483 Small optimization for ftostr43 2016-04-01 17:54:16 -07:00
Scott Lahteine a393941d2d Combine "XYZ" with MSG_LEVEL_BED_HOMING 2016-04-01 17:51:03 -07:00
Scott Lahteine 097cc75ba8 Patch _lcd_level_bed draw to fix flicker, show proper offset 2016-04-01 17:51:03 -07:00
Scott Lahteine 1e1a18e091 Remove extra semicolon in ultralcd.cpp 2016-04-01 17:51:03 -07:00
Scott Lahteine 0b4f65dca8 Always limit blink to ~1 second intervals 2016-04-01 17:51:03 -07:00
Scott Lahteine 8e05b0037b Merge pull request #3307 from thinkyhead/rc_host_keepalive_comment
Fix comment about host keepalive interval
2016-04-01 17:48:17 -07:00
Scott Lahteine ffe054c129 Fix comment about host keepalive interval 2016-04-01 17:28:08 -07:00
Scott Lahteine 0d6609c3c5 lcd_goto_menu should set lcdDrawUpdate to 2 2016-04-01 17:07:40 -07:00
Scott Lahteine af89ccf96a Use flag to defer lcd return-to-status 2016-04-01 17:07:39 -07:00
Scott Lahteine 641b30217e Patch prevEncoderPosition compile issue
Thanks to @jbrazio #3301
2016-04-01 17:07:39 -07:00
Scott Lahteine 41aa4bdf1f Use XYZ translated strings in dogm 2016-04-01 17:07:39 -07:00
Scott Lahteine 92882fcc51 Allow lcd_implementation_drawedit to draw a message 2016-04-01 17:04:33 -07:00
Scott Lahteine 0114cf1101 RCBugFix version string 2016-04-01 17:04:33 -07:00
Scott Lahteine 9c43369ebb Merge pull request #3306 from thinkyhead/rc_fix_num2str
Clean up num2str functions, extend ftostr43
2016-04-01 17:04:03 -07:00
Scott Lahteine 6791401ca7 Merge pull request #3305 from thinkyhead/rc_emart_patch_3297
Support for MKS v1.3/1.4 and Sainsmart RAMPS 1.4 variants
2016-04-01 17:03:54 -07:00
Scott Lahteine 1da9d10173 Support for MKS v1.3/1.4 and Sainsmart RAMPS 1.4 variants 2016-04-01 16:54:35 -07:00
Scott Lahteine fcedfd6e99 Clean up num2str functions, extend ftostr43 2016-04-01 16:52:59 -07:00
Scott Lahteine 2512d8fd5e Merge pull request #3304 from thinkyhead/rc_slow_buttons
Macros for buttons, some cleanup for slow buttons
2016-04-01 15:31:54 -07:00
Scott Lahteine f543aaa54e Apply standard pin test to buttons
This is the easiest way to make button pin testing consistent without
renaming all the button pins. Just make a macro especially for testing
if button pins are set, since they are named consistently in the pins
files.
2016-04-01 15:12:12 -07:00
Scott Lahteine f2ffc8b28b Rename local slow_buttons for clarity 2016-04-01 15:06:33 -07:00
Scott Lahteine 26279fa43c Merge pull request #3289 from esenapaj/patch-1
Update Kana font
2016-04-01 14:31:32 -07:00
Scott Lahteine 0bee67e5f1 Merge pull request #3294 from jbrazio/bugfix/mandatory-extrude-mintemp
Fix an error when EXTRUDE_MINTEMP is not defined
2016-04-01 14:23:32 -07:00
João Brázio 709dd5aa4d Fix an error when EXTRUDE_MINTEMP is not defined 2016-03-31 16:25:48 +01:00
Scott Lahteine 4f85226106 Merge pull request #3288 from thinkyhead/rc_servo_plus_delta
Fix servo deploy/stow issues with G29 and Delta
2016-03-30 19:01:00 -07:00
Scott Lahteine bc86ee0271 Simplify homeaxis with some macros 2016-03-30 18:44:05 -07:00
esenapaj cc5059478a Update Kana font 2016-03-31 10:02:47 +09:00
Scott Lahteine 82ef101ed5 Deploy & Stow in G29 for Delta + Z Servo Endstop 2016-03-30 16:41:16 -07:00
Scott Lahteine 33a9d32800 Merge pull request #3285 from thinkyhead/rc_fix_drawedit
Fix string issues in ultralcd.cpp
2016-03-30 13:01:07 -07:00
Scott Lahteine 6a4d394fff Fix pointer-to-string issues with set_home_offsets and _lcd_level_bed_homing 2016-03-30 12:32:25 -07:00
Scott Lahteine de333c4fea Merge pull request #3279 from thinkyhead/rc_filament_width_sensor
FILAMENT_SENSOR -> FILAMENT_WIDTH_SENSOR
2016-03-30 12:16:27 -07:00
Scott Lahteine 0f835c0c4e Merge pull request #3259 from jbrazio/bugfix/old-ide-warning
Show a warning message when Arduino IDE is prior to 1.5
2016-03-30 12:15:51 -07:00
Scott Lahteine 8def2c31db Merge pull request #3284 from thinkyhead/rc_stop_watchheat_lcdset0
Fix temperature checking conditions (backwards!)
2016-03-30 12:10:39 -07:00
Scott Lahteine b919a6f182 Merge pull request #3280 from esenapaj/patch-1
Update U8glib URL
2016-03-30 12:06:53 -07:00
Scott Lahteine 8bf5f7c676 Merge pull request #3282 from jbrazio/bugfix/m104-timer-wont-start
M104 not starting the print timer
2016-03-30 11:54:16 -07:00
Scott Lahteine 31450ad498 Fix temperature checking conditions (backwards!) 2016-03-30 11:52:03 -07:00
João Brázio 187c183c20 M104 was not starting the print timer 2016-03-30 11:33:24 +01:00
esenapaj 352294b5f5 Update U8glib URL 2016-03-30 14:26:28 +09:00
Scott Lahteine 507aef055f Patch broken M404 2016-03-29 20:54:31 -07:00
Scott Lahteine 1a79b13b7a FILAMENT_SENSOR -> FILAMENT_WIDTH_SENSOR 2016-03-29 20:54:31 -07:00
Scott Lahteine 7f81aa7ff3 Pins should always be defined (even for disabled features) 2016-03-29 20:44:14 -07:00
Scott Lahteine 5f32184254 Merge pull request #3278 from thinkyhead/rc_cleanup_m111_redo
Echo all debug levels in M111, default to DEBUG_NONE
2016-03-29 20:34:31 -07:00
Scott Lahteine 05765fb570 Add DEBUGGING macro 2016-03-29 19:50:01 -07:00
Scott Lahteine 4402760739 Echo all debug levels in M111, default to DEBUG_NONE
Redo of #3268 by @jbrazio
2016-03-29 19:18:45 -07:00
Scott Lahteine f0b96f5cae Merge pull request #3276 from thinkyhead/rc_sdprint_and_lcd_sleuth
Refinements, fixes, reduced stack usage in CardReader
2016-03-29 18:30:18 -07:00
Scott Lahteine 12c0bf9521 Merge pull request #3277 from jbrazio/bugfix/m190-temp-never-reached
M190 bed temp is never reached
2016-03-29 18:28:51 -07:00
João Brázio c6577aea60 M190 bed temp was never reached 2016-03-30 01:03:20 +01:00
Scott Lahteine ce0a9d3dc6 A picky fix of indentation in cardreader.cpp 2016-03-29 16:23:12 -07:00
Scott Lahteine 4ed8351e3d Revert use of enqueue_and_echo_command_now 2016-03-29 16:23:12 -07:00
Scott Lahteine 70d1d4de5f Small code spacing adjustments 2016-03-29 03:19:27 -07:00
Scott Lahteine 0385acea7a Fix workDirParents -> getAbsFilename relationship 2016-03-29 03:18:53 -07:00
Scott Lahteine 27d70599d4 Change openFile default to "not-push" instead of "do-replace" 2016-03-29 03:16:35 -07:00
Scott Lahteine 372f93cc7a Rename "filenames" to "proc_filenames" 2016-03-29 03:15:01 -07:00
Scott Lahteine 6b01cf07c2 Use only as much stack as needed for the M23 command 2016-03-29 02:34:33 -07:00
Scott Lahteine 9e520ae319 Merge pull request #3272 from thinkyhead/rc_filament_sensor_scope
Minor cleanup to filament sensor code
2016-03-28 20:51:46 -07:00
Scott Lahteine f83c03f594 Merge pull request #3271 from thinkyhead/rc_blink_limiter
Keep blinking limited to LCD_UPDATE_INTERVAL
2016-03-28 20:05:56 -07:00
Scott Lahteine 3252df7998 Minor cleanup to filament sensor code 2016-03-28 20:04:34 -07:00
Scott Lahteine b60ea95adf Keep blinking limited to LCD_UPDATE_INTERVAL 2016-03-28 19:41:13 -07:00
Scott Lahteine e0ab06cfae Merge pull request #3267 from thinkyhead/rc_command_args_null_oooops
Cleanup, simplification of command dispatcher code
2016-03-28 18:54:00 -07:00
Scott Lahteine 0b8ef5eba6 Split get_command into units, rename to get_available_commands 2016-03-28 06:00:04 -07:00
Scott Lahteine 545f7997ea Continue on empty lines instead of returning 2016-03-28 05:37:36 -07:00
Scott Lahteine 3dcf6d42ff Don't store escaped serial characters if comment_mode 2016-03-28 05:37:36 -07:00
Scott Lahteine 5f8e52aefb Minor cleanup to command dispatcher 2016-03-28 05:37:36 -07:00
jbrazio 0880fecbd4 Show a warning message when Arduino IDE is prior to 1.5 2016-03-28 11:55:42 +01:00
Scott Lahteine f1ed310322 Add NUMERIC compare macros to simplify code 2016-03-28 03:52:49 -07:00
Scott Lahteine 4b697938e6 Merge pull request #3262 from thinkyhead/rc_less_uptight_temps
Relax the test for "Heating failed" errors
2016-03-27 09:52:50 -07:00
Scott Lahteine 3b2d159abd Relax the test for "Heating failed" errors 2016-03-27 07:02:10 -07:00
Scott Lahteine 2e4ddd5c22 Merge pull request #3260 from jbrazio/cleanup/standardize-comment-style
Formatted multi-line comments
2016-03-26 21:42:33 -07:00
jbrazio 443e6d26fe Formatted multi-line comments 2016-03-27 04:36:36 +01:00
Scott Lahteine ee71f5a320 Merge pull request #3255 from esenapaj/patch-1
Use SBI macro
2016-03-26 17:49:20 -07:00
esenapaj 7950b5268a Use SBI macro 2016-03-26 20:17:52 +09:00
Scott Lahteine e4039a9b5b Merge pull request #3250 from esenapaj/patch-1
Fix typo
2016-03-26 00:41:31 -07:00
Scott Lahteine 1d987cd280 Merge pull request #3253 from thinkyhead/rc_autotune_menu_optional
Make the Autotune option(s) in the LCD menu optional
2016-03-26 00:32:05 -07:00
Scott Lahteine d6f92f9efe Remove Tonokip remnant from recent PR 2016-03-25 23:50:29 -07:00
Scott Lahteine ab412a2153 PIDTEMPBED on #endif 2016-03-25 23:50:28 -07:00
Scott Lahteine 53cc6cca46 Formalize some dependencies on PIDTEMPBED 2016-03-25 23:50:28 -07:00
Scott Lahteine 5955a3063f Sanity check PIDTEMPBED plus BED_LIMIT_SWITCHING 2016-03-25 23:50:28 -07:00
Scott Lahteine 67fabb6044 Merge pull request #3252 from thinkyhead/rc_keepalive_less
Host Keepalive: Reduce frequency of "busy" messages
2016-03-25 23:37:02 -07:00
Scott Lahteine d1bdd25b84 Merge pull request #3249 from esenapaj/patch-2
Update Japanese translation
2016-03-25 22:53:00 -07:00
Scott Lahteine 0d554c10ac Merge pull request #3244 from ch100/RCBugFix
Fixed backlight for PCF8575.
2016-03-25 22:50:20 -07:00
Scott Lahteine cd4c3e90bc Send a busy signal every 10 seconds instead of every 2 2016-03-25 22:15:40 -07:00
Scott Lahteine 8cb04816b5 Apply PID_AUTOTUNE_MENU option to ultralcd.cpp 2016-03-25 19:31:56 -07:00
Scott Lahteine 4b31c67dce Add PID_AUTOTUNE_MENU option 2016-03-25 19:31:56 -07:00
Scott Lahteine e08915a723 Fix comments in Configuration_adv.h 2016-03-25 19:31:31 -07:00
Scott Lahteine 26168676e7 Merge pull request #3246 from thinkyhead/rc_fix_numeric_filenames
Fix: current_command_args skips digits at the front
2016-03-25 16:38:36 -07:00
esenapaj f54315c728 Fix typo
These are salvaged from closed-PR #3216.
2016-03-26 08:37:17 +09:00
esenapaj 37a0806420 Update Japanese trasration
Follow the PR #3242.
2016-03-26 08:21:17 +09:00
Scott Lahteine f423716c6a Fix: current_command_args skips digits at the front
Closes #3245
2016-03-25 16:12:41 -07:00
Christian Inci 627f39e1e3 Fixed backlight for PCF8575.
Fixed backlight for PCF8575.

Signed-off-by: Christian Inci <chris.pcguy.inci@gmail.com>
2016-03-25 14:49:55 +01:00
Scott Lahteine fc0baec991 Merge pull request #3240 from esenapaj/patch-1
Fix distribution date
2016-03-25 06:49:42 -07:00
Scott Lahteine 18de9f55ac Merge pull request #3242 from thinkyhead/rc_epatel_mesh_fixes
Updated Mesh Bed Leveling
2016-03-25 06:48:12 -07:00
Scott Lahteine 3a1e6b1752 Merge pull request #3243 from AnHardt/homed
axis_known_position -> axis_homed
2016-03-25 06:36:46 -07:00
Scott Lahteine 1ee76fa981 Merge pull request #3241 from thinkyhead/rc_general_clean
Code cleanup around MOTOR_CURRENT_PWM options
2016-03-25 06:13:35 -07:00
AnHardt 94962ee678 axis_known_position -> axis_homed
In all these cases we want the axis to be homed. If we could have lost
some steps is secondary.

Reenables homing seperate axis with DISABLE_X / DISABLE_Y true.
2016-03-25 14:05:20 +01:00
Edward Patel 14afe1a017 Move to Z=0 for G28 when using Manual Bed Leveling
copy of https://github.com/MarlinFirmware/MarlinDev/pull/199/commits/406992f9dd44655b33dab46e0cb4fd4a29be1695
2016-03-25 04:58:44 -07:00
Edward Patel c606ed447a Add "G29 S4" to fine tune Z level for Mesh Bed Leveling.
Also add mbl.z_offset to the EEPROM, bumping the version to V23.
2016-03-25 04:58:43 -07:00
Scott Lahteine 5d8036e554 Code cleanup around MOTOR_CURRENT_PWM options 2016-03-25 04:23:46 -07:00
esenapaj bec112de87 Fix distribution date 2016-03-25 18:56:16 +09:00
Scott Lahteine 122bdd187f Merge branch 'RCBugFix' into RC 2016-03-25 01:15:38 -07:00
Scott Lahteine f394c0639e Merge pull request #3230 from jbrazio/bugfix/ultra-lcd-warning
Fix a compiler warning in ultralcd.cpp
2016-03-25 01:14:54 -07:00
Scott Lahteine 9045ea3adf Merge branch 'RCBugFix' into RC 2016-03-25 01:12:37 -07:00
Scott Lahteine f52f388bda Merge pull request #3239 from thinkyhead/rc_jbrazio_fanerr
Closes #3235. Fix dogm lcd error when FAN_PIN is defined as -1
2016-03-25 01:11:06 -07:00
João Brázio f077c7abbf Fix dogm lcd error when FAN_PIN is defined as -1 2016-03-25 01:09:09 -07:00
Scott Lahteine 6f9442afca Merge branch 'RCBugFix' into RC 2016-03-25 01:01:03 -07:00
Scott Lahteine 080c85a4c9 Merge pull request #3236 from thinkyhead/rc_followup_3231
Further cleanup of comments, partial Doxygen-style
2016-03-25 00:53:10 -07:00
Scott Lahteine 0da744b7b0 Further cleanup of comments, partial Doxygen-style
Following up on #3231
2016-03-25 00:45:56 -07:00
Scott Lahteine 4823791eb0 Merge pull request #3228 from esenapaj/patch-1
Fix spelling
2016-03-25 00:40:51 -07:00
Scott Lahteine af6049c6c2 Merge pull request #3231 from jbrazio/license/add-gpl3-header
Added GPLv3 header to all Marlin files
2016-03-24 22:40:40 -07:00
jbrazio 80f221ed11 Fixed: warning: extra tokens at end of #endif directive 2016-03-24 19:33:25 +00:00
jbrazio 5e5d250832 Added gplv3 header to all Marlin files 2016-03-24 18:01:20 +00:00
esenapaj 89a845659a Fix spelling
PROBABLE ->PROBEABLE
This is follow-up to #3069?
2016-03-25 02:13:37 +09:00
Scott Lahteine e12a481e35 Prettier summaries in README 2016-03-24 07:47:59 -07:00
Scott Lahteine c80e5aca30 New README for 1.1.0-RC4 2016-03-24 06:52:14 -07:00
Scott Lahteine dd4d860ad7 Merge branch 'Release-1.1.0-RC4' into RC 2016-03-24 05:33:32 -07:00
Scott Lahteine a6e39c1005 Release 1.1.0-RC4 2016-03-24 05:32:33 -07:00
Scott Lahteine 42ec1f39e7 Merge pull request #3207 from jbrazio/bugfix/toshiba-sdhc-flashair
Toshiba Flash Air Wifi SD card support
2016-03-24 05:28:48 -07:00
Scott Lahteine b6ca86b974 Merge pull request #3197 from PheiPheiPhei/RCBugFix
Enabling servo usage on boards with PWM current control
2016-03-24 05:27:57 -07:00
Scott Lahteine 515c8d4fe9 Merge pull request #3226 from yarda/fix-use-arduino-protocol-for-programming
Use arduino programming protocol by default for sanguino
2016-03-24 05:26:02 -07:00
Scott Lahteine a6805ddf30 Merge pull request #3225 from yarda/fix-melzi-makr3d
Fix MELZI_MAKR3D to use correct motherboard
2016-03-24 05:24:57 -07:00
Scott Lahteine d62ba3d87e Merge pull request #3222 from thinkyhead/rc_persist_endstop_enabling
M120/M121 also set endstops non-homing state
2016-03-24 04:41:42 -07:00
Scott Lahteine af32a7d5d6 M120/M121 also set endstops non-homing state 2016-03-24 03:24:23 -07:00
Scott Lahteine 02f466e633 Merge pull request #3202 from thinkyhead/rc_menu_item_M303_redo
Add Menu Items to initiate M303
2016-03-24 02:41:16 -07:00
Scott Lahteine 04fa9d4f47 Make Autotune options into Menu Edit Items 2016-03-24 02:00:08 -07:00
WPBack e3f583a3be Fixes for PID AutoTune from menu
Fixes for #3189

Setting a temp is still missing
2016-03-24 01:47:30 -07:00
WPBack 3b3e8a02b5 Initial implementation of PID Autotune Menu Items
Adds the parameter U to M303. If U1 is included , it will use the
PID-values from the auto-tune.
2016-03-24 01:46:37 -07:00
Scott Lahteine da9d4c4caf Merge pull request #3206 from esenapaj/patch-5
Follow-up the PR #3082, etc
2016-03-24 00:20:25 -07:00
Scott Lahteine c5857f96c8 Merge pull request #3182 from thinkyhead/rcbugfix_printrboard_revf
Add support for Printrboard RevF
2016-03-24 00:12:06 -07:00
Scott Lahteine f774420488 Merge pull request #3196 from thinkyhead/rc_controllerfan_bug
Make DISABLE_INACTIVE_X, etc., true if missing
2016-03-24 00:11:46 -07:00
Scott Lahteine 7d55d86081 Merge pull request #3219 from AnHardt/RH-pos-update
Send position updates to RH
2016-03-23 23:20:24 -07:00
Scott Lahteine 7ea4e095ad Merge pull request #3220 from thinkyhead/rc_tori_spelling
Patch minor spelling error in cn, en, gl language file headings
2016-03-23 22:43:11 -07:00
Scott Lahteine bcbac698f2 Patch minor spelling issue in cn, en, gl language file headings 2016-03-23 22:30:07 -07:00
Scott Lahteine 49ed4696ea Merge pull request #3218 from AnHardt/lost-pin-undef
Fix lost undef Y_MAX_PIN in pins.h
2016-03-23 21:37:51 -07:00
Scott Lahteine 7112f2e41a Merge pull request #3204 from esenapaj/patch-3
Change link to the document
2016-03-23 20:56:52 -07:00
Scott Lahteine 041fc639d7 Merge pull request #3215 from AnHardt/fix-kickstart
Fix Fan KICKSTART
2016-03-23 20:54:58 -07:00
AnHardt 1c6a16d5bb Send position updates to RH
Send position updates to RH where RH can not know the end position.

For example after G28 RepetierHost assumes to be at the homing-point,
but with a servo probe we are much higher. Now the RH-software-endstops
will prevent us from going down (if activated). With this patch the
internal position of RH is updated with `current_position[]`.
2016-03-23 13:30:50 +01:00
AnHardt 1b336971ae Fix lost undef Y_MAX_PIN in pins.h 2016-03-23 12:48:06 +01:00
AnHardt ba4eebad2f Fix Fan KICKSTART
Sorting ot what else belongs to what if was not so hard.
But the static `ms = ms = millis();` was a bit surpising.
2016-03-23 12:08:02 +01:00
Scott Lahteine cbce025248 Merge pull request #3217 from thinkyhead/rc_updated_kana
Patch-up to commits for Kana #3203.
Closes #3203.
2016-03-23 02:46:26 -07:00
esenapaj 665338bb69 Update Japanese translation 2016-03-23 02:43:53 -07:00
Scott Lahteine 97ed8abd3f Merge pull request #3213 from AnHardt/extend-gitignore
Extend .gitignore
2016-03-23 00:34:30 -07:00
Scott Lahteine b705ae0cb0 Merge pull request #3210 from thinkyhead/rc_cleanup_travis_ci
Improve Travis CI test
2016-03-23 00:32:45 -07:00
Scott Lahteine 1cd1ccbf86 Enable/disable multiple options on a single line. 2016-03-22 22:33:00 -07:00
Scott Lahteine ff272c7b69 Improve Travis CI test
- Add shell scripts to help with managing configs
- Clean up .travis.yml file by using shell scripts
- Don’t download “astyle” – not needed and delays Travis results
2016-03-22 22:23:07 -07:00
AnHardt 0c8e747f88 extend .gitignore 2016-03-22 17:05:45 +01:00
Scott Lahteine 815943ceed Merge pull request #3209 from AnHardt/call-buzz-direct
Call buzz() directly from M428
2016-03-22 08:04:30 -07:00
AnHardt 6486e8b74a Call buzz() directly from M428 2016-03-22 15:05:04 +01:00
jbrazio 757661b299 Toshiba Flash Air Wifi SD card support 2016-03-22 11:42:11 +00:00
esenapaj fc75e6f92d Follow-up the PR #3082, etc
Follow-up the PR #3082
Follow-up the commit 143ad74: unnoticed updates
Fix for commit b0f5ba0: Z offset: -front [of the nozzle] +behind -> Y offset: -front [of the nozzle] +behind
Standardize the writing method: Z-probe, z-probe -> Z Probe
Adjust spacing
2016-03-22 20:22:01 +09:00
esenapaj 22299c13c1 Change link to the document
documentation/LCDLanguageFont.md moved to http://www.marlinfirmware.org/ at commit 12d0983757,
but http://www.marlinfirmware.org/ isn't working.
2016-03-22 19:58:41 +09:00
PheiPheiPhei adb5375a09 Enabling servo usage on boards with PWM current control
Enabling servo usage on boards with PWM current control
timer5 is used by some boards like the Mini Rambo for controlling motor current via PWM, see stepper.cpp.
```cpp
  #ifdef MOTOR_CURRENT_PWM_XY_PIN
    pinMode(MOTOR_CURRENT_PWM_XY_PIN, OUTPUT);
    pinMode(MOTOR_CURRENT_PWM_Z_PIN, OUTPUT);
    pinMode(MOTOR_CURRENT_PWM_E_PIN, OUTPUT);
    digipot_current(0, motor_current_setting[0]);
    digipot_current(1, motor_current_setting[1]);
    digipot_current(2, motor_current_setting[2]);
    //Set timer5 to 31khz so the PWM of the motor power is as constant as possible. (removes a buzzing noise)
    TCCR5B = (TCCR5B & ~(_BV(CS50) | _BV(CS51) | _BV(CS52))) | _BV(CS50);
  #endif
}
```
Using the same timer for controlling servos results in loss of motor control. So use timer4/3 for those boards instead.
[See discussion here.](http://shop.prusa3d.com/forum/software-f13/enabling-auto-leveling-in-firmware-t416-s40.html)
2016-03-22 00:56:31 +01:00
Scott Lahteine cadded1e21 Merge pull request #3201 from jbrazio/feature/update-hephestos2-default-config
Update the Hephestos 2 default config
2016-03-21 14:35:00 -07:00
jbrazio 04e57e2b5e Update the Hephestos 2 default config 2016-03-21 18:20:29 +00:00
Scott Lahteine 40c7e5d4e7 Merge pull request #3199 from esenapaj/patch-2
fix spelling
2016-03-21 05:49:59 -07:00
esenapaj f260e00a72 fix spelling
Thermister -> Thermistor
2016-03-21 20:57:03 +09:00
Scott Lahteine b1a3a95ad4 Tweak controllerFan to save a cycle or two 2016-03-20 22:11:09 -07:00
Scott Lahteine 04a6924633 Make DISABLE_INACTIVE_X, etc., the same as DISABLE_X (etc.) if missing 2016-03-20 22:10:52 -07:00
Scott Lahteine 15fccd43ee Fix spacing of an #endif 2016-03-20 20:32:55 -07:00
Scott Lahteine be08eb6153 Merge pull request #3194 from jbrazio/feature/add-pt_pt-utf8
Add pt_pt-utf8 language pack and fix some minor compiler warnings
2016-03-20 17:42:45 -07:00
Scott Lahteine d1ff7959b7 Merge pull request #3188 from esenapaj/patch-1
follow-up the commit b82d91e
2016-03-20 17:39:52 -07:00
Scott Lahteine 10caee2b7c Merge pull request #3187 from AnHardt/target_extruder_number
Fix extrudernum in MSG_INVALID_EXTRUDER
2016-03-20 17:15:22 -07:00
Scott Lahteine 1cc316f1fd Merge pull request #3082 from thinkyhead/updated_2820
This is quite comprehensive. If probes are disabled in any case when they shouldn't be, I'm sure we will hear about it soon.
2016-03-20 17:10:38 -07:00
Scott Lahteine 7bf5d117e7 Merge pull request #3069 from thinkyhead/rc_delta_compat_m48
Delta-compatible extensions to M48
2016-03-20 17:09:18 -07:00
Scott Lahteine db8ab50c66 Merge pull request #3192 from tnw513/fix_lang
Added missing translations.
2016-03-20 17:07:00 -07:00
Scott Lahteine 06332f20be Merge pull request #3113 from jbrazio/bugfix/3061-stop-print-time-counter
Stop print timer with M105/M109
2016-03-20 17:05:07 -07:00
Scott Lahteine ac4e461901 Merge pull request #3186 from AnHardt/Fix-KEEPALIVE_STATE
Fix KEEPALIVE_STATE
2016-03-20 16:29:19 -07:00
jbrazio 92a7d4515a Missing coma comment correction for the default cofig file 2016-03-20 23:23:11 +00:00
jbrazio 1aa531a3db Missing coma comment correction for all config files 2016-03-20 23:21:45 +00:00
jbrazio 68dda08fff Added pt_pt-utf8 language pack; Fixed some minor compiler warnings; Harmonize file suffix for the current existing UTF8 language packs; Updated all configuration files to reflect the new language packs 2016-03-20 23:14:24 +00:00
Silvio Didonna f8c10d6b0e Added missing translations. 2016-03-20 22:34:00 +01:00
esenapaj 468df96b0f follow-up the commit b82d91e
follow-up the commit b82d91eca6
2016-03-20 20:57:14 +09:00
AnHardt 338b69c24b Fix extrudernum in MSG_INVALID_EXTRUDER
SERIAL_ECHO is not very good in printing uint8_t - so cast. to int.
2016-03-20 11:39:06 +01:00
AnHardt b39b54031b Fix KEEPALIVE_STATE
Add return to NOT_BUSY for M105
Replace WAIT_FOR_USER with PAUSED_FOR_USER

Add Travis test for FILAMENTCHANGEENABLE
2016-03-20 10:41:56 +01:00
Scott Lahteine 32f75749e4 Merge pull request #3117 from Blue-Marlin/thermal-protection
Improve the descriptions for THERMAL_PROTECTION
2016-03-19 23:41:05 -07:00
Scott Lahteine 7aafee3003 Merge pull request #3185 from esenapaj/patch-1
follow-up the PR #3180, #3183
2016-03-19 23:36:55 -07:00
esenapaj 37eaa1406b follow-up the PR #3180 2016-03-20 15:33:02 +09:00
esenapaj 198d5d56fd follow-up the PR #3183 2016-03-20 13:58:05 +09:00
Scott Lahteine 4119cef32f Merge pull request #3180 from clexpert/RCBugFix
Czech language specific changes
2016-03-19 20:18:05 -07:00
Scott Lahteine da94bcfebb Merge pull request #3184 from thinkyhead/fix_command_injection
Patch drain_queued_commands_P
2016-03-19 20:12:16 -07:00
Scott Lahteine 41145e6e81 Patch drain_queued_commands_P
Fix a SNAFU that should have been caught in #3012
2016-03-19 20:10:41 -07:00
Scott Lahteine 3ce0c5063f Merge pull request #3183 from thinkyhead/rc_lcm1602_support
Also closes #3181.
2016-03-19 19:28:50 -07:00
CoderSquirrel eda95d8bed Add support for LCM1602 16x2 I2C LCD adapter 2016-03-19 19:26:44 -07:00
Scott Lahteine 59483221d5 Move stepper DAC to a separate file 2016-03-19 19:24:26 -07:00
Scott Lahteine 5d0570cea0 Make digitalPotWrite depend on HAS_DIGIPOTSS 2016-03-19 19:24:26 -07:00
Scott Lahteine f96bc03081 Add M907-M910 g-codes support for Printrbot Rev. F 2016-03-19 19:24:26 -07:00
Scott Lahteine 8d9cf72db0 Merge pull request #3177 from thinkyhead/rc_finish_M665
Include M665 "ABC" parameters in EEPROM
2016-03-19 18:08:33 -07:00
Stephanie 6843b78f99 Add support for Printrboard RevF
The PrintrBoard Rev F utilizes a mcp4728 DAC to set motor current. Printrbot's implementation utilizes 2 new M-codes to set and write the DAC settings to the DAC EEPROM: `M909` (Read DAC) and `M910` (Write DAC). `M907` is re-used to set value, `M908` for direct control.

The Pins file for the RevF board is included.
2016-03-19 16:43:37 -07:00
Petr Zahradnik 98392782ea Update Configuration.h 2016-03-19 20:45:13 +01:00
Petr Zahradnik daa52124b0 Update language_cz.h 2016-03-19 20:43:28 +01:00
Blue-Marlin 3166aed087 Improve the descriptions for THERMAL_PROTECTION 2016-03-19 14:08:59 +01:00
Scott Lahteine a02ae36ae8 Include M65 "ABC" parameters in EEPROM
Addressing #2773
2016-03-19 05:52:20 -07:00
Scott Lahteine 7f2375ab46 Merge pull request #3176 from thinkyhead/rc_patch_3149_part_ii
Use const parameters in lcd_implementation_drawedit (etc.)
2016-03-19 05:18:25 -07:00
Scott Lahteine cf7c444aff Apply unknown_position_error elsewhere 2016-03-19 05:13:40 -07:00
Scott Lahteine eda5190581 Check for known position in M48 2016-03-19 05:13:40 -07:00
Scott Lahteine 68085ca855 Updated M48 friendly for DELTA
Partial implementation with reference to MarlinFirmware/Marlin#3011
2016-03-19 05:13:40 -07:00
Scott Lahteine 6a3529247f "Homing" as a translatable string 2016-03-19 04:41:03 -07:00
Scott Lahteine c97c2dcaf7 Use const parameters instead of static casting
Alternative fix to #3149
2016-03-19 03:36:53 -07:00
Scott Lahteine 09ef955191 Merge pull request #3086 from thinkyhead/rc_two_fans
Support for multiple PWM fans
2016-03-19 03:19:18 -07:00
Scott Lahteine 38b0082bf2 Additional tweaks to M42 exit conditions 2016-03-19 03:10:18 -07:00
Scott Lahteine 4bbea5124d Support for multiple PWM fans 2016-03-19 03:10:18 -07:00
Scott Lahteine 637cc03686 Fix M109 so it won't wait for cooling
Addressing issue #2767
2016-03-19 03:00:58 -07:00
AnHardt 3f45a1acf9 Check probes only when deployed
Aim: Test probes in update_endstops only when activated

Changes:
Configurations
 Add define for FIX_MOUNTED_PROBE to handle the situation where formerly ENDSTOPS_ONLY_FOR_HOMING had to be set, or lowering the nozzle below Z_PROBE_OFFSET_FROM_EXTRUDER could give an "endstop hit" message.
 Add define for Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to indicate a common situation, that we have a probe but it is connected to an endstop pin
 Add some comments
 Shift some entries to have related things together.

Conditionals.h
 We have a probe (HAS_Z_MIN_PROBE) if one of the pins is defined AND one of the probes is defined.

SanityCheck.h
 Add some tests if the probe is connected and if we have defined a probe.

stepper.cpp
 Changes to test the probe only when it is deployed (z_probe_is_active).
 Test update_endstops() when the probe is deployed.

MarlinMain.cpp
 a. set and reset z_probe_is_active in deploy_z_probe(), stow_z_probe() and dock_sled()
 b. set and reset z_probe_is_active in the case a z-servo is moved to a defined position. The only remaining unhandled servo move is in M280 where we do not end in a defined position. If you want to handle a probe use M401/402
 c. skip deploying/stowing when already deployed/stowed in the dedicated deploy/stow functions.
 d. Handle the new FIX_MOUNTED_PROBE in parallel to a servo driven probe/endstop.

 To do: In another PR. handle all probes in deploy/stow_z_probe.
 Sort out SERVO_LEVELING vs. HAS_SERVO_ENDSTOPS.
2016-03-19 02:00:08 -07:00
Scott Lahteine 4634feaeab Merge pull request #3012 from thinkyhead/fix_command_injection
Use a serial line buffer to prevent queue corruption
2016-03-19 01:43:54 -07:00
Scott Lahteine 9bf87aac6a Merge pull request #3127 from thinkyhead/rc_core_babystepping
Implement BABYSTEPPING for COREXY and COREXZ
2016-03-18 23:25:26 -07:00
Scott Lahteine 4ae03df5c2 Merge pull request #3109 from thinkyhead/rc_host_keepalive
Provide feedback to hosts when busy
2016-03-18 23:22:29 -07:00
Scott Lahteine 963a92ceda Patch idle forevermore 2016-03-18 22:38:35 -07:00
Scott Lahteine 7ec7bb31c4 Send a Busy signal to hosts during long processes, wait for input, etc
If Marlin is blocking the serial input or command queue for any length
of time (for example more than 2 seconds), it needs to send a message
to serial out to inform the host that it is busy. Marlin should only
send these messages out when busy, and preferably not when trying to
print formatted output.
2016-03-18 22:38:35 -07:00
Scott Lahteine 861391d530 Merge pull request #3175 from esenapaj/patch-2
follow-up the PR #3114
2016-03-18 22:10:50 -07:00
esenapaj 8d580ea7e8 follow-up the PR #3114
follow-up the commit d56c6af24e
2016-03-19 13:17:34 +09:00
Scott Lahteine d9e1f22682 BABYSTEPPING requires ULTRA_LCD 2016-03-18 18:22:53 -07:00
Scott Lahteine e5fd43f343 Implement BABYSTEPPING for COREXY and COREXZ 2016-03-18 18:22:53 -07:00
Scott Lahteine 80277cc9c8 drain_queued_commands_P now returns true if there are more 2016-03-18 17:56:48 -07:00
Scott Lahteine 8fe7420310 Use a separate serial line buffer 2016-03-18 16:46:20 -07:00
Scott Lahteine 7d25c107a8 Merge pull request #3149 from esenapaj/patch-1
suppress warnings
2016-03-18 15:40:14 -07:00
Scott Lahteine d56c6af24e Merge pull request #3114 from thinkyhead/rc_reverse_lcd_menu
Option to reverse the click-wheel direction in menus
2016-03-18 15:39:29 -07:00
Scott Lahteine cc291aeb3c Move definition of "blink" to main ultralcd file 2016-03-17 18:19:05 -07:00
Scott Lahteine e7e1866589 Merge pull request #3161 from Alex9779/fix_InitialExtruderDirection
Fix initial extruder direction for second/third/fourth extruder if they run inverted to the first
2016-03-16 12:58:10 -07:00
Scott Lahteine 57e82cacc9 Merge pull request #3156 from esenapaj/patch-3
Fix CardReader::lsDive()
2016-03-16 12:48:22 -07:00
Alexander Leisentritt 4338813814 save last extruder and set stepper directions too in case the extruder changed
fixes MarlinFirmware/Marlin#3144 and MarlinFirmware/Marlin#3083
2016-03-16 20:20:34 +01:00
Scott Lahteine 8f24475e02 Simplify limiting encoderLine in END_MENU 2016-03-16 04:05:41 -07:00
Scott Lahteine fbef2f5b61 Implement reverse menu direction in ultralcd.cpp 2016-03-16 04:03:49 -07:00
Scott Lahteine b8b51d8da8 Add the REVERSE_MENU_DIRECTION option 2016-03-16 04:02:40 -07:00
Scott Lahteine 999a76dbdf Merge pull request #3157 from esenapaj/patch-4
Use variable in lcd_erase_line()
2016-03-16 02:46:42 -07:00
Scott Lahteine e8fa843c2d Merge pull request #3164 from epatel/epatel/RCBugFix
Fix for #3160 MESH_BED_LEVELING broke correct G1 movement in Z
2016-03-16 02:40:54 -07:00
Scott Lahteine fc04b587cf Merge pull request #3147 from thinkyhead/rc_stringify_macro
Promote STRINGIFY to macros.h
2016-03-15 17:37:03 -07:00
Scott Lahteine d7c6fd5c2f Merge pull request #3146 from thinkyhead/rc_enabled_true_false
Support "true" and "false" in the ENABLED macro
2016-03-15 17:35:55 -07:00
Edward Patel cb0dbfa3b5 Fix for #3160 MESH_BED_LEVELING broke correct G1 movement in Z 2016-03-16 01:26:00 +01:00
esenapaj a15c5d222a Use variable in lcd_erase_line()
lcd_erase_line() is called with argument, but the argument is ignored by lcd_erase_line().
2016-03-16 02:59:06 +09:00
esenapaj 609c0d46d9 Fix CardReader::lsDive()
If comparison between signed char(-128 ~ +127) and DIR_NAME_DELETED(uint8_t const 0XE5, it's +229),
it makes incorrect result.
2016-03-16 02:47:58 +09:00
Roxy-3DPrintBoard 3ba9b06b79 Update README.md 2016-03-15 09:12:06 -05:00
Roxy-3DPrintBoard 5286e73f29 Update README.md 2016-03-15 09:10:57 -05:00
Scott Lahteine 2ef49a9d53 Wrap DEFAULT_Ki, DEFAULT_Kd, PID_dT
Addition to #3140
2016-03-15 03:49:44 -07:00
Scott Lahteine eb8cf29464 Merge pull request #3151 from hydrocat/RCBugFix
Uptades the pt-br translation
2016-03-15 02:46:46 -07:00
Scott Lahteine 91cdea4022 Merge pull request #3153 from thinkyhead/rc_fix_macro_expansion
Additional macro wrapping, patches for #3140
2016-03-15 01:37:28 -07:00
Scott Lahteine 6e1bc03d3b Additional wrapping for #3140 2016-03-15 01:18:58 -07:00
Scott Lahteine cc9968f893 Patch spacing in #3140 2016-03-15 01:18:58 -07:00
Scott Lahteine 1c384930f3 Merge pull request #3140 from thinkyhead/rc_fix_macro_expansion
Wrap macros to prevent bad expansions
2016-03-15 00:25:34 -07:00
Scott Lahteine ff30a18d9c Merge pull request #3150 from esenapaj/patch-2
Use local variable in recalc_delta_settings()
2016-03-14 18:55:57 -07:00
VITORIO MIGUEL PRIETO CILIA de2cca73ac Uptades the pt-br translation 2016-03-14 21:16:57 -03:00
esenapaj a4314c4907 Use local variable in recalc_delta_settings()
diagonal_rod hadn't been used anywhere.
2016-03-15 06:47:27 +09:00
esenapaj 8de7a6f9b1 suppress warnings 2016-03-15 06:34:02 +09:00
Scott Lahteine 21be07a6f6 Merge pull request #3126 from Blue-Marlin/stackoverflow-with-e
Extend stack_overflow_protection for lcd_move_e and _lcd_level_bed
2016-03-14 00:04:13 -07:00
Scott Lahteine 9418b4f2f3 Promote STRINGIFY to macros.h 2016-03-13 23:15:17 -07:00
Scott Lahteine 4b648793f2 Use ENABLED with DISABLE_[INACTIVE_][XYZ] 2016-03-13 22:15:45 -07:00
Scott Lahteine 73a59a4e45 Allow ENABLED(b) to work with "true" and "false" 2016-03-13 22:15:01 -07:00
Blue-Marlin c73f1b2471 Extend stack_overflow_protection for lcd_move_e and _lcd_level_bed
Extend stack_overflow_protection for lcd_move_e() and _lcd_level_bed() with
a refined method of 3050.
2016-03-13 13:59:44 +01:00
Scott Lahteine f4a3efd35e Merge pull request #3116 from thinkyhead/rc_fix_value_edit_bug
Fix value edit click bug
2016-03-13 04:08:43 -07:00
Scott Lahteine 3f5fbbd398 Merge pull request #3124 from jbrazio/bugfix/update-g29-auto-level-bed-topography
Update the bed topography output done by G29
2016-03-13 03:51:43 -07:00
Scott Lahteine c16c47954c Merge pull request #3141 from esenapaj2/RCBugFix
follow-up the PR #3131
2016-03-13 03:37:39 -07:00
Scott Lahteine 30c3a21d1f Merge pull request #3112 from thinkyhead/rc_support_MAX31855 2016-03-13 03:30:48 -07:00
Scott Lahteine 81d759efb6 Merge pull request #3138 from jbrazio/bugfix/m109-r-could-wait-forever 2016-03-13 03:26:34 -07:00
Scott Lahteine 2179f598bf Merge pull request #3122 from thinkyhead/rc_group_filament_change 2016-03-13 03:25:38 -07:00
Scott Lahteine 62a9b9902d Merge pull request #3133 from thinkyhead/rc_machine_uuid_in_m115 2016-03-13 03:23:54 -07:00
Scott Lahteine f928894c38 Merge pull request #3132 from thinkyhead/rc_heating_failed_err 2016-03-13 03:23:14 -07:00
esenapaj2 236a44c83b follow-up the PR #3131
follow-up the commit 7326d63ce0
update Configration_adv.h of Hephestos2
delete unnecessary spaces
2016-03-13 19:12:39 +09:00
Scott Lahteine 7326d63ce0 Merge pull request #3131 from thinkyhead/pwm_motor_current_config
PWM_MOTOR_CURRENT Flag
2016-03-13 00:03:03 -08:00
Scott Lahteine f9ded2a7c4 Wrap macros to prevent bad expansions 2016-03-12 22:38:55 -08:00
jbrazio a645860431 All print timer related activity now uses print_job_start(), print_job_timer() or print_job_stop() 2016-03-12 07:16:39 +00:00
jbrazio 1981e53d68 M109 R option if misused could cause a wait-forever situation 2016-03-12 06:24:24 +00:00
Scott Lahteine 7976e29399 Use MACHINE_UUID in M115
Addressing #2879. The M115 report should display `MACHINE_UUID` but it
always displays `UUID`.
2016-03-11 05:34:48 -08:00
Scott Lahteine 81aab828e2 Fix a "Heating failed" error
Addressing #3085. If the target_temperature is set directly it never invokes or disables the timer set in `start_watching_heater`, so after _stopping a print_ or turning off _all heaters_ you could get a “Heating failed” error.
2016-03-11 05:07:48 -08:00
Scott Lahteine 0c48eaf3de Expose motor current in more configs, disable by default 2016-03-11 02:25:36 -08:00
Elijah Snyder e8b10d2836 Adding PWM_MOTOR_CURRENT flag to help expose PWM_MOTOR_CURRENTS in Configuration_adv.h similar to DIGIPOT_MOTOR_CURRENT 2016-03-11 02:25:36 -08:00
Scott Lahteine 7bb7ac8353 Merge pull request #3123 from thinkyhead/rc_move_stepper_macros
Move step macros to stepper_indirection.h
2016-03-10 18:31:01 -08:00
Scott Lahteine cd2ef25032 Merge pull request #3119 from AnHardt/extend-Travis-for-SDSUPPORT 2016-03-10 05:38:35 -08:00
João Brázio 4d4a842cfb Update the bed topography output done by G29 2016-03-10 13:24:17 +00:00
Scott Lahteine 89838cdb10 Move step macros to stepper_indirection.h 2016-03-10 04:34:55 -08:00
Scott Lahteine 70a41a8532 Merge pull request #3121 from thinkyhead/rc_stepper_cleanup
Reduce code in stepper.cpp with some macros
2016-03-10 03:55:37 -08:00
João Brázio 793cd0ae3b Clean up the code a bit 2016-03-10 11:52:43 +00:00
Scott Lahteine 27f244ba2c Support MAX31855 as Temperature Sensor -3 2016-03-10 02:49:54 -08:00
Scott Lahteine ce639b8b03 Group FILAMENT_SENSOR options together 2016-03-10 02:41:37 -08:00
Scott Lahteine 3fd31976c3 Reduce code in stepper.cpp with macros 2016-03-10 01:42:58 -08:00
Scott Lahteine b45a0c4c60 Fix bugs in edit submenus so they return to origin
Expected behavior: After editing a value the menu should return to the
previous place with the edited item selected.
Actual behavior: Either the top (back) item from the previous screen is
selected, or the menu jumps up another level.
Solution: Pass the correct arguments to `lcd_goto_menu` on click when
editing a value.
2016-03-09 21:06:56 -08:00
AnHardt 25d1c94fa8 Add SDSUPPORT test to TRAVIS 2016-03-10 03:06:00 +01:00
Scott Lahteine bedd4dab6a Merge pull request #3107 from AnHardt/z_raise_before_homing
Z_RAISE_BEFORE_HOMING -> MIN_Z_HEIGHT_FOR_HOMING
2016-03-08 19:21:43 -08:00
jbrazio 986b508ff7 Print timer now stops when it sees the last extruder temperature being shutdown 2016-03-08 18:11:02 +00:00
AnHardt fd5414c6ea Z_RAISE_BEFORE_HOMING -> MIN_Z_HEIGHT_FOR_HOMING
rebased
corrected spelling
changed to #elif for error

Still with MIN_Z_HEIGHT_FOR_HOMING but con be done with (folder wide) search-replace when we have a better name.
2016-03-08 17:50:23 +01:00
Scott Lahteine b7928a000a Merge pull request #3108 from AnHardt/M110+
M110 and M29 rework
2016-03-08 03:54:07 -08:00
Scott Lahteine 5cba0b4187 Merge pull request #3111 from thinkyhead/rc_drop_old_condition
Drop obsolete test for leading "N"
2016-03-08 03:07:25 -08:00
Scott Lahteine 302d1bfbc4 Drop obsolete test for leading "N" 2016-03-08 02:25:11 -08:00
Scott Lahteine 04b147645d Merge pull request #3105 from esenapaj2/esenapaj2-patch-1
update example configurations
2016-03-08 00:43:48 -08:00
AnHardt 37b857e8ec M110 ang M29 rework
Add 'ok' output for G29 actually closing the file.
Handle M110 when received without linenumber/checksumm.
2016-03-07 22:27:01 +01:00
esenapaj2 29e09c7c3e update example configurations
update old comments
update or delete deprecated definitions
complement forgotten updates
adjust spacing
some cosmetic changes
2016-03-07 22:03:33 +09:00
Scott Lahteine fac85f6fa1 Merge pull request #3102 from jbrazio/bugfix-g28-multiple-z-movements
Bugfix: G28 was lifting Z-axis multiple times
2016-03-07 03:52:00 -08:00
jbrazio 642e3699ce Z-axis was being lift multiple times if Z_SAFE_HOMING was enabled and Z_RAISE_BEFORE_HOMING was greater than zero 2016-03-07 03:49:11 +00:00
Scott Lahteine 501f63802a Merge pull request #3077 from Blue-Marlin/watchdogreset-in-kill
Add Watchdog timer reset in kill()
2016-03-06 16:21:39 -08:00
Scott Lahteine c23db208d9 Merge pull request #3101 from thinkyhead/rc_fix_stepper_func
Update name of st_get_axis_position_mm in stepper.h
2016-03-06 15:52:57 -08:00
Scott Lahteine 1002eb67c8 Update name of st_get_axis_position_mm in stepper.h 2016-03-06 15:46:39 -08:00
Jaroslav Škarvada 2cbcba1808 Use arduino programming protocol by default for sanguino
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-03-06 20:26:09 +01:00
Jaroslav Škarvada d229c58df6 Fixed Makefile to work with Melzi2 boards on arduino-1.6.x
- also by default use ${HOME}/Arduino as install directory which may be more
sane, especially with arduino packages provided by distributions
- bump arduino version to 106 (this seems to be useless)
- program firmware through the USB serial which is more comfortable way how
to program the firmware
- use 57600 programing speed by default which seems to be more reliable
with arduino bootloaders (at least with those shipped with the Melzi2 boards)

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-03-06 20:12:01 +01:00
Jaroslav Škarvada 7dde761aa6 Fix MELZI_MAKR3D to use correct motherboard
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-03-06 19:33:33 +01:00
Scott Lahteine eafbc5e0cc Add AJ4P pins and fix RAMBO pins 2016-03-06 05:52:01 -08:00
Scott Lahteine cf792fd8d8 Update configurations to use RAMPS 1.4 2016-03-06 05:52:01 -08:00
Scott Lahteine cacf04f8a7 Base RAMPS-like boards on RAMPS 1.4 2016-03-06 05:52:00 -08:00
Scott Lahteine 50e3482e0a Handle RAMPS 1.3 as the special case 2016-03-06 05:52:00 -08:00
Scott Lahteine 679be3294f Rename RAMPS 1.3 pins for RAMPS 1.4 2016-03-06 05:52:00 -08:00
Scott Lahteine f18d3f451a Limit LCD move_to_x/y coordinates for deltas
Related to MarlinFirmware/MarlinDev#270
2016-03-06 05:52:00 -08:00
Scott Lahteine 988332c67a Cosmetic tweaks from dev 2016-03-06 05:52:00 -08:00
Scott Lahteine 2690d8568e DOGLCD width/height in Conditionals.h 2016-03-06 05:51:59 -08:00
Scott Lahteine 614febaaf3 Fix acceleration limits
See: https://github.com/Ultimaker/Marlin/pull/7
2016-03-06 05:51:59 -08:00
Scott Lahteine 13ef12ad3f Fix power calculations
As suggested by @max-pau in #3073 - #3074
2016-03-06 05:51:59 -08:00
Scott Lahteine e2b022cce2 Include #3053 2016-03-06 05:51:59 -08:00
Scott Lahteine 5cba0210f2 Small patch to Z_SAFE_HOMING comment 2016-03-06 05:51:58 -08:00
Scott Lahteine 6165fd41a5 Fix Hephestos 2 and other configs 2016-03-06 05:51:58 -08:00
Scott Lahteine 71718d888a Fix typos in check_axes_activity 2016-03-06 05:51:58 -08:00
Lukas Abfalterer 83795d3e63 deleted double used comments 2016-03-06 05:51:58 -08:00
jbrazio 143ad74db7 Update PROBE_OFFSET_FROM_EXTRUDER comment section in all example config
files.
2016-03-06 05:51:58 -08:00
jbrazio b0f5ba0232 Update the PROBE_OFFSET_FROM_EXTRUDE comment section
This changes have being discussed at MarlinFirmware/Marlin#2849.
2016-03-06 05:51:57 -08:00
jbrazio 02b131b552 Replaced stock BQ PID values with fine tuned ones generated using M303 2016-03-06 05:51:57 -08:00
jbrazio 45dc8a51f3 Added readme file for bqh2 and disabled the SLOWDOWN config flag 2016-03-06 05:51:57 -08:00
Scott Lahteine 6a21180bd4 Implemented BQ ZUM Mega 3D board layout as an override to RAMPS 1.3 2016-03-06 05:51:57 -08:00
jbrazio b18816fcbf Fine tuned XYJERK.
Disallowed the Z_PROBE_OFFSET_RANGE_MAX to be greater than zero.
2016-03-06 05:51:57 -08:00
jbrazio be83036212 Applying suggestions by @thinkyhead at MarlinFirmware/Marlin#3049.
- Remove the forced activation of SDSUPPORT, I guess people may use the ZUM
3D board and not the LCD module.
 - Fixed the tab issue within boards.h file.
2016-03-06 05:51:56 -08:00
jbrazio b82d91eca6 Added configuration example for the BQ Hephestos 2 3D printer.
Added support for BQ ZUM Mega 3D board and stock Hephestos 2 thermistor.
2016-03-06 05:51:56 -08:00
Scott Lahteine 45bcc43e48 Don't override SOURCE_CODE_URL in Default_Version.h
- Defining `SOURCE_CODE_URL` in `Default_Version.h` overrides it
elsewhere. So don’t define it there.
- Also fix up `language.h` so no `#undef` will be needed.
2016-03-06 05:51:56 -08:00
Scott Lahteine ef68c1910c Check that the temperature is close to target 2016-03-06 05:51:56 -08:00
Scott Lahteine ea9fd1200b Fix M109 so it won't wait for cooling
Addressing issue #2767
2016-03-06 05:51:56 -08:00
Scott Lahteine e4945b30d2 sbi and cbi are deprecated 2016-03-06 05:51:55 -08:00
Scott Lahteine ff13070b59 Use _BV macros, patch up others 2016-03-06 05:51:55 -08:00
Scott Lahteine 209f5f21e0 Use macros where possible
Apply `constrain`, `NOMORE`, `NOLESS` and `CRITICAL_SECTION` macros
wherever possible.
2016-03-06 05:51:55 -08:00
Scott Lahteine c8f76bb8aa Create BITSET/BITCLR macros 2016-03-06 05:51:55 -08:00
Scott Lahteine adc25db8c4 Merge pull request #3005 from thinkyhead/rcbugfix_eeprom
Fix layout descr. in configuration_store.cpp
2016-03-06 00:31:44 -08:00
Scott Lahteine e7cf85b922 Merge pull request #3013 from thinkyhead/esenapaj-patch-1
Enhanced #3010 - formal Mesh/Manual dependency
2016-03-06 00:30:02 -08:00
Scott Lahteine 6e64895c30 Merge pull request #3001 from AlwaysTinkering/RCBugFix
Rc bug fix - Fix for issue #2931
2016-03-06 00:20:29 -08:00
Scott Lahteine 34b8b9f0f5 Merge pull request #2995 from thinkyhead/rcbugfix_corexy_corexz
Add CORE support to st_get_position_mm (and elsewhere)
2016-03-06 00:17:03 -08:00
Scott Lahteine 1e20949afb Merge pull request #3092 from thinkyhead/rc_2860_printrbot_lcd
Fix Printrboard with LCD (redo)
2016-03-06 00:14:29 -08:00
Scott Lahteine f5972c4d2c Merge pull request #2994 from AnHardt/Inerrup-save-serial
Interrupt safe serial --- Guard against non-atomic variable changes from interrupt routines
2016-03-05 22:25:12 -08:00
Scott Lahteine 3a3d358df9 Fix Printrboard with LCD (redo)
Based on #2860 - rebased for RCBugFix
2016-03-05 22:13:00 -08:00
Scott Lahteine eb85342fd9 Merge pull request #2989 from AnHardt/fix2661
Pre home display - Stepper release
2016-03-05 21:30:17 -08:00
Scott Lahteine 14f3ca1b2e Merge pull request #2978 from thinkyhead/tool_offset_abl_rcbugfix
Apply bed leveling matrix when switching extruders
2016-03-05 21:23:25 -08:00
Scott Lahteine 91fcdc2b99 Merge pull request #3090 from thinkyhead/rc_spelling
Various minor spelling corrections
2016-03-05 20:50:34 -08:00
Scott Lahteine 772460a7b8 Various minor spelling corrections
Redo of #2939 rebased against RCBugFix
2016-03-05 20:41:15 -08:00
Scott Lahteine aa0b0483f4 Merge pull request #3089 from thinkyhead/rc_apply_2924
Correct raise_z_for_servo for Z offsets below the nozzle
2016-03-05 20:23:14 -08:00
lrpirlet 0fb507a75d correct raise_z_for_servo 2016-03-05 20:19:53 -08:00
Scott Lahteine 04a0d45c22 Merge pull request #2821 from MarlinFirmware/ReinitializeDisplay
Fix status LEDs update when reinitializing the display
2016-03-05 15:31:49 -08:00
Blue-Marlin b4e5e0f11d Add Watchdog reset in kill()
Add watchdog reset in the kill loop to simplify recovering.
2016-03-04 00:35:18 +01:00
Scott Lahteine 547d35a921 Merge pull request #3067 from Blue-Marlin/ALARM_PIN
Remove unused ALARM_PIN
2016-03-02 20:20:26 -08:00
Scott Lahteine 79778d46d9 Merge pull request #3066 from Blue-Marlin/Fix-disable_all_heaters()
Fix disable_all_heaters() for MAX6675
2016-03-02 17:35:08 -08:00
Blue-Marlin a68228bf55 Remove unused ALARM_PIN
Remove unused ALARM_PIN from all the Configuration.h's
2016-03-02 14:29:49 +01:00
Scott Lahteine 9eb4aceee4 Merge pull request #2986 from thinkyhead/enable_watchdog
Enable USE_WATCHDOG by default
2016-03-02 05:29:42 -08:00
Blue-Marlin 0631541166 Fix disable_all_heaters() for MAX6675 2016-03-02 14:17:23 +01:00
Scott Lahteine 222d13d5ed Merge pull request #3051 from thinkyhead/rcbugfix_dual_axis_offset
Code cleanup in gcode_T
2016-03-02 03:45:40 -08:00
Scott Lahteine 186629aee8 Merge pull request #3057 from jbrazio/3034-z_raise_after_probing_fix
Fix Z_RAISE_AFTER_PROBING for non DELTA printers
2016-03-02 03:14:27 -08:00
Scott Lahteine a42fb35c56 Merge pull request #3050 from Blue-Marlin/fix-1166
Temporary workaround for stack overflow
2016-03-01 11:33:19 -08:00
jbrazio 67e15aac3d As pointed out by @Blue-Marlin the previous code would raise the Z axis
twice for a servo based probe.
2016-03-01 00:22:48 +00:00
jbrazio 17cc2a9663 Z_RAISE_AFTER_PROBING value was being ignored by Marlin because
raise_z_after_probing() was only called if the printer type was set to a
DELTA or if the printer had a docking sled for the probe.
2016-02-29 15:48:26 +00:00
Scott Lahteine 252f4a75cd Merge pull request #3043 from oxivanisher/RCBugFix
Example configuration for Kossel XL
2016-02-28 23:57:13 -08:00
Scott Lahteine fd1243c184 Merge pull request #3052 from thinkyhead/rc_fix_m145_eeprom_output
Fix "M145" output in M503 report
2016-02-28 23:43:08 -08:00
Scott Lahteine 0bc648353f Merge pull request #3031 from tnw513/RCBugFix
Fix board type for Hephestos: RAMPS 1.4
2016-02-28 23:23:01 -08:00
AnHardt f27c2b6b4b Reimplement #2892
Include #2892 to fix the isHeating symbol in the extruder graphics
2016-02-28 23:20:30 +01:00
AnHardt 615bec2329 Activate warning about possible reduced accuracy by default
Renamed `WARN_REDUCED_ACCURACY` to `DISABLE_REDUCED_ACCURACY_WARNING`

Changed the condition for blinking from
```
#if ENABLED(WARN_REDUCED_ACCURACY)
```
to
```
#if DISABLED(DISABLE_REDUCED_ACCURACY_WARNING)
```
2016-02-28 23:20:21 +01:00
AnHardt 1c889cd303 Refresh previous_cmd_ms during run_z_probe()
Refresh previous_cmd_ms during run_z_probe() to prevent:
stepper shutdown for expired DEFAULT_STEPPER_DEACTIVE_TIME
and extrudes for expired EXTRUDER_RUNOUT_SECONDS
(https://github.com/MarlinFirmware/MarlinDev/issues/238)
2016-02-28 23:20:12 +01:00
AnHardt 4b02f33e69 Distribute config-changes to the other configurations 2016-02-28 23:20:04 +01:00
AnHardt be24fdacea The same changes to the axis-letters now for the char-displays
Exactly the same - copy/paste.
2016-02-28 23:19:54 +01:00
AnHardt 5b0f659355 Changes for graphics displays
Replaced displaying "---" instead of the value of a coordinate when
unhomed or with reduced precision
with blinking the coordinate-prefix-character ('X','Y','Z').
For "unhomed" a '?' is shown every second second - until that axis is
homed. The value displayed is, as before the "---" where displayed, the
relative to the reset position coordinate value.
When the axis stepper was disabled, now we can display a hint on that,
by showing a blinking ' ' instead of the axis letter, when
WARN_REDUCED_ACCURACY is defined.

I suppose the code itself is here the better documentation.

A '+/-' character is in non of our charsets so i decided for a '?' for
now to reduce the work.
There is no additional space on the displays one could use to display
the information, so replacing something is the only option. As the axis
letters are totally redundant with their positions on the display they
contain the least information.
So my decision was to overwrite them.
2016-02-28 23:19:32 +01:00
AnHardt 32ae9f9ab7 Fix stepper shutdown during waiting for temperatures
In the wait loops of M109 M190 idle() is called, what checks
stepper_inactive_time against previous_cmd_ms.
Because we can be several minutes inside the loop, resetting
previous_cmd_ms only outside the loop caused stepper shutdowns.

The name of previous_cmd_ms does not really reflect its use. It's set
not only when a new command was received or executed but also in many of
the movement routines. For that the little extension of using it during
the wait will (hopefully) not hurt.

# Conflicts:
#	Marlin/Configuration_adv.h
2016-02-28 16:58:50 +01:00
AnHardt b6e69e71ce Make stepper shutdown after inactivity dependent
Make stepper shutdown after inactivity dependent on a new set of
#defines.
DISABLE_INACTIV_X
DISABLE_INACTIV_Y
DISABLE_INACTIV_Z
DISABLE_INACTIV_E

And make exemplaric Configuration.
Names can be discussed.

This makes the disabling of the steppers independent from the DISABLE_?
settings witch shut down the steppers immediately.
2016-02-28 16:58:42 +01:00
AnHardt 051325ccd7 Introduce axis_homed
Introduce additional variable axis_homed to replace axix_known_position
when the coordinate display should indicate the axis is not homed.
This is to distinguish between "not homed" and "inexact position possible
because stepper was disabled".

# Conflicts:
#	Marlin/ultralcd_implementation_hitachi_HD44780.h
solved
2016-02-28 16:58:28 +01:00
AnHardt e736779d7e blink for char-lcds
Implement and test blinking for char-lcds

# Conflicts:
#	Marlin/ultralcd_implementation_hitachi_HD44780.h
solved
2016-02-28 16:58:19 +01:00
Scott Lahteine 7253a1971d Fix "M145" output in M503 report 2016-02-27 22:28:08 -08:00
Scott Lahteine d118e3f985 Merge pull request #3044 from thinkyhead/rc_gcode_spaces
Fix GCode handling of spaces between command letter and first digit
2016-02-27 22:21:28 -08:00
Scott Lahteine 100271e6ac minor cleanup in gcode_T 2016-02-27 19:56:56 -08:00
Blue-Marlin fd9e94e5a4 Fix crashes when the Z axis is moved via LCD
Fix crashes when the Z axis is moved via LCD
by calling `plan_buffer_line` only when there is enough room in the
planner buffer, to avoid endless recursion.
A brief description about what went wrong is in #1166
2016-02-28 00:59:47 +01:00
Scott Lahteine 8dccd5a7ea Merge pull request #3018 from CONSULitAS/RCBugFix_K8200_backinsync
K8200: sample config back in sync
2016-02-27 05:22:12 -08:00
Scott Lahteine 6a4f06d35d Fix GCode handling of spaces between command letter and first digit 2016-02-26 18:42:59 -08:00
Marc Urben 68eae2b5a8 added kossel xl example configuration 2016-02-27 01:48:45 +01:00
Silvio Didonna eb5817675d Fix board type: RAMPS 1.4 2016-02-25 15:52:41 +01:00
Scott Lahteine 8006684c19 Merge pull request #3027 from CONSULitAS/RCBugFix_current_command
Fix: current_command_args contains command
2016-02-24 17:43:38 -08:00
AnHardt cb88fdd242 Protect MarlinSerial against interrupts
Protect MarlinSerial against interrupts
by shielding the CRITICAL_SECTIONs

Now with a test if RX_BUFFER_SIZE is in the required range.
Code in peek() and read() is now optimized for readability and showing the similarity between the two.

Maybe a bit overprotected in checkRx() and store_char(), but now some days without detected errors from this source.
2016-02-24 17:18:12 +01:00
AnHardt dc0f41868e Make rx tail/head atomic 2016-02-24 15:51:34 +01:00
CONSULitAS ea8409ad5d Fix: current_command_args contains command
@thinkyhead
Hi Scott,
your code from a0f362c@thinkyhead is great, but you forgot to skip the
command.
Symptom `M117 Test`shows `M117 Test` on LCD instead of `Test`.

see also
https://github.com/MarlinFirmware/Marlin/commit/a0f362c735401ebbcd95de3f
6f8e3c2f17ecc770 lines 941, 2851 and so on

Greetings and welcome back

Jochen
2016-02-24 09:35:04 +01:00
Scott Lahteine 9a3408e58f Merge pull request #3024 from thinkyhead/rc_remove_steps_mm_e
Remove obsolete STEPS_MM_E setting
2016-02-23 23:37:09 -08:00
Scott Lahteine 1093c780c8 Remove obsolete STEPS_MM_E setting 2016-02-23 01:11:58 -08:00
CONSULitAS a4fe6a45ae K8200: sample config back in sync
* Configuration.h:
  * updated header comment
  * new UUID feature used
  * sync to default config
  * typos fixed
  * changes better documented
  * reflect change in SDSUPPORT feature
* Configuration_adv.h
  * updated header comment
  * thermal protection tuned to work with K8200
  * homing tuned
  * sync to default config
  * typos fixed
  * changes better documented
  * reflect change in LCD features
  * use long filenames
  * use Watchdog
  * use Babystepping
  * use Auto Filament Change
2016-02-21 16:06:25 +01:00
Scott Lahteine c2e5c6c12c Nest Manual Bed Leveling options
This formalizes the dependency of MANUAL_BED_LEVELING on
MESH_BED_LEVELING
2016-02-20 20:35:10 -08:00
Scott Lahteine 042a6a0a37 Extend existing MESH_BED_LEVELING test 2016-02-20 20:35:10 -08:00
esenapaj 08b3147791 sanity check for MANUAL_BED_LEVELING 2016-02-20 20:35:10 -08:00
Scott Lahteine 9f8e6dce20 Merge pull request #2942 from esenapaj/esenapaj-patch-2
more suitable display format for delta printer
2016-02-18 17:59:35 -08:00
Scott Lahteine e1beaf61eb Merge pull request #2985 from AnHardt/adv-ok
Repair N in ADVANCED_OK
2016-02-18 17:06:26 -08:00
esenapaj 34cde1b77c Merge pull request #14 from MarlinFirmware/RCBugFix
Rc bug fix
2016-02-19 09:19:23 +09:00
Scott Lahteine f00ca3fd89 Fix layout descr. in configuration_store.cpp 2016-02-17 19:44:04 -08:00
Scott Lahteine 0c9db67273 Merge pull request #2983 from AnHardt/ok-echo
Replace the "ok" in M280, M301, M304, M851 with output not including …
2016-02-17 19:09:41 -08:00
Scott Lahteine fbfbc5e330 Enable USE_WATCHDOG by default 2016-02-17 17:14:57 -08:00
Scott Lahteine d4e7c2d694 Merge pull request #2976 from thinkyhead/drop_configurator
Drop the experimental Configurator
2016-02-17 17:08:08 -08:00
Scott Lahteine 9df0e0e0cc Merge pull request #2974 from thinkyhead/sanitycheck_spi_speed
Sanity-check deprecated options replaced by SPI_SPEED
2016-02-17 17:07:58 -08:00
Scott Lahteine 3e2473e695 Merge pull request #2988 from thinkyhead/z2_more_extruders
Use next open E connector for Y2/Z2
2016-02-17 17:07:07 -08:00
Scott Lahteine 8eaba020fb Merge pull request #2973 from thinkyhead/fix_splash_url
Remove references to marlinfirmware.org
2016-02-17 17:05:06 -08:00
Scott Lahteine 438a87eba8 Sanity check deprecated SDSLOW, SDEXTRASLOW 2016-02-17 14:54:10 -08:00
Scott Lahteine b19b272172 Update configurations with SPI_SPEED
- Include aligned comment about new SDSUPPORT behavior
2016-02-17 14:54:09 -08:00
Scott Lahteine 7f30f85602 Merge pull request #2987 from thinkyhead/gcode_allow_no_initial_space
Fix handling of spaces in GCode
2016-02-17 14:51:19 -08:00
Scott Lahteine b81d3b83cf Drop the experimental Configurator
Development moved to https://github.com/thinkyhead/MarlinConfigurator
2016-02-17 14:49:37 -08:00
Scott Lahteine be691b51f1 Remove references to marlinfirmware.org
The domain is gone and doesn’t redirect, so for now show no URL on the boot screen.
2016-02-17 14:41:46 -08:00
Scott Lahteine f3f58bd619 Merge pull request #2992 from thinkyhead/rc_rename_fpos_t
Rename fpos_t to avoid libc conflict
2016-02-17 14:40:33 -08:00
Scott Lahteine b03787262a Merge pull request #2868 from esenapaj/esenapaj-patch-1
Fix AUTOTEMP documentation in configs
2016-02-17 14:15:29 -08:00
Scott Lahteine 83ffc9eb4f Show raw steps in M114
This is a proposed change. This section of M114 output is a debug
extension according to RepRap wiki.
2016-02-15 15:59:24 -08:00
Scott Lahteine 373e8a1ad4 Fixes for COREXY and COREXZ coordinates 2016-02-15 15:59:24 -08:00
unknown 31656e68bc Fix for homing X and Y before raising Z when Z_SAFE_HOMING is set. 2016-02-15 15:53:40 -06:00
unknown 8ea55323d8 Fix for not raising Z before homing X and Y 2016-02-15 14:52:04 -06:00
Scott Lahteine b83e472bd3 Rename fpos_t to avoid libc conflict 2016-02-10 20:49:25 -08:00
Scott Lahteine 68457ee903 For Dual Y/Z use the next available extruder pins 2016-02-09 21:59:09 -08:00
Scott Lahteine 711e5db19a Tweak comment in process_next_command 2016-02-09 18:16:35 -08:00
Scott Lahteine 400e9329be Allow spaces after a code letter 2016-02-09 18:03:13 -08:00
Scott Lahteine cdcb80f3c5 Allow no-space after initial command
Addresses issue #2715
2016-02-09 18:00:35 -08:00
AnHardt 6f473f7fc6 Repair N in ADVANCED_OK
Send the correct line number.
If no N was in the command - non't send an N.
2016-02-09 19:23:26 +01:00
AnHardt efbd705eda Replace the "ok" in M280, M301, M304, M851 with output not including an "ok"
Replace the "ok" in M280, M301, M304, M851 with output not including an "ok"
to avoid senting two "ok"s for a single g-code.

Doing the same for M105 would break the input filters of the hosts.
For M105 the other "ok" is omitted.
2016-02-09 13:36:03 +01:00
Scott Lahteine 8e66028d25 Apply the ABL rotation matrix to the extruder offset. 2016-02-08 14:22:18 -08:00
esenapaj ab5aa3fc92 Merge pull request #5 from MarlinFirmware/RCBugFix
Rc bug fix
2016-02-08 05:42:11 +09:00
esenapaj 27d918d836 Merge pull request #4 from MarlinFirmware/RCBugFix
Rc bug fix
2016-02-08 05:35:32 +09:00
Scott Lahteine 159ff94afd Remove obsolete HEATER_BED_DUTY_CYCLE_DIVIDER #2977 2016-02-07 08:02:11 -06:00
Richard Wackerbarth 1112dcd3c2 Merge Slow SD Handling #2848 2016-02-07 08:00:14 -06:00
Ruwan J Egoda Gamage 1270fbfd38 Using SET_INPUT instead of pinMode 2016-02-07 07:58:52 -06:00
Ruwan J Egoda Gamage b58083b0fa Getting rid of SDEXTRASLOW, SDSLOW variables. 2016-02-07 07:58:52 -06:00
Ruwan J Egoda Gamage 1833049b8a reusing millis() 2016-02-07 07:58:52 -06:00
Ruwan J Egoda Gamage 1b7c443628 Adding SDULTRASLOW variable.
Instead of changing SDEXTRASLOW variable to a slower speed,  the new
SDULTRASLOW is used for rigidbot panel.
2016-02-07 07:58:52 -06:00
Ruwan J Egoda Gamage 6f9e9c0e4f Cleaning up, getting rid of the fake encoder count variable. 2016-02-07 07:58:52 -06:00
Ruwan J Egoda Gamage becbfe1065 Fixing Rigidbot LCD Panel Support 2016-02-07 07:58:52 -06:00
esenapaj 4882a7eded more suitable display format for delta printer 2016-01-29 18:38:25 +09:00
esenapaj d7272e3f36 Merge pull request #3 from MarlinFirmware/RCBugFix
Rc bug fix
2016-01-29 05:43:22 +09:00
esenapaj 9ed1275a37 Merge pull request #1 from MarlinFirmware/RCBugFix
Rc bug fix
2016-01-29 05:40:33 +09:00
Scott Lahteine 62bad1b60f Merge pull request #2848 from japzi/RCBugFix
Fixing Rigidbot LCD Panel Support
2016-01-26 17:30:12 -08:00
esenapaj 59d345a3dd Update Configuration.h 2016-01-22 07:27:11 -06:00
esenapaj b8f0c8a4c7 Update Configuration.h 2016-01-22 07:27:11 -06:00
esenapaj df0d599c79 Update Configuration.h 2016-01-22 07:27:11 -06:00
esenapaj a366697649 Update Configuration.h 2016-01-22 07:27:11 -06:00
Richard Wackerbarth 7c94c83765 Repair formula mangled by PR#1319 in Jan 2015 2016-01-15 10:06:27 -06:00
Richard Wackerbarth 51aa7d93eb Merge pull request #2902 from Naruto-kyun/patch-1
Update stepper.cpp
2016-01-15 10:04:15 -06:00
Naruto-kyun 2932602643 Update stepper.cpp
Forgot Z2_MIN_PIN
2016-01-15 16:50:43 +01:00
Ruwan J Egoda Gamage 06555febdd Using SET_INPUT instead of pinMode 2015-12-24 12:12:25 -05:00
esenapaj 8d2aa2368d Update Configuration_adv.h 2015-12-23 08:16:36 +09:00
esenapaj 0de5fcad0a Update Configuration_adv.h 2015-12-23 08:16:06 +09:00
esenapaj 1403b9acc0 Update Configuration_adv.h 2015-12-23 08:15:20 +09:00
esenapaj 5cf1c38ea1 Update Configuration_adv.h 2015-12-23 08:12:54 +09:00
esenapaj 04ab61bf40 Update Configuration_adv.h 2015-12-23 08:12:28 +09:00
esenapaj 39c62fbd6f Update Configuration_adv.h 2015-12-23 08:12:04 +09:00
esenapaj efcb769003 Update Configuration_adv.h 2015-12-23 08:09:57 +09:00
esenapaj 992fbb831d Update Configuration_adv.h 2015-12-23 08:08:45 +09:00
esenapaj 5ee6fe6385 Update Configuration_adv.h 2015-12-23 08:07:12 +09:00
esenapaj 056daf00fc Update Configuration_adv.h 2015-12-23 08:06:15 +09:00
esenapaj 71aafb79a0 Update Configuration_adv.h 2015-12-23 08:03:54 +09:00
Ruwan J Egoda Gamage 2c9e0415c7 Getting rid of SDEXTRASLOW, SDSLOW variables. 2015-12-13 23:23:01 -05:00
Ruwan J Egoda Gamage a64bcd53e9 reusing millis() 2015-12-13 22:06:03 -05:00
Ruwan J Egoda Gamage e6cc232184 Adding SDULTRASLOW variable.
Instead of changing SDEXTRASLOW variable to a slower speed,  the new
SDULTRASLOW is used for rigidbot panel.
2015-12-13 15:47:10 -05:00
Ruwan J Egoda Gamage 83c4131ba3 Cleaning up, getting rid of the fake encoder count variable. 2015-12-13 15:28:40 -05:00
Ruwan J Egoda Gamage 5eeea2f611 Fixing Rigidbot LCD Panel Support 2015-12-13 15:28:40 -05:00
Richard Wackerbarth f6950acb8e Residual unused variable — Backport 2015-12-10 19:48:08 -06:00
Richard Wackerbarth 7a670e3911 Improve planner & stepper PR #263 2015-12-10 07:24:37 -06:00
Richard Wackerbarth 58658c9279 Call the probe pin a probe pin and not a min endstop 2015-12-10 07:20:52 -06:00
Richard Wackerbarth 0fa3bac8ee If unused, just don’t define it. 2015-12-10 07:20:52 -06:00
Richard Wackerbarth 3b2973da6a Prepare Ramps for user redefinition 2015-12-10 07:20:52 -06:00
Richard Wackerbarth 1635613c25 Backport cosmetic 2015-12-10 07:20:52 -06:00
Richard Wackerbarth 0b429461d5 Back port Cosmetic changes 2015-12-10 07:20:52 -06:00
Richard Wackerbarth 0cebe85e65 Clean up spacing and duplicate entries
• Removing trailing whitespace
• Adjusting indention for better readability
• Removing duplicated entries
2015-12-10 07:20:52 -06:00
Richard Wackerbarth e7b40bbe98 Change link to U8glib source 2015-12-10 06:33:29 -06:00
Richard Wackerbarth e2da2b4105 Back port language translation 2015-12-10 06:31:41 -06:00
Richard Wackerbarth 4f314afaf0 Allow Thermistor #12 to be used on hotends also
//100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (calibrated for Makibox hot bed)

Caveat Emptor —- 
I’m not sure that this really makes sense,
but why keep someone from using it?
2015-12-10 06:31:31 -06:00
Scott Lahteine 60d5658da8 Revert nozzle_bed_fan_menu_items
For some reason that I cannot determine, using a sub-function causes
the Tune sub-menu to act strangely, yet replacing the function call
with its code content works perfectly.
2015-12-09 20:33:52 -06:00
Richard Wackerbarth ae4acc42ec Merge ConformingHostMessages (PR#2822) 2015-12-07 16:12:46 -06:00
AnHardt 57da1b8497 Host parseble output for M109, M190 and M303
Make the output of M105 more similar to Repetier.
Make the text-print pert of M105 an extra function to make it reusable. `print_heaterstates()`
Use `print_heaterstates()` in M019, M190 and M303
2015-12-07 15:37:53 -06:00
AnHardt fcceb98191 Unglobalize no_wait_for_cooling 2015-12-07 15:34:26 -06:00
Wurstnase 78a347a01a change nx, ny, nz and ne from float to long
st_set_position takes long
```void st_set_position(const long& x, const long& y, const long& z, const long& e)```
2015-12-07 08:22:44 -06:00
Wurstnase 6d691aceee change dx, dy, dz and de from float to long
anything is long, we don't need float there
2015-12-07 08:22:24 -06:00
Richard Wackerbarth 6bfcb74c25 The probe stowing coordinates have changed 2015-12-05 19:31:59 -06:00
Wurstnase 0fbfb22506 Renaming delta speeds (PR2824)
dx -> dsx
dy -> dsy
dz -> dsz
de -> dse
2015-12-04 07:55:45 -06:00
AnHardt 8d1eeff021 Fix status LEDs update when reinitializing the display
Fix status LEDs update when reinitializing the display

By using the regular update function during init.

Fixing #2683
2015-12-03 07:18:35 -06:00
AnHardt e19fe4054d Update README.md 2015-12-03 00:38:27 +01:00
Richard Wackerbarth 5a54204f72 Marlin 1.1.0 Release Candidate 3 - 01 December 2015 2015-12-01 07:24:45 -06:00
AnHardt bb4efcf603 Handle temp callbacks when THERMAL_PROTECTION_HOTENDS is not defined
by alternate definition for the callback macros
2015-12-01 07:21:52 -06:00
AnHardt 96d0d04b8f Update LCD buttons less frequently
Move slow_buttons_update into the LCD_UPDATE_INTERVAL block
lcd_implementation_read_slow_buttons() will then be executed ~10 times a
second.
2015-11-30 05:44:32 -06:00
Richard Wackerbarth e293ea57f0 Unbalanced brackets in setPwmFrequency
This is a back port of the correct in issue #248
2015-11-30 05:44:32 -06:00
AnHardt c956b52c4a Babystep Multiplier
Analog to https://github.com/MarlinFirmware/MarlinDev/pull/250 by
@RicardoGA

Restore the Babystep Multiplicator functionality and now it's available
for X/Y/Z
2015-11-30 05:43:10 -06:00
Richard Wackerbarth 956418c674 Kc is also a multi-PID parameter 2015-11-23 06:08:01 -06:00
Richard Wackerbarth 8cea79a81d Update reference to our wiki 2015-11-15 12:23:37 -06:00
AnHardt 33addc52a1 Suppress Z_MIN_PROBE_REPEATABILITY_TEST for DELTA and SCARA configurations (PR#2747)
For now Z_MIN_PROBE_REPEATABILITY_TEST is not possible for DELTA or SCARA
configurations.
This PR comments the feature out, where it is commented in by default.
2015-11-13 07:33:33 -06:00
AnHardt 8da2e98985 Split RAMPS 1.3 an 1.4 (PR#2741)
because of hardware differences on the SERVO0_PIN
2015-11-13 07:13:48 -06:00
AnHardt 6dfc7124a1 Add Travis check for ALLEN_KEY (PR#2748)
Tests DELTA, AUTO_BED_LEVELING_FEATURE and ALLEN_KEY
2015-11-13 07:09:05 -06:00
AnHardt be7167ed97 Change XY formatting on LCD (PR#2740)
According to #123 negative values for XY at or below -100 are displaying incorrectly, dropping the first digit. Deltas can easily have XY values in this range. This PR adds a function to display floats/ints formatted like `_123`, `-123`, `_-12`, or `__-1` as appropriate and applies it to the XY coordinates on Hitachi displays. It also moves the Z value to the right to be consistent with the XY formatting.
2015-11-13 06:46:11 -06:00
vogtmann 9acdc6c234 Update LICENSE 2015-11-12 13:09:59 -06:00
Luis Correia e7099ea597 Fix Portuguese (Portugal) strings (PR#2700)
Align strings with release
2015-11-12 00:08:42 -06:00
Richard Wackerbarth a0f6407d6a Merge corrections from dev branch (PR#2704) 2015-11-12 00:04:18 -06:00
Scott Lahteine 754b13d8fe Patch issue #2315 2015-11-12 00:03:22 -06:00
Scott Lahteine dbd4c17096 Init Kp, Ki, Kd to 0 2015-11-12 00:03:22 -06:00
Scott Lahteine 644c376e84 Use binary OR with endstop bits 2015-11-12 00:03:22 -06:00
Scott Lahteine 54a39d8c1a Use a ternary in qr_solve.cpp 2015-11-12 00:03:22 -06:00
Scott Lahteine 17c23bbaf3 Shorten gcode_M221 yet function the same 2015-11-12 00:03:22 -06:00
Scott Lahteine c0e791dbe9 Only look for "N" line number as first parameter 2015-11-12 00:03:22 -06:00
Scott Lahteine b4af4441c5 Clean up watchdog impl. 2015-11-12 00:03:22 -06:00
Scott Lahteine 8f16563bbd Use "defined" with LCD_PIN_BL and LCD_PIN_RESET 2015-11-12 00:03:22 -06:00
Scott Lahteine 6fa7e24af3 Use "UNUSED" to squash compiler warnings 2015-11-12 00:03:22 -06:00
Scott Lahteine d5b7c595ae Use static locals in utf_mapper.h 2015-11-12 00:03:21 -06:00
Scott Lahteine 9bdab4f3a8 Clean up "else" and other spacing 2015-11-12 00:03:21 -06:00
Scott Lahteine 9b23490f01 Clean up spacing in configs 2015-11-12 00:03:21 -06:00
esenapaj c6c37abd41 Update language_kana.h 2015-11-12 00:00:51 -06:00
esenapaj c24045475a Update language_kana_utf8.h 2015-11-12 00:00:32 -06:00
Richard Wackerbarth 25d636c9e0 Compiler issues (PR#2696) 2015-11-11 23:52:11 -06:00
AnHardt 47401ec97b MSG_EXTRUDER_SWITCHED_OFF was renamed to MSG_REDUNDANCY
in language.h, but was not renamed here. If TEMP_SENSOR_1 is enabled as redundant then
an error is thrown that MSG_EXTRUDER_SWITCHED_OFF is not defined.

Originaly by @12dstring
2015-10-08 10:45:11 -05:00
Scott Lahteine ba6a243197 DEBUG message has no parameter (PR#2671) 2015-10-03 22:03:03 -05:00
Scott Lahteine 0c7f7ebcfb Styling adjustments (PR#2668 & PR#2670)
Keep "astyled" reformatting
2015-10-03 22:02:45 -05:00
Rafa Couto b5fb7075b9 Galician (gl) language. 2015-09-30 14:46:01 -05:00
Richard Wackerbarth 7b4bdc0203 DUAL_X_CARRIAGE motor enabling
As noted by @darkjavi et.al. in #103, the E1 motor was not being enabled in planner.cpp when using DUAL_X_CARRIAGE. This patch enables and disables E1 as it should.
2015-09-30 04:31:19 -05:00
Richard Wackerbarth 91b5156b3e Marlin 1.1.0 Release Candidate 2 - 29 September 2015 2015-09-29 20:28:41 -05:00
Richard Wackerbarth 03f0edb57e Fix high LCD status screen update frequency (PR#2655) 2015-09-28 11:07:33 -05:00
KiteLab 0ad25c6665 Hint for changed behaviour of SDSUPPORT 2015-09-28 11:07:33 -05:00
Richard Wackerbarth 56a6d85c41 Add (disabled) style test 2015-09-28 11:07:14 -05:00
Richard Wackerbarth 4cdafc0b35 Add astyle specification 2015-09-17 10:45:38 -05:00
Richard Wackerbarth e01f5e1ef7 Cleanup 2015-09-17 10:44:23 -05:00
Mike Cochrane 5e36b64635 SDEXTRASLOW for some SD card readers (PR#176)
Add SDEXTRASLOW which runs the SD card at SPI_QUARTER_SPEED. Quarter speed is needed for RIGIDBOT_PANEL
2015-09-14 07:58:08 -05:00
Scott Lahteine 5d65a36dee Give lcd_sd_status an UNKNOWN state (PR#180) 2015-09-14 06:32:27 -05:00
fmalpartida 0f149ea0c6 LCD home button causes repeated homing (PR#175)
Fix: increased debounce delay.
2015-09-14 06:31:49 -05:00
Scott Lahteine b825567e0f Drop www. from marlinfirmware.org (PR#175) 2015-09-14 06:28:53 -05:00
Richard Wackerbarth 42e381f8e2 Merge Extrusion_rate_heater_compensation 2015-09-12 07:54:42 -05:00
Scott Lahteine db27e67580 Apply PID_ADD_EXTRUSION_RATE to extras 2015-09-12 07:53:20 -05:00
Scott Lahteine bc50db9cf6 Implement PID_ADD_EXTRUSION_RATE 2015-09-12 07:53:20 -05:00
Richard Wackerbarth b5987de08a Merge Menu Updates 2015-09-12 07:51:37 -05:00
Scott Lahteine cffb2d457e Cleanup file formatting 2015-09-12 07:48:27 -05:00
Scott Lahteine 7ac7ddbf20 Show nozzles, heaters, and extruders numbered 1-4 2015-09-12 07:40:18 -05:00
Scott Lahteine 5bc480fee8 Fix Move E menu items 2015-09-12 07:33:49 -05:00
Scott Lahteine fc882c34a3 Init lcd_sd_status as false to force lcd_update test
Replaces #145 which is way out of date
2015-09-12 07:32:20 -05:00
Scott Lahteine e27dd5c22d Conditionalize functions that rely on SDSUPPORT 2015-09-12 07:30:09 -05:00
Scott Lahteine fabf3ae4a0 Add final Z raise after Delta probe 2015-09-12 07:23:24 -05:00
Petr Zahradnik 8c768a76a2 Create language_cz.h
Czech language translation.
2015-09-12 07:18:05 -05:00
Petr Zahradnik 5b9010965d Update language.h
Added comment for Czech language (associated with file language_cz.h).
2015-09-11 04:43:54 +02:00
Scott Lahteine 89fb778684 Fix up probe pin define and test 2015-09-10 10:54:03 -05:00
Scott Lahteine 558665cd90 Constrain Tune > Nozzle/Flow menu items 2015-09-10 08:47:11 -05:00
Scott Lahteine 9f462f0cf5 Hack to address stuttering caused by ISR not finishing in time
(PR #138)

When the ISR does not finish in time, the timer will
wrap in the computation of the next interrupt time.

This hack replaces the correct (past) time with a time not far in the future.
2015-09-10 08:26:17 -05:00
Richard Wackerbarth a356699882 Merge manual feedrates for deltas from PR#128 2015-09-08 13:12:21 -05:00
Scott Lahteine 8b3d63c423 Unify Delta XYZ homing rates
As noted in #130 allen key probe stow rate is based on homing rates,
but homing rates were left out of most delta configs. This unifies the
XYZ homing rates and applies the unified rates to allen key movements.
2015-09-08 13:11:55 -05:00
Scott Lahteine 7c72b57313 Unify manual feedrate and Fix LCD MANUAL_FEEDRATE (PR#128)
As noted by @o-lampe at https://github.com/MarlinFirmware/MarlinDev/issues/114#issuecomment-136757614 the `MANUAL_FEEDRATE` for Delta Z should be the same as XY.
2015-09-08 13:11:55 -05:00
Scott Lahteine f690b82343 Remove extra MAX_FREQ_TIME define (PR#148) 2015-09-08 13:11:12 -05:00
fmalpartida 868dbbac6a Updated README to rearrange logo to avoid being crossed out by title.
Added my name following naming convention.
2015-09-07 09:51:06 -05:00
Richard Wackerbarth 8e4fa08a20 Merge Dual Y&Z towers (PR#108 & PR#147) 2015-09-07 09:49:34 -05:00
Scott Lahteine a4c78ae786 Add E1 pins to SENSITIVE_PINS for Dual Y or Dual Z 2015-09-07 09:41:06 -05:00
Scott Lahteine a39fadf876 Update kossel-pro example config (again?) 2015-09-07 09:41:06 -05:00
Scott Lahteine 34e0a8d848 Move Y2 and Z2 pins defines to pins.h 2015-09-07 09:41:06 -05:00
Scott Lahteine 28599c51c7 Wrap Dual Y options in a conditional 2015-09-07 09:41:05 -05:00
Scott Lahteine 11a065c0ca Remove Z2 pins overrides from Configuration_adv.h 2015-09-07 09:41:05 -05:00
Scott Lahteine f7f6b5faae Fix lcd_move_e compile error (PR#143)
Fix a compile error introduced in #98
2015-09-07 09:36:05 -05:00
Richard Wackerbarth fe0cbd40fe Default to SD Card Disabled (PR#139) 2015-09-06 02:05:47 -05:00
Scott Lahteine 2b30e8ac99 Conditionals for ULTIPANEL without SDSUPPORT 2015-09-06 02:04:49 -05:00
Scott Lahteine 7c7a4051fe Disable SDSUPPORT by default
As noted in #133 you can’t disable `SDSUPPORT` with `MAKRPANEL`,
`PANEL_ONE`, `MINIPANEL`, or `ULTIPANEL`. This patch makes it possible
to disable `SDSUPPORT` on these controllers and then disables it by
default.

Users of these controllers will now need to enable `SDSUPPORT` in their
configurations as others currently do.
2015-09-06 02:04:49 -05:00
Eric Kuzmenko b23d765991 Added Extrude From Multiple Extruders from LCD feature 2015-09-05 05:33:18 -05:00
Scott Lahteine fe8816214f GPLv2 LICENSE 2015-09-05 05:30:44 -05:00
fmalpartida c3c4d50a99 Refreshed logo for release 1.1 2015-09-04 09:22:08 -05:00
Christian Lefrançois 8347a9d6e4 Fix HOMING_BUMP_DIVISOR for deltas configuration
* Re-bump speed divisor should be the same for delta printer.
2015-09-03 09:26:28 -05:00
Scott Lahteine 703df2cb6c Fix error message for probe region sanity check 2015-09-03 03:27:47 -05:00
Shane Francis 4c8330c15c Trim Adjustments for Delta Configurations 2015-09-03 01:05:33 -05:00
Roxy-3DPrintBoard 93a512cf97 Add Roxy-3DPrintBoard to dev team 2015-09-03 01:03:36 -05:00
Scott Lahteine 962120d1d2 Fix spacing in some conditional blocks 2015-08-27 20:59:09 -05:00
Richard Wackerbarth 109628a77e Merge tag debug_G29 (PR#54) 2015-08-27 20:56:25 -05:00
Richard Wackerbarth 20b4772155 Create DEBUG_LEVELING_FEATURE 2015-08-27 20:52:08 -05:00
Scott Lahteine 194f98ff95 Debug messages for homing and leveling 2015-08-27 20:52:08 -05:00
Richard Wackerbarth 6292d9e815 Rename ENABLE_AUTO_BED_LEVELING
With the introduction of the #if ENABLED(…)

reads better than
2015-08-27 20:52:08 -05:00
Richard Marko 91fd66ffba add Lulzbot TAZ4 example configuration (PR#104) 2015-08-27 08:36:43 -05:00
Wurstnase 7a275773ee remove colon in utf_mapper.h (PR#106) 2015-08-27 07:15:23 -05:00
Chris Bruner 6b4b6fa315 update for newest version of U8glib_Arduino 2015-08-26 19:52:59 -05:00
Christian Lefrançois 9897a9147c Update ABL comments (PR#95)
* Updates the auto bed leveling comments ONLY.
* Renames "Z probe" word usage in //comments and #errors properly.
2015-08-26 05:51:38 -05:00
Christian Lefrançois a7822e3ff7 Some renaming of Z_PROBE to Z_MIN_PROBE (PR#91)
* Fix a couple of renames omission and macro expansion errors.
2015-08-20 06:04:46 -05:00
Richard Wackerbarth 4939c642b4 Merge Suppress some compiler warnings (PR#70) 2015-08-16 06:57:54 -05:00
Richard Wackerbarth ad90e851b3 Use a small unsigned integer type 2015-08-16 06:56:47 -05:00
Richard Wackerbarth 29b456ae07 Suppress some compiler warnings 2015-08-16 06:56:47 -05:00
Scott Lahteine 23d742bf06 Don't free the stack array plane_equation_coefficients (PR#83) 2015-08-16 06:53:24 -05:00
Scott Lahteine e3b1e08777 Patch G30 to use raise_z_for_servo (PR#73) 2015-08-15 21:47:04 -05:00
Richard Wackerbarth c2f695c84e Merge Save a few bytes (PR#79) 2015-08-12 21:27:40 -05:00
Scott Lahteine a1eb90d5c0 Save another 30 bytes in gcode_SET_Z_PROBE_OFFSET 2015-08-12 21:26:32 -05:00
Scott Lahteine 91122277f4 Reduce gcode_SET_Z_PROBE_OFFSET by 88 bytes 2015-08-12 21:26:25 -05:00
Richard Wackerbarth 9531b154ea Merge Zig-Zag Endpoint (PR#65) 2015-08-11 17:33:35 -05:00
AnHardt 5707a2c3d5 indexindexIntoAB is only vald for !DELTA 2015-08-11 17:32:11 -05:00
AnHardt d8860f9ad9 Alway end at the same point
Always end at [RIGHT_PROBE_BED_POSITION, BACK_PROBE_BED_POSITION]
Regardles the evennes of auto_bed_leveling_grid_points.
2015-08-11 17:32:11 -05:00
AnHardt 4ca8f4a9a7 Always zigzag
Use the shortest way between probing-points.
2015-08-11 17:32:11 -05:00
AnHardt 3d23424121 Add array indexIntoAB[xx][yy]
and use it.
2015-08-11 17:32:11 -05:00
AnHardt e2d69f66b2 Make Z_PROBE a Z_MIN_PROBE (PR#65)
Currently we use the probe exclusively as a device to find the build platform(bed).
For the currently supported setups this means, we use it as a additional min-endstop.
A triggered when not deployed probe disturbs the homing process for max-endstops.

Rename ENDSTOPPULLUP_ZPROBE to ENDSTOPPULLUP_ZMIN_PROBE
Rename Z_PROBE_ENDSTOP_INVERTING to Z_MIN_PROBE_ENDSTOP_INVERTING
Rename Z_PROBE_ENDSTOP to Z_MIN_PROBE_ENDSTOP
Rename DISABLE_Z_PROBE_ENDSTOP to DISABLE_Z_MIN_PROBE_ENDSTOP
Rename Z_PROBE_REPEATABILITY_TEST to Z_MIN_PROBE_REPEATABILITY_TEST
Rename Z_PROBE_ENDSTOP to Z_MIN_PROBE_ENDSTOP
Adjust comments accordingly
Remove Z_MAX  check for the probe in update_endstops().

Using an delta related idea of @clefranc from #61,
extended to the general change for all setups.

Tested with Prusa i3, max-z-endstop and permanently triggered z-probe.
Worked for @clefranc's delta.
2015-08-11 14:41:36 -05:00
AnHardt 8d23c4230e Add a Travis test for Z_DUAL_STEPPER_DRIVERS and Z_DUAL_ENDSTOPS (PR#68) 2015-08-10 17:47:49 -05:00
AnHardt 6a6e863a47 Resolve #2581 by adding a missed ';' (PR#67) 2015-08-10 12:51:59 -05:00
RicardoGA e09ff79635 Update pins_RAMPS_13.h (PR#64)
Now all ramps configuration can enable Filament sensor not only EEB
2015-08-10 05:53:01 -05:00
Fourmi e6aed7bb4e Update thermistortables for Hisens Thermistor (PR#2588) 2015-08-09 18:11:14 -05:00
Richard Wackerbarth 9d8cc24abf Continue from the line following the M999 (PR#60)
If the printer is going to accept the M999,
then it should continue from that line number.
2015-08-08 08:08:02 -05:00
wurstnase f3ab1dba54 Z babystepping for coreXY (PR#47)
only X and Y were not implemented
2015-08-04 20:10:09 -05:00
Richard Wackerbarth 35afea1c0e Restore test
PR#2572 Changed this because of faulty Boolean Logic

NOT(A OR (NOT B) OR (NOT C)) !=

(NOT A) AND ((NOT B) OR C))


Besides, the compiler should be smart enough to
optimize this without help from the programmer
2015-08-04 15:22:56 -05:00
Richard Wackerbarth 3c7470dbc3 Windows doesn’t have AUTOMATIC VERSIONING yet 2015-08-03 19:34:47 -05:00
Richard Wackerbarth c54076456b Merge Overridable Options - Part 12 (PR#39) 2015-08-03 16:05:23 -05:00
Scott Lahteine 6af75f4b5d Squish down deprecated tests in sanity check 2015-08-03 16:04:48 -05:00
Scott Lahteine edeb58288e Use PIN_EXISTS in sanity check 2015-08-03 16:04:48 -05:00
Scott Lahteine c30b7693e0 Clean up RUMBA pins conditions 2015-08-03 16:04:48 -05:00
Scott Lahteine 46453905d6 Apply remaining ENABLED/DISABLED conditionals 2015-08-03 16:04:48 -05:00
Richard Wackerbarth 4a72d2ba9c Merge Support PlatformIO (PR#34)
**** NOTE ****
This code is very EXPERIMENTAL and UNSUPPORTED
2015-08-03 15:55:23 -05:00
Richard Wackerbarth 8afd94ed3a Version Generator for PlatformIO Builds 2015-08-03 10:33:26 -05:00
Richard Wackerbarth 4c2948a8e6 PlatformIO Build Configurations
See http://platformio.org/
2015-08-03 10:33:26 -05:00
AnHardt e3acc84b99 Merge pull request #7 from Wackerbarth/DetailedBuildVersion
Provide both long and short version strings
2015-08-03 15:40:54 +02:00
Richard Wackerbarth b227d8c128 Supply a VERSION in a short form for displays
The long descriptor will still be available in M115
2015-08-03 08:21:09 -05:00
Richard Wackerbarth cd7828a928 This will be the 1.1.0 Release rather than 1.0.3 2015-08-03 08:08:38 -05:00
Richard Wackerbarth 4e2f5618c1 Pick up Default_version when needed 2015-08-03 08:08:37 -05:00
Richard Wackerbarth 329acc852e Canonize Option flag USE_AUTOMATIC_VERSION 2015-08-03 08:08:37 -05:00
Richard Wackerbarth a8db0aac32 Automatic Versioning was introduced in 1.6.3 2015-08-03 08:08:37 -05:00
Richard Wackerbarth 5a11d32a85 Move deprecation test to SanityCheck.h 2015-08-03 08:08:37 -05:00
Richard Wackerbarth 7bb7a52940 Bring config up-to-date 2015-08-03 07:35:33 -05:00
Richard Wackerbarth e66ab97a3c Merge Bootscreen Text (PR#24) 2015-08-03 07:15:32 -05:00
AnHardt 244ea2014a Boot-screen for text-displays improvements
Centred the logo for 16x4 and 20 x4.
Moved version to the bottom line
Code shrink to 704 bytes.
2015-08-03 07:13:00 -05:00
AnHardt 80f2a20842 Enable bootscreen in all Configurations 2015-08-03 07:13:00 -05:00
AnHardt 2684d061ed Scroll too long strings on bootscreen 2015-08-03 07:13:00 -05:00
AnHardt 4f46df5dab Make bootscreen configurable for the graphic displays
Saves about 473 byte of progmem and 28 bytes of RAM.
2015-08-03 07:13:00 -05:00
AnHardt 09571b7753 Boot-screen for the character displays
Uses about 488 byte of progmem and 32 byte of RAM.
For that configurable.
2015-08-03 07:13:00 -05:00
Richard Wackerbarth 866efc14fe Add Danish translations 2015-08-03 07:06:17 -05:00
Scott Lahteine 267f3479d7 Adjust spacing in pins_RAMPS_13.h 2015-08-02 23:26:58 -05:00
Scott Lahteine 56702e7bb9 Define servo pins just like other pins 2015-08-02 23:26:58 -05:00
Richard Wackerbarth 4b9d5cd352 Use lowercase names for serial instances 2015-08-02 23:01:39 -05:00
Scott Lahteine 1e2deff4fd Rename BTENABLED to BLUETOOTH
- For some reason it’s easy to forget what BT stands for, but it
doesn’t need an abbreviation.
2015-08-02 22:56:50 -05:00
Scott Lahteine 68055a5959 Include RIGIDBOT_PANEL in Conditionals 2015-08-02 22:26:41 -05:00
Richard Wackerbarth 3cfe1dce1f Merge Rigidbot Configuration (PR#2579) 2015-08-02 22:14:36 -05:00
George Djabarov f8ed3a835d Added comment with the RigidBot Big bed size 2015-08-02 22:13:37 -05:00
George Djabarov 7deae6b6be Updated RigidBot example configuration
- The default serial baud rate of 115200
- The regular RigitBot bed size 254mm/248mm/254mm
- Single stock extruder
- Stock termistors for extruder and hotbed
- Stock Min X/Y/Z stops. Max stops not connected
- Stock 32 teth tooleys (stock axis steps)
- No auto bed leveling
- No screen
2015-08-02 22:13:37 -05:00
Richard Wackerbarth eb65c57496 Merge SD_DETECT_PIN (PR#2569) 2015-08-02 22:11:47 -05:00
Scott Lahteine 5418faa1f9 Add sanity checks for old names 2015-08-02 22:09:08 -05:00
Scott Lahteine f03e063750 Rename BEEPER to BEEPER_PIN
For consistency with other pins, allowing use of `PIN_EXISTS` macro.
2015-08-02 22:09:08 -05:00
Scott Lahteine 270c766de2 SDCARDDETECT -> SD_DETECT, added docs
- `SD_DETECT_PIN` replaces `SDCARDDETECT`
- `SD_DETECT_INVERTED` replaces `SDCARDDETECTINVERTED`
- Revise the description of `SD_DETECT_INVERTED`
- Add a note about the override of `SD_DETECT_INVERTED` in
`Conditionals.h`
2015-08-02 21:59:41 -05:00
Scott Lahteine 496fc28dc3 Tweaks to pins comments 2015-08-02 21:34:13 -05:00
Scott Lahteine 8d3b74cc6e Rename SDCARDDETECT to SDCARDDETECT_PIN
- Rename the pin so it can be tested with `PIN_EXISTS`
- Fix some incorrect tests for `SDCARDDETECT`
2015-08-02 21:34:13 -05:00
Richard Wackerbarth aa1d38613a Update README to reflect new repository 2015-08-01 19:34:33 -05:00
Scott Lahteine 0f5ada8cbd Group the fail case in one negation (PR#2572) 2015-08-01 18:55:50 -05:00
AnHardt 7ddf1cda1d Improve condition for SERVO_LEVELING (PR#2570) 2015-07-31 22:41:34 -05:00
Richard Wackerbarth e309fb4bcb Merge BEEPER_PIN (PR#2564) 2015-07-31 17:14:40 -05:00
Richard Wackerbarth f32048b8f5 In for a penny, in for a pound 2015-07-31 17:13:53 -05:00
Scott Lahteine e944f960de Add a sanity check for old name "BEEPER" 2015-07-31 17:13:53 -05:00
Scott Lahteine 8ebf0b92be Spacing adjustments in some pins files 2015-07-31 17:13:53 -05:00
Scott Lahteine 94a796c8cc Rename BEEPER to BEEPER_PIN
For consistency with other pins, allowing use of `PIN_EXISTS` macro.
2015-07-31 17:13:53 -05:00
Richard Wackerbarth b217474eab Compiler Complaints about concatenated tokens (PR#2566) 2015-07-31 17:08:44 -05:00
AnHardt c39dc2908f New test for servos in Travis (PR#2565) 2015-07-31 07:14:11 -05:00
Richard Wackerbarth d3532bd2a6 Merge Part 5 (PR#2557) 2015-07-31 01:26:09 -05:00
Scott Lahteine 2460f82d8b Make proper distinction between BEEPER and HAS_BUZZER 2015-07-31 01:24:33 -05:00
Scott Lahteine 58cfcd4239 Overridable Options - Part 5
Apply `ENABLED` / `DISABLED` macros to files needing only a small
number of changes.
2015-07-31 01:24:20 -05:00
Scott Lahteine 5e834352a9 Overridable Options - Part 11 (PR#2563)
Apply `ENABLED` / `DISABLED` macros to EEPROM-related files.
2015-07-31 01:07:04 -05:00
Scott Lahteine bf6eb93c61 Overridable Options - Part 10 (PR#2562)
Apply `ENABLED` / `DISABLED` macros to planner files.
2015-07-31 01:06:29 -05:00
Scott Lahteine 51e89a269c Overridable Options - Part 9 (PR#2561)
Apply `ENABLED` / `DISABLED` macros to temperature-related files.
2015-07-31 01:05:55 -05:00
Scott Lahteine c35fb88094 Overridable Options - Part 8 (PR#2560)
Apply `ENABLED` / `DISABLED` macros to stepper-related files.
2015-07-31 01:05:22 -05:00
Scott Lahteine 0d8989fc14 Overridable Options - Part 7 (PR#2559)
Apply `ENABLED` / `DISABLED` macros to LCD-related files.
2015-07-31 01:04:37 -05:00
Scott Lahteine b4abb0ae7f Apply ENABLED / DISABLED to Marlin core files (PR#2558) 2015-07-31 01:03:58 -05:00
Scott Lahteine c0d7ea3e7e Overridable Options - Part 4 (PR#2556)
Apply `ENABLED` / `DISABLED` / `HAS_SERVOS` macros to pins files.
2015-07-31 00:44:53 -05:00
Scott Lahteine 4b40964064 Overridable Options - Part 3 (PR#2555)
Apply `ENABLED` / `DISABLED` macros to language-related files.
2015-07-31 00:19:13 -05:00
Richard Wackerbarth abe9905ef8 Merge Overridable Options (PR#2496) 2015-07-31 00:04:43 -05:00
Scott Lahteine 32683b282b Include configurator copies of configs 2015-07-31 00:03:36 -05:00
Scott Lahteine 37d1879386 Apply overridables to Configuration files 2015-07-31 00:03:36 -05:00
Richard Wackerbarth 819fa7216e Merge Redo Servo angles (PR#2554) 2015-07-30 23:36:38 -05:00
Scott Lahteine 9d151bb61b servo_endstop_angles -> servo_endstop_angle 2015-07-30 23:35:57 -05:00
Scott Lahteine 9334479aeb Minor cleanup of Conditionals.h 2015-07-30 23:35:57 -05:00
Scott Lahteine 1f63293624 servo_endstops -> servo_endstop_id 2015-07-30 23:35:57 -05:00
Scott Lahteine edaaead7e0 Fix comment about SERVO_ENDSTOP_ANGLES 2015-07-30 23:35:57 -05:00
Scott Lahteine ed4a6371ad Add HAS_SERVO_ENDSTOPS to simplify conditonals 2015-07-30 23:35:57 -05:00
Richard Wackerbarth 47ae96ce15 Merge Complete M200 output with M503 (PR#2506) 2015-07-30 23:33:36 -05:00
Scott Lahteine 70be61d416 Reset filament_size with a loop 2015-07-30 23:31:58 -05:00
Scott Lahteine ae9274be05 Fix minor compiler warnings in for loops 2015-07-30 23:31:58 -05:00
Scott Lahteine c7c8cfed6f Complete M200 output with M503
- The contents of EEPROM include filament diameters even with
Volumetric disabled. This change makes `M503` display the full
volumetric settings so that playing back the output of `M503 S0` will
fully restore them.
2015-07-30 23:31:58 -05:00
Scott Lahteine 4a58e447a1 Add array size to servo_endstop_angles (PR#2553) 2015-07-30 23:27:38 -05:00
Andrew Lenharth a0ae9e30df don't pass integer by reference, inefficient. (PR#2547) 2015-07-30 17:51:12 -05:00
AnHardt d03f037a92 Get rid of malloc() and free() (PR#2549)
Just the minimal changes to qr_solve.cpp and .h to get rid of malloc() and free().

Saves about 656 bytes of progmem (library-code)
and 22 bytes for static variables.

Should use exactly the same amount of stack as it did before on the heap.
2015-07-30 17:50:31 -05:00
Richard Wackerbarth f9195d114b Merge Servo Endstops (PR#2543) 2015-07-30 16:39:55 -05:00
Scott Lahteine 3b2b2313ff Combine if block related to SERVO_ENDSTOPS 2015-07-30 16:39:05 -05:00
Scott Lahteine 0af2a80e06 Make SERVO_ENDSTOP_ANGLES 2-dimensional 2015-07-30 16:38:56 -05:00
Richard Wackerbarth 525d0dc239 Configurator is out-of-date AGAIN (PR#2550) 2015-07-30 16:36:01 -05:00
Richard Wackerbarth 67c4d22984 Update Developer References 2015-07-30 07:57:11 -05:00
Richard Marko dd22cbbfb8 makefile: add buzzer.cpp (PR#2479) 2015-07-30 07:56:44 -05:00
Scott Lahteine 9f48798ffd Replace ENABLED with DEFINED for SERVO_ENDSTOPS (PR#2542) 2015-07-30 07:55:29 -05:00
Scott Lahteine 22b9fd97b2 Remove usage restriction to comply with GPL
Discussion at #2541
2015-07-30 07:54:09 -05:00
Richard Wackerbarth 3c1653207c Merge Memory Watcher (PR#2398) 2015-07-27 20:33:20 -05:00
Richard Wackerbarth ae00fad75b Rename as M100 2015-07-27 20:31:59 -05:00
Richard Wackerbarth a401d738df There is an echo in here 2015-07-27 20:31:59 -05:00
Richard Wackerbarth ed7d45e8f5 Memory watcher 2015-07-27 20:31:59 -05:00
AnHardt d17f7ebc8a Multiply WATCH_TEMP_PERIOD by 1000UL (PR#2535)
instead of 1000.  Else we get errors with times over 32 seconds.
2015-07-27 20:30:53 -05:00
Scott Lahteine bea6739774 Don't include Z_RAISE_AFTER_PROBING if not used (PR#2527) 2015-07-27 20:24:33 -05:00
Scott Lahteine 81bba7ed88 More sanity checking for extruder requirements (PR#2531) 2015-07-27 10:14:43 -05:00
Richard Wackerbarth 78b7c486fd Merge Translate additional Displays (PR#2529) 2015-07-26 20:42:11 -05:00
AnHardt 87a97f3724 Fix conditions for display strings 2015-07-26 20:41:21 -05:00
AnHardt aaccea0260 Shift some display only strings from language.h to lenguage_en.h
and translate them to German.
2015-07-26 20:41:15 -05:00
Scott Lahteine e4c01f1c7e Simplify init with ARRAY_BY_EXTRUDERS1 macro (PR#2507) 2015-07-26 20:40:27 -05:00
Scott Lahteine ab6f1fdf8b Move & document ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED (PR#2528)
As suggested in #2521
- Move `ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED` because `SDSUPPORT` is
also required.
- Add a note that endstops must be enabled for the feature to have any
effect
2015-07-26 20:36:37 -05:00
Richard Wackerbarth 096046c09f Merge Improve Makefile use of avrdude (PR#2477) 2015-07-26 20:32:10 -05:00
Richard Marko 1183c10a2e makefile: drop -q -q (much quiet) from avrdude flags
Annoying when trying to figure out if uploading
actually does something.
2015-07-26 20:31:31 -05:00
Richard Marko 0e064357f4 makefile: use /etc/avrdude/avrdude.conf on linux
No need to look for arduino specific avrdude configuration
as distributions ship their own avrdude.conf file that
is compatible with arduino.
2015-07-26 20:31:31 -05:00
Richard Wackerbarth 960de3411b Merge Temp Sanity Checks (PR#2514) 2015-07-25 21:18:32 -05:00
Scott Lahteine bcb7d5a149 Improve sanitycheck for TEMP_SENSOR_1 2015-07-25 21:17:36 -05:00
Scott Lahteine 5b24f59401 Add sanity checks for temp sensors 2015-07-25 21:17:36 -05:00
AnHardt fd0e81b0c7 Distinguish between BUZZER and SPEAKER (PR#2513)
A speaker needs a AC or a pulsed DC to make a sound, a buzzer only needs a DC.
A buzzer has it's own resonator. It works in most cases to feed the buzzer with a pulsed DC, but the sound will not be as loud as with pure DC.

There seem to be boards where the BEEPER-pin is not able to handle a PWM. Obviously intended for a buzzer.
To make these board able to handle a speaker

* replace the PWM based tone()-function again with a on-delay-off-delay loop.

Hopefully the last time I touch the beeper code.
2015-07-24 22:10:04 -05:00
Richard Wackerbarth 53d9c9ff23 Merge G29 Ending Position (PR#2498) 2015-07-24 22:08:30 -05:00
Scott Lahteine e2957df05c Shorthand for do_blocking_move_to 2015-07-24 22:07:41 -05:00
Scott Lahteine 819c5b9b50 Adjust comment on Z adjustment 2015-07-24 22:07:41 -05:00
Scott Lahteine 5a7356b6fc Patch for G29 final Z position
Include all the necessary pieces to get the final Z position after
probing the bed, and add commentary about other possible changes.
2015-07-24 22:07:41 -05:00
Richard Wackerbarth d233976737 Merge Servo Corrections (PR#2510) 2015-07-24 22:05:53 -05:00
AnHardt 088e09e052 Add forgotten Marlin_main.cpp 2015-07-24 22:04:49 -05:00
AnHardt 8b876241bd Some more servo code tweaks
Just set up the pin. Don't move to a random position.

Simplify servo::move()
* servo::move() does not need the pin parameter - The pin is set during servo_init() with attach().
* servo::move() does not need a return value.

SERVO_LEVELING is the wrong condition to deactivate the servos.

Remove some temporary (Servo *) variables.
SanityCheck for the servo indexes.
2015-07-24 22:04:49 -05:00
Scott Lahteine b116c096bd Reduce set_homing_bump_feedrate, save 42 bytes (PR#2512)
Updates to `set_homing_bump_feedrate`:
- Move the string into Program Memory, reduce length by 31 bytes
- Use an auto to get the divisor, adjust it on error
- Set feedrate once, at the end
2015-07-24 22:00:25 -05:00
Scott Lahteine f7e7862588 Better Sanguinololu & Graphical Controller (PR#2504)
- Change suggested at
https://github.com/MarlinFirmware/Marlin/issues/2482#issuecomment-123553
266
2015-07-23 23:47:07 -05:00
Scott Lahteine a1154d4a20 Enable Y and sanity-check CoreXZ (PR#2509) 2015-07-23 23:46:27 -05:00
Richard Wackerbarth 0a7f2a8be7 Merge MegaController & MINIPANEL (PR#2508) 2015-07-23 22:52:51 -05:00
Scott Lahteine 932f1c109e Move servos to the top in pins_MEGACONTROLLER.h 2015-07-23 22:51:41 -05:00
Scott Lahteine 90f8ddfc1e Apply MINIPANEL to other configs 2015-07-23 22:51:41 -05:00
AndySze 00dbf69b6d add MINIPANEL defines 2015-07-23 22:51:40 -05:00
AndySze 8ac5e56934 fixed some format problems and cleaned code 2015-07-23 22:51:40 -05:00
AndySze eef595aa64 add makerlab mega controller pin configs 2015-07-23 22:51:40 -05:00
Richard Wackerbarth a0120a533c Merge CORE_XZ (PR#2503) 2015-07-23 19:53:33 -05:00
AnHardt 4e14e152fa Add Travis tests for CORXY and COREXZ 2015-07-23 19:52:48 -05:00
AnHardt 27d7d2ccab Correct bracketing for COREXY-XZ 2015-07-23 19:52:21 -05:00
Scott Lahteine 469843427d Reduce code in gcode_M81 (PR#2497) 2015-07-23 08:14:00 -05:00
Scott Lahteine c66955aaf9 Mark unchanging arrays as const (PR#2494)
The compiler may be able to optimize if it knows an array won’t be
changing.
2015-07-22 21:37:37 -05:00
Richard Wackerbarth 72b9e3a6ac Merge Configuration Macros (PR#2495) 2015-07-22 18:17:27 -05:00
Scott Lahteine 278aa15301 Add COUNT macro and apply 2015-07-22 18:16:05 -05:00
Scott Lahteine d85861d296 Move macros, add ENABLED/DISABLED, add includes 2015-07-22 18:16:05 -05:00
Scott Lahteine 17960fd2b0 Neaten up pins_MEGATRONICS.h (PR#2493) 2015-07-22 17:23:22 -05:00
Scott Lahteine aac2b9aa9d Reduce code in gcode_M84 (PR#2492)
`gcode_M84` only needs to call `finishAndDisableSteppers`, which calls
all the other functions.
2015-07-22 17:22:01 -05:00
Scott Lahteine 4971fa73f9 Add a sanitycheck error for old servo settings (PR#2491)
- Documentation solution for #2476
2015-07-22 16:35:10 -05:00
Scott Lahteine 96ace72ddc Servos attach/detach based only on servo config
Assuming #2470 fixed up the main issue.
2015-07-22 16:34:26 -05:00
Richard Wackerbarth b80a6a8d31 Correct Kossel Pro Configuration_adv (PR#2473) 2015-07-22 16:32:08 -05:00
Scott Lahteine 000a6fce46 Extract update_endstops from stepper ISR (PR#2474) 2015-07-19 18:33:18 -05:00
Richard Wackerbarth adfcfcba95 Merge G2/G3 for Delta (PR#2469) 2015-07-19 16:19:37 -05:00
Scott Lahteine e83eac312e Move plan_arc next to prepare_move 2015-07-19 16:18:46 -05:00
Scott Lahteine 5c5936508d G2/G3 Arcs for Delta
- Update prepare_move_delta to take a target argument
- Add Delta support to plan_arc
2015-07-19 16:18:46 -05:00
Richard Wackerbarth 39092efe88 Merge CORE_XZ (PR#2300) 2015-07-19 16:17:55 -05:00
Scott Lahteine 9f53e2f0c9 Implement COREXZ in stepper.cpp and planner.cpp 2015-07-19 16:17:03 -05:00
Scott Lahteine fa00e1d97f Explode conditions common to corexy and cartesian 2015-07-19 16:17:03 -05:00
Scott Lahteine c7dd5527b4 Add a C_AXIS and Z_HEAD to support COREXZ 2015-07-19 16:17:03 -05:00
Scott Lahteine 129f986ccf Add COREXZ option to configurations 2015-07-19 16:17:03 -05:00
Scott Lahteine 69b0490b77 Show minimal preheat options in menus (PR#2471) 2015-07-19 16:14:59 -05:00
Scott Lahteine 9d1d590f43 Merge pull request #2470 from thinkyhead/patch_servo_move
Patch servos code for move
2015-07-19 12:10:10 -07:00
Scott Lahteine eacfe132aa Change the name of servos[] and servo_t 2015-07-19 11:35:48 -07:00
Scott Lahteine 3b23ccd366 Patch servos code for move
- Have `Servo::attach` explicitly return -1 if it fails
- Check for -1 in `Servo::move` because `servoIndex` might be 0
- Make `attach` / `detach` calls conditional on `SERVO_LEVELING`
- Move `SERVO_LEVELING` define to `Conditionals.h`
2015-07-19 11:24:23 -07:00
Richard Wackerbarth 54ddc1d417 Simplify DRY RUN (PR#2358)
Elsewhere DRYRUN turns off the heating elements
and ignores constraints on them.

Here, whenever motion is entered into the planner,
if DRY RUN is set, we instantly act as if the E_AXIS
is in the desired final position.
2015-07-19 10:15:53 -05:00
Richard Wackerbarth c2760c3cac Merge Reduce IsDive memory usage (PR#2455) 2015-07-19 10:14:42 -05:00
Scott Lahteine 944090c19c Optimize lsDive logic 2015-07-19 10:13:40 -05:00
Scott Lahteine 417706e578 Include space for the terminating nul in lsDive 2015-07-19 10:13:39 -05:00
Scott Lahteine f3c1a6b19c Reduce lsDive stack usage to the minimum 2015-07-19 10:13:39 -05:00
Patrick Bogen fba4e6241b Specify print format for reporting invalid tmp_extruder (PR#2465) 2015-07-18 16:40:01 -05:00
AnHardt d15d869267 Rename axis_is_at_home() to set_axis_is_at_home() (PR#2464)
to make clear - it's not a question but an order.
2015-07-18 10:27:21 -05:00
Scott Lahteine f209b755a5 Move the Z probe as far as needed to trigger the switch (PR#2461) 2015-07-16 20:02:44 -05:00
Richard Wackerbarth a91263f79e Merge Clean up code_seen (PR#2395) 2015-07-16 16:41:38 -05:00
Scott Lahteine 0f1df62389 Fixup comments in code_seen 2015-07-16 16:40:52 -05:00
Scott Lahteine 2945eb6650 Call code_seen only once per parameter 2015-07-16 16:40:52 -05:00
Scott Lahteine b742af2e2a Move Y_STOP_PIN for Printrboard with SD (PR#2420) 2015-07-16 16:39:55 -05:00
Richard Wackerbarth e0f4fc2033 Merge Cleanup (PR#2445) 2015-07-16 16:37:33 -05:00
Scott Lahteine baa9199973 Define extern delta only for delta 2015-07-16 16:36:30 -05:00
Scott Lahteine 77e80ef367 Require extruders for thermal code 2015-07-16 16:36:30 -05:00
Scott Lahteine 3bde4f4855 Require temp sensor for bed thermal protection 2015-07-16 16:36:30 -05:00
Scott Lahteine 82a3ed2f9a Cleanup and dev notes in Marlin.h 2015-07-16 16:36:30 -05:00
Scott Lahteine db23b9b184 Minor tweak to M204 code (PR#2457) 2015-07-16 16:35:13 -05:00
Scott Lahteine 81d42406b7 Move braces in homeaxis to prevent a hanging else (PR#2451) 2015-07-16 10:25:54 -05:00
Scott Lahteine 552a327df8 Fix lsDive filename stack overrun (PR#2449) 2015-07-16 10:23:56 -05:00
Richard Wackerbarth ee71845d60 Merge Servo pin (PR#2425) 2015-07-15 20:53:21 -05:00
AnHardt a6628f12cc Eliminate the further use of the pin-parameter 2015-07-15 20:50:58 -05:00
AnHardt 8504992e9f Remove the additional pin variable in Servo.cpp
as sugested by @c-born
inhttps://github.com/MarlinFirmware/Marlin/issues/1885#issuecomment-92618240
2015-07-15 20:50:58 -05:00
Richard Wackerbarth 2cbb85fe88 Merge Bed leveling residuals (PR#2444) 2015-07-15 19:52:42 -05:00
AnHardt ed6598adf5 Corrected Bed Height vs. Bed Topology for verbosity > 3
and cleaned out some tabs.

Everything else is a rebased PR#2017 as proposed by @CptanPanic
2015-07-15 19:51:40 -05:00
brian 62302ceb9e Add calculation of difference between auto-correct bed level plane, and measured topo map. 2015-07-15 19:51:40 -05:00
Richard Wackerbarth f7659f02bb Merge Config cleanup (PR#2448) 2015-07-15 19:14:29 -05:00
Scott Lahteine de25a48dec Remove PID examples from preconfigured configs 2015-07-15 19:13:53 -05:00
Scott Lahteine 7456710a1f Update configs formatting 2015-07-15 19:13:47 -05:00
Scott Lahteine 391386dd94 Update configs for new servo deactivation 2015-07-15 19:13:40 -05:00
Richard Wackerbarth 63715aba4f Merge Anti-jitter for all servo moves (PR#2427) 2015-07-15 17:40:59 -05:00
AnHardt 5243d8b523 Deactivate DEACTIVATE_SERVOS_AFTER_MOVE by default 2015-07-15 17:39:43 -05:00
AnHardt 49609f6c14 Activate the new servo.move() function
by replacing the sequences (attach, write, delay, detach), and their conditions with the new function in Marlin.main.cpp
and removing the old configuration in the ABL part of Configuration.h
2015-07-15 17:39:43 -05:00
AnHardt 40b6edcad7 Introduce DEACTIVATE_SERVOS_AFTER_MOVE in Configuration.h
DEACTIVATE_SERVOS_AFTER_MOVE is ought to replace PROBE_SERVO_DEACTIVATION_DELAY.
But it will work on all servo moves, not only the probe servo moves.
2015-07-15 17:39:43 -05:00
AnHardt 2ddb2a2be9 Add Servo::move() to servo.cpp
move(pin, angel) - Sequence of attach(pin), write(angel),
                   if DEACTIVATE_SERVOS_AFTER_MOVE is defined waits SERVO_DEACTIVATION_DELAY, than detaches.

As we have jitter on the servos during moves of the steppers, and detaching them improves this behaviour,
the usual sequence to handle a servo movement is:
attach(pin)
write(angel)
delay(until the servo finished the move)
detache()

Here a function to handle the complete sequence.
2015-07-15 17:39:43 -05:00
mkile 8a01e5fb7a Update Russian translation (PR#2443)
Slightly updated translation.
2015-07-15 10:35:36 -05:00
Richard Wackerbarth e83575537a Compiler defines USBCON for USB devices (PR#2433) 2015-07-15 10:32:11 -05:00
ayberkozgur 7268d46508 Always calculate extruder temperature PID d term (PR#2432) 2015-07-13 13:22:26 -05:00
Scott Lahteine 87a872e103 Use st_get_position_mm where possible (PR#2411) 2015-07-12 22:15:54 -05:00
Scott Lahteine 2e0da8abdc Allow N to take a negative argument (PR@2402) 2015-07-12 22:14:25 -05:00
Richard Wackerbarth 85b7cca4d0 Merge Stepper reset for RigidBot (PR#2417) 2015-07-11 16:04:56 -05:00
Scott Lahteine 447dbd6fa5 Add STEPPER_RESET_PIN support 2015-07-11 16:04:11 -05:00
Scott Lahteine a0351bdb73 Remove STEPPER_RESET_FIX option 2015-07-11 16:04:11 -05:00
Scott Lahteine 6b1b8cb2b3 Also nullify spaces before the checksum asterisk (PR#2409) 2015-07-10 09:03:07 -05:00
Richard Wackerbarth 0fd814e4f1 Merge RigidBot (PR#2401) 2015-07-09 11:37:26 -05:00
Scott Lahteine 8e61314323 Use RIGIDBOT_PANEL for consistency with online docs 2015-07-09 11:36:46 -05:00
Scott Lahteine 4b204da3c1 Cleanup of pins_RAMPS_13.h 2015-07-09 11:36:46 -05:00
Scott Lahteine 536f86e896 RigidBot CONTROLLERFAN_PIN in Configuration_adv.h 2015-07-09 11:36:46 -05:00
Scott Lahteine f068e46661 RigidBoard include for pins.h 2015-07-09 11:36:46 -05:00
Scott Lahteine 9ebcae496d RIGIDBOARD / RIGIDPANEL 2015-07-09 11:36:46 -05:00
Scott Lahteine c3c605c658 Move note about LiquidTWI2 to Configuration.h (PR#2406) 2015-07-09 05:33:17 -05:00
Richard Wackerbarth 3b769753eb Merge M11 fixes (PR#2394) 2015-07-07 07:04:30 -05:00
Scott Lahteine 4e9d658141 Prevent a hanging SERIAL_ECHO_START in M111 2015-07-07 06:59:10 -05:00
Scott Lahteine bc0fdbe88e Use SERIAL_EOL in SERIAL_PROTOCOLLN macros 2015-07-07 06:59:10 -05:00
Scott Lahteine d78ebbc0e9 Remove unused MSG_OK_B and MSG_OK_T 2015-07-07 06:59:10 -05:00
Scott Lahteine 6b494c1535 Use disable_all_heaters in M111 2015-07-07 06:59:10 -05:00
Scott Lahteine 15190d40df Add extra EOL after M111 2015-07-07 06:59:10 -05:00
AnHardt 0e1cf78f5c Remove code for testing if probing range is too small (PR#2390)
becaue it is over-restrictive and superseeded by the now working tests
if the probe-recktangle can be reached. See iss#2366
2015-07-07 06:58:01 -05:00
AnHardt d421f5250d Correct the sign of zprobe_zoffset for G29 (PR#@391)
Sign flipped with #2167.
See also comments
https://github.com/MarlinFirmware/Marlin/issues/2040#issuecomment-118568355
and following.
2015-07-07 06:55:33 -05:00
Scott Lahteine 52fcc743ab Replace "target" with "destination" in M600 (PR#2374)
- Also fix a bug in `M600` where `Z_MAX_ENDSTOP_INVERTING` is being
used as the index into the `destination[AxisEnum]` array.
2015-07-04 05:55:25 -05:00
Scott Lahteine a5033c3652 Enable LCD_PIN_RESET if it exists (PR#2375) 2015-07-04 05:53:22 -05:00
AnHardt 23c8c5348f Z-height fix V2b (PR#2351)
here the other two occurences of `Z_PROBE_OFFSET_FROM_EXTRUDER` are
replaced with `zprobe_zoffset`.
2015-07-02 20:30:40 -05:00
Todd Swindoll a111fbbd0a z-probe offset fix (PR#2361)
verified via 1.0.2 tag that compiles by multiple people,
credit for the fix goes to paulusjacobus for the initial find and
sniffle for the correction so M851 works.
2015-07-02 20:28:07 -05:00
AnHardt dae4eb36ad Add MagoKimbra to the list of contributors (PR#2356)
in Development
2015-06-30 08:23:38 -05:00
AnHardt 2c1414f81f Reactivate tests for more extruders in Travis (PR#2348)
BOARD_ULTIMAKER was not the default any more
- sed failed to change the board
- RAMPS_EFB has no second extruder
- ...
- Added test for bed

Rebased.
2015-06-29 09:30:33 -05:00
Richard Wackerbarth 316469e76a Clean up comments and spacing 2015-06-28 08:22:29 -05:00
Scott Lahteine 42465ee444 Cleanup of comments & spacing 2015-06-28 08:20:28 -05:00
Scott Lahteine 9682ed455e Fix comment on M83, add comment to prepare_move 2015-06-28 08:20:19 -05:00
Richard Wackerbarth 8c760f1c31 Modify Travis build to use IDE 1.6.4 2015-06-27 16:51:42 -05:00
Richard Wackerbarth cfb416fda9 Merge branch 'PrepareForIDE1.6' (PR#2306) 2015-06-27 15:49:12 -05:00
Richard Wackerbarth 9643e6c744 Make the platform.local a bit more generic 2015-06-27 15:45:25 -05:00
Richard Wackerbarth 4683645036 Vendor (Marlin) files 2015-06-27 15:45:25 -05:00
Richard Wackerbarth efd5658e32 library - SPI 2015-06-27 15:45:25 -05:00
Richard Wackerbarth 9b13e60e38 core - AT90USB… 2015-06-27 15:45:25 -05:00
Richard Wackerbarth 907032616e core - arduino 2015-06-27 15:45:25 -05:00
Richard Wackerbarth e2f2458928 library - Liquid Crystal 2015-06-27 15:45:24 -05:00
Richard Wackerbarth d8785ffc6f library - TMC26x Stepper 2015-06-27 15:45:24 -05:00
Richard Wackerbarth ae9de515b8 library - L6470 2015-06-27 15:45:24 -05:00
Richard Wackerbarth 363d7c505f library - Wire 2015-06-27 15:45:24 -05:00
Richard Wackerbarth 7592bb1f2f library - U8glib upgrade to v1.17 2015-06-27 15:45:24 -05:00
Richard Wackerbarth deea00dde3 library - U8glib 2015-06-27 15:45:23 -05:00
Richard Wackerbarth 1fd335b702 Bootloaders 2015-06-27 15:45:22 -05:00
Richard Wackerbarth bf629cf7b1 Have Travis Get additional information from the git repository
Travis builds from a detached head.
We need to use the current branch so that versioning works properly
2015-06-27 15:45:22 -05:00
Scott Lahteine bb44fe17cf Fix typo in buzzer.h endif (PR#2337) 2015-06-27 06:10:19 -05:00
AnHardt 36746143a1 Correct output of M48 (PR#2336)
n_samples is an uint8_t .
Got printouts like:
50 of 2  ...
2015-06-27 06:08:40 -05:00
Richard Wackerbarth 47b78ed1af Merge Implement M110 (PR#2327) 2015-06-26 18:15:09 -05:00
Scott Lahteine f6ca5a8da8 Allow "M110 N123" without a checksum 2015-06-26 18:13:54 -05:00
Scott Lahteine aaad65ff5d Include a comment documenting M110 2015-06-26 18:13:54 -05:00
Scott Lahteine 862c72b030 Put the mandatory test of gcode_N first 2015-06-26 18:13:54 -05:00
Scott Lahteine 30976f9773 Allow M110 to handle a second N argument 2015-06-26 18:13:53 -05:00
Scott Lahteine d135b15bb8 Init all endstop bits to 0 (PR#2332) 2015-06-26 07:10:22 -05:00
Richard Wackerbarth e09abb1b31 Merge Fix M600 (PR#2301) 2015-06-25 20:45:55 -05:00
Scott Lahteine 5ccb1c9e7d Use millis for M600 audio feedback interval 2015-06-25 20:45:03 -05:00
Scott Lahteine fb16a83b8a Cleanup M600 documentation comments 2015-06-25 20:45:03 -05:00
Scott Lahteine 97ec224d72 Replace target with destination in M600 2015-06-25 20:45:03 -05:00
Scott Lahteine 4ce9ddbb74 Check the temperature before filament change 2015-06-25 20:45:03 -05:00
Richard Wackerbarth a1e8714d5f Merge 'Ultimaker' (PR#2331) 2015-06-25 09:13:50 -05:00
Jaime van Kessel b8b5762e55 Update Ultimaker URL 2015-06-25 09:12:44 -05:00
Jaime van Kessel d5bfbf5a59 Added correct dutch translation for calibrate. 2015-06-25 09:12:44 -05:00
Scott Lahteine 149c474e55 Updated Russian language (PR#2325)
Gleaned from
https://github.com/MarlinFirmware/Marlin/commit/4ac14a7e5fa8e6e395436664
8976eafd1ae220ae
2015-06-22 23:07:19 -04:00
AnHardt 722829b058 Move buzzing code to buzzr.h & buzzer.cpp (PR#2307)
at least the lcd independent part from Marlin_main.cpp.
2015-06-22 22:31:48 -04:00
AnHardt c461975140 Rename and repair MELZI_1284 (PR#2301)
to MELZI_MAKR3D.

Fix for #2288
As the normal MELZI also can have a 1284.
2015-06-22 22:30:07 -04:00
schlotzz 1e9cf905c7 Enable ZigZag AutoBedLeveling on Deltas (PR#2273)
ZigZag has been disabled by fault due to do_topography_map
2015-06-15 20:26:25 -05:00
Scott Lahteine ec93383ec8 Add SanityCheck for bed probe position settings (PR#2282) 2015-06-15 20:22:44 -05:00
Richard Wackerbarth c2cef42f8e Merge (PR#2285) 2015-06-15 20:21:01 -05:00
Scott Lahteine dc40a5f6e0 Patch up more outdated config lines 2015-06-15 20:20:32 -05:00
Scott Lahteine 98c9111a7d Update delta configs with latest settings 2015-06-15 20:20:32 -05:00
Scott Lahteine e6baf8afd9 Fix up allen key settings in delta configs 2015-06-15 20:20:31 -05:00
Scott Lahteine 3b293fc5d1 Move Delta settings lower in delta files 2015-06-15 20:20:31 -05:00
Scott Lahteine df21857583 Move extruder offset settings next to extruders setting 2015-06-15 20:20:31 -05:00
Scott Lahteine 2dd1859247 Cleanup spaces and comments in configs and conditionals 2015-06-15 20:20:31 -05:00
Scott Lahteine a274769f4f Clean up spacing and comments
Also clean up some trailing spaces in a few other sources
2015-06-15 20:20:31 -05:00
Scott Lahteine d3bce05d54 Fix up spacing for filament sensor values 2015-06-15 20:20:31 -05:00
Scott Lahteine b4b10a57fe Fix configurator section directives and values lists 2015-06-15 20:20:31 -05:00
Scott Lahteine bba14dcbe6 Move Z Safe Homing point to the middle of the movement range 2015-06-15 20:20:31 -05:00
Richard Wackerbarth 06906bc1c8 Merge (PR#2295) 2015-06-15 20:18:21 -05:00
Scott Lahteine 318318b02f Add pins_RAMPS_13_EFB.h to reduce redundancy 2015-06-15 20:17:09 -05:00
Scott Lahteine 346c8b339b Remove a test from pins_RAMPS_13.h
- Add 3 new lines to `pins.h` to remove 2 redundant tests in
`pins_RAMPS_13.h`
2015-06-15 20:15:38 -05:00
AnHardt b93cddfcc9 Add lost MKS_BASE to pins.h (PR#2297) 2015-06-15 10:23:46 -05:00
AnHardt 6ab7b560af Rework buzzing (PR#2296)
by:
Moving HAS_LCD_BUZZ macro to Coditionals.h
Renaming HAS_LCD_BUZZ to HAS_BUZZER to make clear is has nothing to do with the lcd.
Removing the ULTRALCD condition.

Moving declaration of lcd_buzz() out of the ULTRA_LCD block in ultralcd.h
Moving definition of lcd_buzz() out of the ULTIPANEL block in ultralcd.cpp
Renaming lcd_buzz() to buzz() to make clear is has nothing to do with the lcd.

All buzzing code is now only dependent on the existence of a BEEPER-pin or the definition of a LCD_USE_I2C_BUZZER.

To do: Check the conditions for the BEEPER-pin in all pin-files.
2015-06-15 06:13:26 -05:00
Scott Lahteine 29122db2fa Fix ULTRA_LCD spelling in HAS_LCD_BUZZ 2015-06-15 06:12:34 -05:00
Richard Wackerbarth 1418470ae9 Merge PR(#2271) 2015-06-14 20:01:40 -05:00
Scott Lahteine 1d94d098bf Formatting tweaks as part of fixing issue 1497 2015-06-14 19:57:27 -05:00
Scott Lahteine e602c28ad9 Set auto fan pins to OUTPUT during init
Fixes the problem of these pins being left in INPUT state, as described
in #1497
2015-06-14 19:57:27 -05:00
Scott Lahteine 90f858aa85 Use translated strings for axis movement (PR#2280)
Suggest we use the translated strings here. They use (except for
German) the phrasing “Move X” instead of just the axis letter, but they
should fit the available space. The “Extruder” string would be the
same, except it will be translated.
2015-06-14 08:16:00 -05:00
Scott Lahteine e2a4a83586 Don't re-apply Z_RAISE_BETWEEN_PROBINGS in probe_pt (PR #2281) 2015-06-12 22:39:35 -05:00
Scott Lahteine 6b1b3adaf0 Consistent punctuation in SanityCheck errors (PR#2283) 2015-06-12 09:31:02 -05:00
MagoKimbra eb81982fcd Fix error next command in autotune (PR#2274)
Now send only temperature for T or B, but not send OK.
Host interprets the line to show the right temperature, but not in
response to M105 then stop and send commands until it ends the autotune.
2015-06-12 07:10:38 -05:00
AnHardt 55b23c896a Optimise out_of_range_error() (PR#2265)
by avoiding the strncopy()
2015-06-12 02:20:40 -05:00
filipmu b0860adab6 Fix volumetric multiplier display for filament sensor (PR#2264)
The volumetric multiplier display needs to be multiplied by 100 in order to make it an integer for display purposes.
2015-06-12 02:19:27 -05:00
AnHardt 45642b7fe8 Respect DISABLE_AXIS settings (PR#2216)
when DEFAULT_STEPPER_DEACTIVE_TIME is over
instead of simply turn off all.
2015-06-11 11:35:05 -05:00
wurstnase c85a486445 make the dual z-endstop optional (PR#2277)
it's disabled by default
2015-06-10 15:45:59 -05:00
Scott Lahteine 962b107341 Prevent current_command_args from bypassing nul (PR#2270) 2015-06-09 16:07:10 -05:00
Richard Wackerbarth 4061279218 Merge pull request #2260 from Wackerbarth/DropArduino0.x.x
Deprecate Support for Arduino IDE < 1.0.5
2015-06-08 17:16:25 -05:00
Richard Wackerbarth 06ae832276 Deprecate Support for Arduino IDE < 1.0.5
Note that newer versions of the IDE can still
be made to support compilation for the older boards.
2015-06-08 17:15:28 -05:00
Richard Wackerbarth 4c3ca0b5b6 Deprecate Support for Arduino IDE < 1.0.5
Note that newer versions of the IDE can still
be made to support compilation for the older boards.
2015-06-08 17:15:28 -05:00
Scott Lahteine ff6081be3a Parse N[0-9]+[ ]* differently (PR #2263)
More general solution to skip N[0-9]+[ ]* in the parser as in #2218
2015-06-08 17:06:49 -05:00
Richard Wackerbarth d8e2f5d333 Merge pull request #2167 from thinkyhead/reverse_zoffset_sign
Reverse the sign of zprobe_zoffset
2015-06-08 05:10:05 -05:00
Scott Lahteine aad121864e Include "Z" in M851 report 2015-06-08 05:09:27 -05:00
Scott Lahteine 96a3fba8ac Reverse the sign of zprobe_zoffset
- When editing on the LCD, minus now means below the nozzle
- Stores the opposite sign in EEPROM, so bumped to “V20”
2015-06-08 05:09:27 -05:00
Richard Wackerbarth 1ad2c5bfc0 Merge pull request #2257 from fmalpartida/bugFixing
Updated SAV MkI extension module header connector.
2015-06-08 05:07:48 -05:00
fmalpartida f92907183c Updated SAV MkI pin header. 2015-06-08 05:07:11 -05:00
Richard Wackerbarth 58941e543e ELB_FULL_GRAPHIC_CONTROLLER_SDCARDDETECTINVERTED removed
#defining something just to define something else doesn’t
make sense

If you want SDCARDDETECTINVERTED, just define it yourself.

If the previous code was intended to define, undefined and then again define the term, that code is improper.
2015-06-06 21:44:59 -05:00
Richard Wackerbarth cf5d64d940 Merge PR #2118 2015-06-06 20:14:50 -05:00
CONSULitAS 788eb6e647 planner.cpp: remove tab
planner.cpp: single evil and hidden tab removed ♻️ 😏
2015-06-06 20:13:56 -05:00
CONSULitAS 3a5963c0e7 Configuration_adv.h: Add FAN_MIN_PWM for slow fan stopping issue …
* all Configuration_adv.h: Add #define FAN_MIN_PWM for slow fan stopping
issue
* for K8200: uncommented with tested (and working) values
2015-06-06 20:13:56 -05:00
CONSULitAS e55e65d1e4 planner.cpp: Add FAN_MIN_PWM for slow fan stopping issue …
@CONSULitAS

planner.cpp: Add FAN_MIN_PWM for slow fan stopping issue (V2.1 with
macro and linear scaling)

@thinkyhead thanks for idea on linear scaling
2015-06-06 20:13:56 -05:00
Richard Wackerbarth 5239a4e839 Merge bPR #1882 2015-06-06 19:47:07 -05:00
paclema 8d295547be * Auto filament change on CHANGEFILAMENT feature. Now you can activate this option that extrude filament until you press the button. 2015-06-06 19:45:45 -05:00
Richard Wackerbarth 3eea5222cf Merge PR #1767 2015-06-06 19:00:27 -05:00
atfield90 6d0e91328d Renamed Board_megatronics_1 to Board_minitronics 2015-06-06 18:59:04 -05:00
atfield90 c4a2e5ac23 Renamed Pins_megatronics_1 to Pins_minitronics 2015-06-06 18:59:04 -05:00
atfield90 2076906aaa Renamed Pins_megatronics_1 to Pins_minitronics 2015-06-06 18:59:04 -05:00
tonokip 10733a2bb0 added minirambo pin definitions. V2 2015-06-06 18:37:58 -05:00
Richard Wackerbarth 0c7bdf569c Merge branch 'ProbeDeployment' into Development 2015-06-06 17:49:20 -05:00
Richard Wackerbarth 303d47228e Define Probe Path in new format 2015-06-06 17:48:27 -05:00
Richard Wackerbarth ad09d6a60f 3 Step Allen Key Probe 2015-06-06 17:48:27 -05:00
Richard Wackerbarth 8359cdf01d Check compatibility for Teensy-based processor
The instruction say to set a #define in fastio.h
However, that value is not included before this test.
2015-06-06 17:24:34 -05:00
Richard Wackerbarth 6b095af9b1 Merge branch 'GenerateVersionHeader' into Development 2015-06-06 17:21:35 -05:00
Richard Wackerbarth b3a3080b4b Suppress error when on detached head 2015-06-06 17:20:01 -05:00
Daniel Friesen 54375cc7a4 Quote paths so build scripts work when directories have space in their name.
Currently if you clone Marlin to a directory with a space in the name, Arduino will generate an error.
Because when executed the path ends up split into two separate arguments.
2015-06-06 17:20:01 -05:00
Richard Wackerbarth bdf778bec2 Merge SDCARDDETECTINVERTED (#2144) 2015-06-06 16:44:13 -05:00
Ed Boston 08968c29bb Adding ELB_FULL_GRAPHIC_CONTROLLER_SDCARDDETECTINVERTED to Examples 2015-06-06 16:40:32 -05:00
Ed Boston fed18bcc20 Removed SDSLOW for ELB_FULL_GRAPHIC_CONTROLLER
Hardware changes has removed the need for this option.
2015-06-06 16:40:32 -05:00
Ed Boston b94a0e1501 Added ELB_FULL_GRAPHIC_CONTROLLER_SDCARDDETECTINVERTED
The new define allows the sd card detect to be inverted or not from
Configuration.h
2015-06-06 16:40:31 -05:00
Ed Boston bc205c76a3 SDCARDDETECTINVERTED problems
Fixed an error where SDCARDDETECTINVERTED was being defined/undefined
improperly
2015-06-06 16:40:31 -05:00
AnHardt 2bf482ce65 Merge pull request #2238 from AnHardt/TRP-Travis-again
Remove the 'Thermal Runaway Protection' section from .travis.yml
2015-06-03 12:48:13 +02:00
AnHardt e400fce271 Merge pull request #2221 from MagoKimbra/Dryrun
Insert Debug DRYRUN Repetier Host compatible
2015-06-03 12:30:48 +02:00
AnHardt 5ed0c1a2bd Remove the 'Thermal Runaway Protection' section from .travis.yml
because its activated by default now.

Closes #2234.
2015-06-03 12:25:57 +02:00
AnHardt 95f1feab1a Merge pull request #2232 from Wackerbarth/AutoVersioning
Automatic versioning for Travis builds
2015-06-03 12:22:01 +02:00
AnHardt 163a9ff58e Merge pull request #2230 from AnHardt/psm
Fix thermal protection state machine target temp. V2
2015-06-03 09:46:53 +02:00
AnHardt c3fe6e61ae Merge pull request #2229 from AnHardt/position-out-of-range
Fix out_of_range_error()
2015-06-03 09:46:22 +02:00
MagoKimbra 4db8d2def4 Moved MSG_DEBUG in language.h 2015-06-03 08:18:27 +02:00
AnHardt 38c21ff34d Merge pull request #2236 from AnHardt/backto103def
Back to 1.0.3 dev - for now
2015-06-03 01:08:05 +02:00
AnHardt b7e9ba7591 Back to 1.0.3 dev - for now 2015-06-03 00:47:11 +02:00
AnHardt d1f4471000 Merge pull request #2146 from Wackerbarth/Versioning
Versioning
2015-06-02 18:31:21 +02:00
Richard Wackerbarth ac382cbdaf Automatic versioning for Travis builds 2015-06-02 08:13:43 -05:00
AnHardt b1404a0743 fix thermal protection state machine target temp. V2
If the target temperature is changed then it would always stay in the reset state.
Thanks to @tonokip.

Replaces #2119
2015-06-02 12:26:21 +02:00
AnHardt 17b0ec84ed Fix out_of_range_error()
For sprintf_P() the first parameter has to be a `char*` not `const char*`.
2015-06-02 11:50:32 +02:00
AnHardt 35af5ef23e Merge pull request #2225 from Wurstnase/naming
consistency name for multiplier
2015-06-02 10:18:22 +02:00
wurstnase e7e964432b consistency name for multiplier
replace extruder_multiply with extruder_multiplier
like feedrate_multiplier or volumetric_multiplier
2015-06-01 22:33:22 +02:00
AnHardt d4c6fc5d0a Merge pull request #2223 from AnHardt/dualz-semicolon
Add a semicolon to make Z_DUAL_STEPPER_DRIVERS compile again.
2015-06-01 20:15:55 +02:00
AnHardt 0d9d21d15f Add a semicolon to make Z_DUAL_STEPPER_DRIVERS compile again. 2015-06-01 19:51:43 +02:00
MagoKimbra 76306f9073 Insert Debug DRYRUN Repetier Host compatible 2015-06-01 18:34:45 +02:00
AnHardt ca2dcff9d4 Merge pull request #2219 from MagoKimbra/Cura_bug
Fix problem Width Cura
2015-06-01 17:54:10 +02:00
MagoKimbra 881146bc22 Fix problem Width Cura 2015-06-01 17:25:32 +02:00
Bo Herrmannsen c33fffd6a7 Merge pull request #2209 from AnHardt/u8glib
Replace U8GLI v1.11 with v1.17
2015-06-01 07:01:59 +02:00
Bo Herrmannsen 01a7b5cc97 Merge pull request #2210 from fmalpartida/bugFixing
Addes support for SDD1306 I2C OLED LCD
2015-06-01 07:01:35 +02:00
Bo Herrmannsen cc5d006087 Revert "updated addons for IDE 1.6.4"
This reverts commit 2724baae8b.
2015-06-01 07:00:30 +02:00
Bo Herrmannsen 2724baae8b updated addons for IDE 1.6.4 2015-05-31 23:52:39 +02:00
fmalpartida 11e3f3375d Merge commit '764e61708b8e73410c7819d59c4970d7089ca6f5' into bugFixing
Updated LCD wiki location.
2015-05-31 21:20:26 +02:00
AnHardt 6f4873329e Replace U8GLI v1.11 with v1.17
In Travis we already test against 1.17.
2015-05-31 20:25:36 +02:00
AnHardt 764e61708b Merge pull request #2208 from alexxy/ru_translations
Update ru translation
2015-05-31 19:46:59 +02:00
Alexey Shvetsov a8670b66a7 Update ru translation
Signed-off-by: Alexey Shvetsov <alexxy@gentoo.org>
2015-05-31 20:09:10 +03:00
fmalpartida 93da52d011 Added support for OLED SSD1306 I2C based LCDs. 2015-05-31 18:53:29 +02:00
Wurstnase 9c09967803 Merge pull request #2149 from Wurstnase/enstop_bits
faster compare
2015-05-31 16:02:55 +03:00
wurstnase 0f3f7d6835 clean up double endstops 2015-05-31 14:06:13 +02:00
AnHardt 9d2a980bcf Merge pull request #2170 from thinkyhead/beep_M600_elsewise
Slight size reduction by adding idle()
2015-05-30 12:42:32 +02:00
AnHardt 2728dc0606 Merge pull request #2194 from thinkyhead/reduce_strings
Redo "invalid extruder" to save 304 bytes
2015-05-30 11:05:08 +02:00
Scott Lahteine be5236e839 Reduce setTargetedHotend by removing the switch 2015-05-29 18:03:58 -07:00
Scott Lahteine 06f401e7e5 Redo "invalid extruder" to save 264 bytes
- Use `setTargetedHotend` in `M200`, as with other commands that use
`T` for the extruder
- Synthesize the "invalid extruder" message, obviating several long
strings
2015-05-28 22:25:28 -07:00
Scott Lahteine 1a882bcc2e Merge pull request #2193 from thinkyhead/ignore_unrecognized_commands
Ignore unknown commands if they start with G, M, or T
2015-05-28 22:03:48 -07:00
Scott Lahteine a672872717 Merge pull request #2187 from AnHardt/MAX6675M105
Print active extruder with M105 for MAX6675
2015-05-28 18:12:48 -07:00
Scott Lahteine 9beed830eb Drop commented code_is_good lines 2015-05-28 17:53:47 -07:00
Scott Lahteine 068d4a1eb2 Ignore unknown commands if they start with G, M, or T 2015-05-28 17:44:09 -07:00
Scott Lahteine 5824f613ff Merge pull request #2185 from jothan/bed_integral
Separate the maximum integral power for the bed from PID_INTEGRAL_DRI…
2015-05-28 16:32:02 -07:00
Scott Lahteine c5c9d12630 Merge pull request #2183 from AnHardt/displayinit
Initialize the display earlier
2015-05-28 16:29:18 -07:00
Scott Lahteine ef4becc413 Merge pull request #2188 from AnHardt/FtoN
Replace MSG_F? with MSG_N?
2015-05-28 16:18:50 -07:00
Scott Lahteine eecabf0b00 Merge pull request #2190 from thinkyhead/new_parser_m33
Update M33 for new gcode parser
2015-05-28 16:17:32 -07:00
Scott Lahteine 0564625757 Update M33 for new gcode parser 2015-05-28 14:17:39 -07:00
AnHardt f18f689c01 Replace MSG_F? with MSG_N?
To avoid double definitions.
I prefer to read N for Number not for Nozzle.
2015-05-28 20:30:23 +02:00
AnHardt af7e3f5076 Print active extruder with M105 for MAX6675
Was omitted when T0 is a MAX6675.
2015-05-28 19:03:16 +02:00
Jonathan Bastien-Filiatrault d46d9d998e Add maximum bed integral term in example configurations. 2015-05-28 12:51:37 -04:00
Jonathan Bastien-Filiatrault e86f2342c0 Separate the maximum integral power for the bed from PID_INTEGRAL_DRIVE_MAX / PID_MAX.
My PID_INTEGRAL_DRIVE_MAX was at 96, which was insufficient for my bed
to reach its intended temperature. The head requires a low maximum power since
I run on 24 volts and it has a somewhat low thermal mass.
2015-05-28 11:48:04 -04:00
AnHardt a8a8f236d2 Merge pull request #2180 from thinkyhead/fix_radian
Fix DEGREES macro
2015-05-28 16:19:41 +02:00
AnHardt f0523b5816 Initialize the display earlier
to have it ready to display errors during (temperature)-setup.
2015-05-28 16:08:17 +02:00
Scott Lahteine 790c697c19 Fix DEGREES macro 2015-05-28 00:19:48 -07:00
Scott Lahteine 76b4678f99 Merge pull request #2171 from thinkyhead/gcode_110_is_good
M110 is a known command
2015-05-26 21:17:58 -07:00
Scott Lahteine 03d5709b09 M110 is a known command
- The command parser now displays “unknown command” in more cases.
Known commands must be added to the `switch` inside `process_commands`
to suppress the error.
2015-05-26 20:31:18 -07:00
Scott Lahteine d76a01194d Slight size reduction by adding idle() 2015-05-26 20:08:21 -07:00
Scott Lahteine 22c8bc5ef4 Merge pull request #2157 from AnHardt/bed-mintemp
Activate BED_MINTEMP error
2015-05-26 17:49:37 -07:00
Scott Lahteine 97a48e36e9 Merge pull request #2156 from AnHardt/kill3
Call kill() only once when triggered by a temperature error
2015-05-26 15:34:47 -07:00
Richard Wackerbarth 2deb5a8ac5 Temporary Hack
REVERT THIS CHANGE

In proper use, we want to force the vendor to update this file to reflect distribution parameters

However, until most users have converted to automatic versioning,
we “grant them a pass”
2015-05-25 15:54:08 -05:00
Richard Wackerbarth b5743d6927 Use SOURCE_CODE_URL rather than FIRMWARE_URL 2015-05-25 15:53:34 -05:00
Richard Wackerbarth 5ea139fd79 Revised Versioning mechanism 2015-05-25 15:53:14 -05:00
AnHardt da246f5cb1 Activate BED_MINTEMP error.
And call _temp_error() directly for ERR_MAXTEMP_BED to avoid the only one time use of bed_max_temp_error().

Includes #2156.
2015-05-25 13:23:19 +02:00
AnHardt 959da98d8e Call kill() only once when triggered by a temperature error
to avoid stack overflow when called from interrupt.

Some clean up for calls of disable_all_heaters().
'disable_all_heaters()' is called in kill() and again when 'killed' is already set inside _temp_error().
2015-05-25 12:44:03 +02:00
Scott Lahteine ffc39dc182 Merge pull request #2153 from thinkyhead/leveling_shrink
Reduce code size with out_of_range_error function
2015-05-24 20:32:51 -07:00
Scott Lahteine 68f6f149d0 Reduce code size with out_of_range_error function
- Affects code size when automatic bed leveling is enabled
2015-05-24 20:18:02 -07:00
Scott Lahteine f8aabd670e Notes about Development in its README.md 2015-05-24 18:47:00 -07:00
wurstnase 94120740d8 faster compare
!(~(ab)&0x3) and ab == 0x3 are equal
2015-05-23 07:55:15 +02:00
Scott Lahteine c9141e604a Merge pull request #2145 from thinkyhead/gcode_folding
Indentation in process_commands
2015-05-22 18:47:37 -07:00
Scott Lahteine 3778362f88 Merge pull request #2143 from thinkyhead/fix_command_parser_M110
Cleanup pins in RAMPS_13_EFB boards
2015-05-22 18:47:10 -07:00
Scott Lahteine b55f8718c3 Indent G90/G91, G92 2015-05-22 17:34:08 -07:00
Scott Lahteine b0d520b109 Indent G30, G31/G32 2015-05-22 17:33:17 -07:00
Scott Lahteine ffe27a6225 Indent G29 2015-05-22 17:32:46 -07:00
Scott Lahteine 86083badc2 Indent G4, G10/G11, G28 2015-05-22 17:32:27 -07:00
Scott Lahteine 47d7a9cb5e Indent G2/G3 2015-05-22 17:31:38 -07:00
Scott Lahteine 350f239d84 Indent G0/G1 2015-05-22 17:31:24 -07:00
Scott Lahteine 672b0c1fd3 Cleanup pins in RAMPS_13_EFB boards 2015-05-22 16:20:54 -07:00
Scott Lahteine f4584c51c5 Merge pull request #2142 from thinkyhead/fix_command_parser_M110
No need for +1 on initial seen_pointer
2015-05-22 15:32:11 -07:00
Scott Lahteine 15a2351675 No need for +1 on initial seen_pointer 2015-05-22 15:31:30 -07:00
Scott Lahteine 8cba3bd811 Merge pull request #2141 from thinkyhead/fix_command_parser_M110
Set seen_pointer before calling code_value
2015-05-22 15:29:15 -07:00
Scott Lahteine 550dd87b2a Set seen_pointer before calling code_value 2015-05-22 15:11:48 -07:00
Scott Lahteine 38cc0b93c6 Merge pull request #1874 from AnHardt/Bulgarian
Introduction of Bulgarian - language_bg.h
2015-05-22 13:59:50 -07:00
Scott Lahteine 04a1622172 Merge pull request #2127 from Wackerbarth/Kossel_Pro
Kossel Pro
2015-05-21 18:43:26 -07:00
Scott Lahteine 81c2ca3e10 Merge pull request #2131 from thinkyhead/bq_is_ramps_13_efb
Witbox and Hephestos are RAMPS EFB
2015-05-21 18:39:02 -07:00
Scott Lahteine f919a2fed1 Merge pull request #2134 from AnHardt/preheat-all
Shift call of start_watching_heater() into setTargetHotend()
2015-05-21 18:36:28 -07:00
Scott Lahteine 65343e8ae8 Merge pull request #2138 from thinkyhead/tweak_swh
Fix a couple of doubled semicolons
2015-05-21 18:36:04 -07:00
Scott Lahteine 063881b5bd Fix a couple of doubled semicolons 2015-05-21 18:15:29 -07:00
AnHardt 94dff5b36a Merge pull request #2137 from thinkyhead/tweak_swh
Move millis call in start_watching_heater
2015-05-22 02:02:07 +02:00
Scott Lahteine 70d2f48d4e Merge pull request #2136 from thinkyhead/M303_suppress_error
Suppress the line mismatch error after M303
2015-05-21 16:46:30 -07:00
AnHardt 0c0ace2a04 Remove start_watching_heater() fom M104 and M109 2015-05-22 01:44:50 +02:00
Scott Lahteine 00716d0ca0 Small start_watching_heater adjustment 2015-05-21 16:44:49 -07:00
Scott Lahteine 834747deb7 Merge pull request #2135 from Wurstnase/new_endstop_bits
new endstop bits
2015-05-21 16:35:54 -07:00
Scott Lahteine bde9c70d42 Suppress the line mismatch error after M303 2015-05-21 16:27:22 -07:00
Scott Lahteine 50bd7493cc Merge pull request #2108 from thinkyhead/m33_long_filename_host_support
M33 LONG_FILENAME_HOST_SUPPORT
2015-05-21 16:22:47 -07:00
Scott Lahteine 4d11b29959 Merge pull request #2113 from thinkyhead/command_sanitizer
Command sanitizer
2015-05-21 16:21:58 -07:00
Scott Lahteine 71ff9adb12 Merge pull request #2132 from thinkyhead/fix_M120_M121
M120 and M121 are reversed
2015-05-21 16:20:03 -07:00
wurstnase ff98b8632b new endstop bits 2015-05-21 23:16:43 +02:00
AnHardt 9b0fa9c309 Changed dependency of start_watching_heater() in setTargetHotend() to THERMAL_PROTECTION_HOTENDS 2015-05-21 21:07:37 +02:00
AnHardt bc0764894a Shift call of start_watching_heater() into setTargetHotend()
to warrant watching is set or reset.

Make setTargetBed() in _lcd_preheat() dependant of TEMP_SENSOR_BED.
Use disable_all_heaters() in lcd_cooldown() and abort_on_endstop_hit.
2015-05-21 20:36:11 +02:00
Richard Wackerbarth b878bc5620 Introducing the Kossel Pro Build Configuration 2015-05-21 11:47:34 -05:00
Richard Wackerbarth 3004359191 Libraries supporting Marlin platform 2015-05-21 11:47:34 -05:00
Richard Wackerbarth 6c86266fb6 Brainwave Bootloaders 2015-05-21 11:47:34 -05:00
Richard Wackerbarth 3eee09cb6c Brainwave Variants 2015-05-21 11:47:34 -05:00
Richard Wackerbarth 945fd2cf82 Brainwave Core from Arduino 1.0.1 (In 1.5 file structure) 2015-05-21 11:47:34 -05:00
Richard Wackerbarth 1b707a7cf7 Platform and Boards 2015-05-21 11:47:34 -05:00
Richard Wackerbarth 1d8f61ca8a AT90USB is defined in pins.h 2015-05-21 11:46:54 -05:00
Richard Wackerbarth 735bf2d35f Describe Custom M Code 2015-05-21 08:06:33 -05:00
Scott Lahteine f39658c822 M120 and M121 are reversed 2015-05-21 00:17:44 -07:00
Scott Lahteine 6eb4f90ce7 Also synchronize configurator copies of configs 2015-05-20 21:34:00 -07:00
Scott Lahteine 9d1961ebe3 Witbox and Hephestos are just RAMPS_13_EFB 2015-05-20 21:33:23 -07:00
AnHardt d6c1285ab5 Merge pull request #2115 from AnHardt/_temp_error
Use _temp_error() for all errors thrown by different heater sanity check mechanisms
2015-05-21 00:36:30 +02:00
AnHardt 4422365a53 Merge branch 'Development' of https://github.com/MarlinFirmware/Marlin into _temp_error 2015-05-20 23:34:39 +02:00
AnHardt 4113762062 Merge pull request #2130 from AnHardt/kill2
Add a string parameter to kill()
2015-05-20 23:32:51 +02:00
AnHardt 89d2ee6f13 Make output on display dependant of ULTRA_LCD 2015-05-20 22:03:16 +02:00
AnHardt 120d4c7a8c Merge remote-tracking branch 'origin/kill2' into _temp_error 2015-05-20 21:25:32 +02:00
AnHardt cb6e82dc60 Change from kill() to kill(const char *)
in temperature.cpp
2015-05-20 21:22:48 +02:00
AnHardt 9d13942278 Use new kill() with parameter. 2015-05-20 21:18:52 +02:00
AnHardt 6398c5e28d Merge remote-tracking branch 'origin/kill2' into _temp_error 2015-05-20 21:08:19 +02:00
AnHardt f4a93ed997 Add a string parameter to kill()
Makes the output on the LCD adjustable.
2015-05-20 20:53:48 +02:00
AnHardt 2990c6c45f Use new kill_() for _temp_error()
instead of stop(). We really want to require a reset and no chance to set a new temperature.
2015-05-20 14:03:14 +02:00
AnHardt 9b8c6ed254 Merge pull request #2120 from chris-bo/dogm_config
move dogm font selection to configuration_adv.h
2015-05-20 10:11:34 +02:00
AnHardt 06513565e9 Merge pull request #2105 from eboston/Development
Add  ELB_FULL_GRAPHIC_CONTROLLER with ADAFRUIT_ST7565 display.
2015-05-20 09:56:21 +02:00
Ed Boston 082ed3beed Propagate Configuration.h changes
Updated all the example Configuration.h files for the new display type.
2015-05-19 14:04:57 -07:00
Ed Boston 152b681bb5 Added link to controller github
Added the link to the github information about the
ELB_FULL_GRAPHIC_CONTROLLER
2015-05-19 04:14:55 -07:00
AnHardt 995b84944b Merge pull request #1982 from CONSULitAS/Development_Update_language.h
language.h: update documentation / URL für K8200
2015-05-19 12:13:35 +02:00
Scott Lahteine 7bc5fd8193 Merge pull request #2123 from AnHardt/Duemilanove
Remove Duemilanove
2015-05-18 20:36:05 -07:00
Scott Lahteine 94de1e0d93 Merge pull request #2116 from AnHardt/wording
transpire -> expire
2015-05-18 20:34:46 -07:00
AnHardt 23ee57c1c1 Remove DUEMILANOVE from Travis too. 2015-05-19 03:17:56 +02:00
AnHardt 4d4fa3607b Remove Duemilanove
No way to fit Marlin into 32K.
2015-05-19 02:46:37 +02:00
AnHardt e353d27430 Merge branch 'Development' of https://github.com/MarlinFirmware/Marlin into Bulgarian 2015-05-18 23:56:53 +02:00
AnHardt 775ea401c8 Delete Documentation/LCDLanguageFont.mf to avoid conflicts with Development 2015-05-18 23:56:26 +02:00
Ed Boston ca8d1756d5 Define fixes
Fixed a couple defines that were not changed or commented out.
2015-05-18 14:23:31 -07:00
CONSULitAS b96b28b7cc language.h: update documentation for LANGUAGE_INCLUDE
language.h: update documentation for LANGUAGE_INCLUDE

@thinkyhead What do you think? I think there should be a warning like
this.
2015-05-18 23:11:26 +02:00
Christian Bohn 258bcdefe0 move dogm font selection to configuration_adv.h 2015-05-18 22:54:53 +02:00
AnHardt 7750180c93 transpire -> expire
Minor wording correction.
2015-05-18 21:48:10 +02:00
AnHardt 70163dafb9 Use _temp_error() for all errors thrown by different mechanisms
Now ending in an endless loop.
Tidy up the output format.
We now get:
ERRORTEXT ", system stopped! Heater_ID: " HEATERID

Where ERRORTEXT can be:
"Heating failed"
"Thermal Runaway"
"MAXTEMP triggered"
"MINTEMP triggered"
and soon
"Thermal Jump"

HEATERID can be
0, 1, 2 ,3 , "bed"

This messages are always followed by the common:
"Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)"
2015-05-18 20:26:25 +02:00
Scott Lahteine a0f362c735 Simplify & optimize with current_command_args 2015-05-18 07:08:04 -07:00
Scott Lahteine adc8fcb77f More parser comments, optimize code_seen, save with goto 2015-05-18 07:08:04 -07:00
Scott Lahteine c6d8dd19d9 use fetched value 2015-05-18 07:08:04 -07:00
Scott Lahteine 1116e13f5a Further optimization of command parser 2015-05-18 07:08:03 -07:00
Scott Lahteine 3a4c3ab76e Pre-sanitize the command before handling
- Use a global pointer for the current sanitized command
- Pre-sanitize the current command to bypass `N` and nullify `*`,
removing the need for handlers to bypass, ignore, or nullify these
parts, and reducing overhead for `code_seen`, etc.
- Pre-skip leading whitespace.
- Only look for G, M, T codes at the start of the command.
- Verify that G, M, T codes are followed by command codes.
2015-05-18 07:06:51 -07:00
Ed Boston a83bf18ee1 More functional seperation
Moved SDCARDDETECTINVERTED and SDSLOW to Conditionals.h.
Added U8GLIB_LM6059_AF to define display specific actions.
Added reminder to compile in u8glib
2015-05-18 05:37:46 -07:00
Scott Lahteine cad248fc55 Merge pull request #2111 from AnHardt/at
Name magic value 20 to MAX_OVERSHOOT_PID_AUTOTUNE
2015-05-18 05:25:51 -07:00
AnHardt 97ca1b3f4d Name magic value 20 to MAX_OVERSHOOT_PID_AUTOTUNE
to make it better findable.
2015-05-18 14:15:29 +02:00
Scott Lahteine 7ff18f6657 Merge pull request #2107 from thinkyhead/fix_issue_2106
Have G92 set the nozzle position on Delta and SCARA
2015-05-17 17:39:09 -07:00
Scott Lahteine 0f2c9bacfd M33 LONG_FILENAME_HOST_SUPPORT 2015-05-17 17:36:32 -07:00
Scott Lahteine 3feaef6526 Have G92 set the nozzle position on Delta and SCARA 2015-05-17 17:08:05 -07:00
Ed Boston 047e688e93 Changed ADAFRUIT_ST7565 to ELB_FULL_GRAPHIC_CONTROLLER
Rename of define to avoid confusion between the controller and the
display which had similar names.
2015-05-17 15:23:17 -07:00
Ed Boston 1999ac415c Formatting Changes
Fixes for some code formatting changes and commenting out the
ADAFRUIT_ST7565 define that was left defined.
2015-05-17 13:39:24 -07:00
Ed Boston 41f8cdb3a6 ADAFRUIT_ST7565
Added support for new display type
2015-05-17 12:47:41 -07:00
Scott Lahteine c5feb9c6a1 Merge pull request #2103 from Wurstnase/rework_out_bits
rework out_bits
2015-05-17 07:07:21 -07:00
wurstnase 21ff773832 rework out_bits 2015-05-17 14:33:09 +02:00
Scott Lahteine 6c27eaf864 Merge pull request #2101 from thinkyhead/code_style
Code style and a dangling "else"
2015-05-17 03:39:08 -07:00
Scott Lahteine 80d2c11f9d Merge pull request #2099 from thinkyhead/gcode_rename
Rename gCode to codenum as a consistency
2015-05-17 03:09:46 -07:00
Scott Lahteine d580a0d186 Use "+=" in plane rotation 2015-05-17 01:51:14 -07:00
Scott Lahteine 2f3a410cb0 Fix a potential hanging "else" bug 2015-05-17 01:50:30 -07:00
Scott Lahteine b83e3f0905 Combine "Bed X: " strings 2015-05-17 01:49:52 -07:00
Scott Lahteine 7dfb8becdb Adjust some names and types in Marlin_main.cpp 2015-05-17 01:48:51 -07:00
Scott Lahteine c966aa26ff Comments in Marlin_main.cpp 2015-05-17 01:47:53 -07:00
Scott Lahteine c54a2ea042 Adjust spacing in Marlin_main.cpp and stepper.* 2015-05-17 01:47:02 -07:00
Scott Lahteine 072625ccad Update headings in Marlin_main.cpp and stepper.cpp 2015-05-17 01:44:53 -07:00
Scott Lahteine 16032f149f Rename to codenum as a consistency 2015-05-16 23:17:35 -07:00
Scott Lahteine 273a4a253f Merge pull request #2096 from thinkyhead/cherry_picking3
Hide M117 with no LCD
2015-05-16 21:10:28 -07:00
Scott Lahteine 64825a3d1e Merge pull request #2095 from thinkyhead/cherry_picking2
Add gcode_line_error to reduce code size
2015-05-16 21:09:15 -07:00
Scott Lahteine ea3df2b0b3 Merge pull request #2094 from thinkyhead/cherry_picking
Rename process_commands to process_next_command
2015-05-16 21:08:59 -07:00
Scott Lahteine ca79282eaf Hide M117 with no LCD 2015-05-16 20:59:04 -07:00
Scott Lahteine ce218cafdb Add gcode_line_error to reduce code size 2015-05-16 20:54:58 -07:00
Scott Lahteine 46d59784ad Rename preocess_command to process_next_command 2015-05-16 20:47:40 -07:00
Scott Lahteine 98c4f22432 Merge pull request #2093 from thinkyhead/timeout_default
Tweak to fan kick routine
2015-05-16 19:43:45 -07:00
Scott Lahteine 513077c317 Minor change to fan kick 2015-05-16 19:42:28 -07:00
Scott Lahteine ef62463d20 Merge pull request #2089 from thinkyhead/timeout_default
NO_TIMEOUTS and ADVANCED_OK off by default
2015-05-16 18:35:29 -07:00
Scott Lahteine 76438195f0 NO_TIMEOUTS and ADVANCED_OK off by default 2015-05-16 02:47:20 -07:00
Scott Lahteine 7fecc48174 Merge pull request #2081 from thinkyhead/better_lsdive
Allow lsDive to recurse with minimal stack usage
2015-05-15 22:16:59 -07:00
Scott Lahteine d2563804c8 Add LF to file errors 2015-05-15 04:37:22 -07:00
Scott Lahteine e114662cfa Adjust SdBaseFile spacing 2015-05-15 03:23:49 -07:00
Scott Lahteine 98e91f5253 Allow lsDive to recurse with minimal stack usage 2015-05-15 03:19:07 -07:00
Scott Lahteine 8b2cd930c3 Update README.md 2015-05-14 18:21:53 -07:00
Scott Lahteine 19166a92e4 Merge pull request #2057 from Wurstnase/serial_wait
add plan buffer remaining for 'P' and block buffer remaining 'B'
2015-05-14 04:57:08 -07:00
Scott Lahteine 95f5a68006 Merge pull request #2074 from thinkyhead/lcd_xyz_unknown
Display unknown XYZ on the LCD as "---"
2015-05-14 04:56:38 -07:00
Scott Lahteine e97fcafd0e Merge pull request #2076 from thinkyhead/mendel_inverting
Use MSG_OK in M105
2015-05-14 04:54:11 -07:00
Scott Lahteine 197a256669 Hardtung 2015-05-14 04:43:10 -07:00
Scott Lahteine 2e6f57baa9 More active authors 2015-05-14 04:40:07 -07:00
Scott Lahteine 0f6cd3640b Drop extraneous ok_to_send 2015-05-14 04:38:09 -07:00
Scott Lahteine 0ce355d9e7 Use MSG_OK in M105 2015-05-14 03:33:38 -07:00
Scott Lahteine a366e57385 Merge pull request #2075 from thinkyhead/mendel_inverting
Use Mendel default for INVERT_Y_DIR
2015-05-14 03:29:24 -07:00
Scott Lahteine 7b3acfbb6f Merge pull request #2072 from thinkyhead/better_arc_code
Consolidate arc code, remove motion_control.*
2015-05-14 00:27:22 -07:00
Scott Lahteine 78beef2d73 Use Mendel default for INVERT_Y_DIR 2015-05-14 00:25:47 -07:00
Scott Lahteine 1a4a09c26f Display unknown XYZ on the LCD as "---"
- Also show 2 digits past decimal for Z on DOGM
2015-05-13 22:45:58 -07:00
Scott Lahteine 68ce419147 Note on segment size 2015-05-13 19:11:36 -07:00
Scott Lahteine 8b92249f18 Bring arc_offset into auto scope 2015-05-13 19:00:46 -07:00
Scott Lahteine 80807b2d71 Consolidate arc code, remove motion_control.* 2015-05-13 18:52:41 -07:00
Scott Lahteine 56126786a6 Merge pull request #2069 from thinkyhead/sd_alpha_sort
Formatting tweaks
2015-05-13 02:04:24 -07:00
Scott Lahteine f65833931d Formatting tweaks 2015-05-13 02:02:19 -07:00
Scott Lahteine 56090fc374 Merge pull request #2067 from thinkyhead/thermal_unified
Fix heating error message
2015-05-12 19:06:16 -07:00
Scott Lahteine fcfd99c1ae Add comments to lcd_control_temperature_menu 2015-05-12 18:46:16 -07:00
Scott Lahteine d693e0f378 Use WATCH_TEMP_INCREASE + TEMP_HYSTERESIS + 1 as difference limit 2015-05-12 18:30:38 -07:00
Scott Lahteine 6697a8f375 Watch the heater a little longer 2015-05-12 18:22:47 -07:00
Scott Lahteine 5693a6e3c9 Fix heating error message 2015-05-12 18:17:13 -07:00
Scott Lahteine 747fd5801c Merge pull request #2055 from thinkyhead/thermal_unified
Combine thermal runaway and watch-period
2015-05-12 08:04:29 -07:00
Scott Lahteine 6e5572228d Merge pull request #2064 from thinkyhead/wait_before_g28
Split up prepare_move by type
2015-05-12 07:53:11 -07:00
Scott Lahteine 27ad381e25 Allow fractional seconds in G4 and M0 2015-05-12 07:52:08 -07:00
Scott Lahteine 5146694452 Merge pull request #1884 from shaggythesheep/feature_new_board_ramps_cnc_controller
Feature: Add RAMPS CNC Controller Board
2015-05-12 04:31:49 -07:00
Scott Lahteine b2bd9aae7c SCARA_SEGMENTS_PER_SECOND 2015-05-12 04:18:15 -07:00
Scott Lahteine bd20bd5444 Merge pull request #2063 from chris-bo/autobed_sled
improve sled handling
2015-05-12 03:29:21 -07:00
Scott Lahteine 9e95ceb3fc Split up prepare_move by type
- For better encapsulation add inlines for each prepare_move type
- Move controllerFan vars inside the function as statics
- Some formatting cleanup
- Rename `ClearToSend` as `ok_to_send`
2015-05-12 02:08:20 -07:00
Scott Lahteine 9ba8cf5fe3 Merge pull request #2061 from thinkyhead/wait_before_g28
Always do st_synchronize() before G28
2015-05-12 02:05:30 -07:00
Scott Lahteine 873f7d6f2a Check that configs are up-to-date 2015-05-12 01:33:51 -07:00
Christian Bohn f48599f172 add pin definition to some motherboards 2015-05-12 10:02:23 +02:00
Scott Lahteine b5200e184c Remove extra setup_for_endstop_move 2015-05-12 01:01:53 -07:00
Scott Lahteine 8d814de558 Return void in prevent_dangerous_extrude 2015-05-12 00:55:00 -07:00
Scott Lahteine 367e2eb9f4 Global setup_for_endstop_move 2015-05-12 00:51:22 -07:00
Wurstnase fd873c00c6 Merge pull request #2062 from Wurstnase/z_probe_bit_fix
add missing endstop-bits
(Travis don't see that part of code)
2015-05-12 09:47:52 +02:00
Wurstnase 1d5677cc3b add missing Z-bits 2015-05-12 09:36:19 +02:00
Wurstnase df12e68e7d add missing Z_PROBE-bit 2015-05-12 09:33:24 +02:00
Scott Lahteine fa951f8a0b Always do st_synchronize() before G28 2015-05-12 00:31:51 -07:00
Christian Bohn 27a3b1d895 disable sled pin by default 2015-05-12 08:51:01 +02:00
Christian Bohn fb44b53ae3 sled improvements
- create sled pin definition
- G28 Works with sled
2015-05-11 23:22:19 +02:00
Wurstnase 46d1932380 add plan buffer remaining for 'P' and block buffer remaining 'B' 2015-05-11 13:04:00 +02:00
Scott Lahteine 429c6ccad2 Neaten config formatting 2015-05-10 23:27:00 -07:00
Scott Lahteine 8a0dc4d54a Merge pull request #1922 from Wurstnase/serial_wait
Serial wait
2015-05-10 23:10:25 -07:00
Scott Lahteine 8332a15899 Fix testing of runaway options in temperature.cpp 2015-05-10 23:03:24 -07:00
Wurstnase 526ad82d20 activate advanced_ok and no_timeout 2015-05-11 08:01:51 +02:00
Scott Lahteine 2b92b01afc Fix typo in SanityCheck.h 2015-05-10 22:58:37 -07:00
Scott Lahteine 2445ae3d3a Combine thermal runaway and watch-period
- Make thermal protection for all hotends and/or bed into simple
switches
- Now enable `WATCH_TEMP_PERIOD` when `THERMAL_PROTECTION_HOTENDS` is
enabled
- Move detailed thermal parameters to `Configuration_adv.h`
- Add sanity checks to warn about old configurations
- Change `WATCH_TEMP_PERIOD` to seconds instead of milliseconds
2015-05-10 22:52:01 -07:00
Scott Lahteine 4097207c75 Merge pull request #2041 from thinkyhead/watch_temp
More thermal protection
2015-05-10 21:39:05 -07:00
Scott Lahteine 45d64040fe Merge pull request #2048 from Wurstnase/hit_bits
replace some bools
2015-05-10 20:37:17 -07:00
Scott Lahteine 9b3d4380d3 Only watch the heater that was set 2015-05-10 20:26:45 -07:00
Scott Lahteine 52c0696e44 Merge pull request #2044 from thinkyhead/fix_servos_too
Make some z probe and servo code tweaks
2015-05-10 20:10:42 -07:00
Scott Lahteine 58781cb88c Merge pull request #2045 from delagela/upstream
Correction traductions
2015-05-10 17:58:00 -07:00
Wurstnase b55f32f8a1 replace some bools
this PR replaces some bools with one char. this will safe 3 bytes and should also be sometimes a little bit faster.
2015-05-10 21:37:39 +02:00
Laurent DELAGE e70e6e2b48 Correction traductions 2015-05-10 15:38:50 +02:00
Scott Lahteine f73f4ce555 Make some z probe and servo code tweaks 2015-05-09 19:11:19 -07:00
Bo Herrmannsen 598c7aea5d Update README.md 2015-05-09 23:27:54 +02:00
Bo Herrmannsen 4cafe9e275 updated info on hangout 2015-05-09 23:27:34 +02:00
Bo Herrmannsen b0235adccd Update README.md 2015-05-09 23:18:39 +02:00
Bo Herrmannsen 875d86bf9b removed donation as it was agreed that we should not have it 2015-05-09 23:16:56 +02:00
Bo Herrmannsen 37219072c1 moved to http://www.marlinfirmware.org/ 2015-05-09 23:15:52 +02:00
Bo Herrmannsen 4aa2490099 moved to http://www.marlinfirmware.org/ 2015-05-09 23:14:52 +02:00
Bo Herrmannsen 1351e40c72 moved to http://www.marlinfirmware.org/ 2015-05-09 23:11:42 +02:00
Bo Herrmannsen c0b318330b moved to http://www.marlinfirmware.org/ 2015-05-09 23:11:33 +02:00
Bo Herrmannsen 12d0983757 moved to http://www.marlinfirmware.org/ 2015-05-09 23:11:18 +02:00
Bo Herrmannsen 7cd7b2e4c8 moved to http://www.marlinfirmware.org/ 2015-05-09 22:58:49 +02:00
Bo Herrmannsen 031294bdd2 moved to http://www.marlinfirmware.org/ 2015-05-09 18:31:44 +02:00
Bo Herrmannsen b2b595f8f4 moved to http://www.marlinfirmware.org/ 2015-05-09 18:29:23 +02:00
Bo Herrmannsen 2ddace1a84 moved to http://www.marlinfirmware.org/ 2015-05-09 18:26:58 +02:00
Bo Herrmannsen caf15371e2 moved to http://www.marlinfirmware.org/ 2015-05-09 18:24:31 +02:00
Bo Herrmannsen 29f4ebf32a moved to http://www.marlinfirmware.org/ 2015-05-09 18:16:28 +02:00
Bo Herrmannsen 39d6de1558 Update README.md 2015-05-09 14:59:48 +02:00
Bo Herrmannsen 711f7b0180 Update README.md 2015-05-09 14:56:59 +02:00
Bo Herrmannsen b413cf34e9 moved to http://www.marlinfirmware.org/ 2015-05-09 14:55:22 +02:00
Bo Herrmannsen d92b52b19b moved to http://www.marlinfirmware.org/ 2015-05-09 14:40:18 +02:00
Bo Herrmannsen b9b9a2085a moved to http://www.marlinfirmware.org/ 2015-05-09 14:39:46 +02:00
Bo Herrmannsen 0de83187ea moved to http://www.marlinfirmware.org/ 2015-05-09 14:29:07 +02:00
Bo Herrmannsen 6e8f8706b0 moved to http://www.marlinfirmware.org/ 2015-05-09 14:28:43 +02:00
Bo Herrmannsen d54fe3a40c moved to http://www.marlinfirmware.org/ 2015-05-09 14:19:07 +02:00
Bo Herrmannsen 86ed55e75c moved to http://www.marlinfirmware.org/ 2015-05-09 14:18:23 +02:00
Scott Lahteine 28c87ec81b Disable all heaters on temp error 2015-05-08 23:17:25 -07:00
Scott Lahteine 79106638a8 Fix documentation of heating sanity check 2015-05-08 22:50:08 -07:00
Scott Lahteine 6110494a56 Change default to 4°C in 16s 2015-05-08 22:41:12 -07:00
Scott Lahteine 54deb9eea3 Enable WATCH_TEMP_PERIOD by default 2015-05-08 22:36:02 -07:00
Scott Lahteine deedb00c18 Document WATCH_TEMP_PERIOD 2015-05-08 22:25:51 -07:00
Scott Lahteine 9a6423ea17 Merge pull request #2021 from brupje/Development
Fixes for reprapworld's keypad
2015-05-08 20:35:37 -07:00
Scott Lahteine be77cfd895 Merge pull request #2032 from Wurstnase/toshiba_for_all_stepper
We don't need the old standard one. The STEP_ADD and STEP_IF_COUNTER …
2015-05-08 20:32:30 -07:00
Scott Lahteine 8b59e620bb Merge pull request #2039 from thinkyhead/mks_base
Support for MKS BASE 1.0 board
2015-05-08 20:29:57 -07:00
Scott Lahteine 44decda00b Add documentation for MKS BASE 1.0 et. al. 2015-05-08 19:35:59 -07:00
Scott Lahteine cb4ea75fab Support for MKS BASE 1.0 board 2015-05-08 19:07:37 -07:00
Scott Lahteine 0e70511381 Merge pull request #2036 from brupje/mainline
Fixes for reprapworld's keypad
2015-05-08 18:19:31 -07:00
Wurstnase 0cb87795a3 advanced 'ok'
ok N(linenumber) P(bufferremaining)
the host can use this to send the data much faster.

Some pseudo code:
If (bufferremaining > 0)  send command
## as long there is free buffer send command

Also
if (linenumber > lastsend - bufferremaining) send command
## as long last linenumber received is bigger than lastsend (host) - last bufferremaining received
2015-05-08 22:28:51 +02:00
Wurstnase 182e0d99c9 Merge remote-tracking branch 'Marlin8bit/Development' into serial_wait 2015-05-08 21:27:18 +02:00
brupje b425851441 Rename Configuration_megatronics.h to Configuration.h 2015-05-08 14:40:14 +02:00
brupje d1148a0198 Rename Configuration_megatronics.h to Configuration.h 2015-05-08 14:36:23 +02:00
Scott Lahteine 7f3252eea9 Merge pull request #1999 from paclema/Filrunout_configurable_script
Added configurable script for filrunout from configuration.h
2015-05-08 04:39:59 -07:00
Scott Lahteine 0511ccda23 Merge pull request #2034 from thinkyhead/fixup_configs
Edit thermal runaway description
2015-05-07 21:46:05 -07:00
Scott Lahteine 181ccc884c Edit thermal runaway description 2015-05-07 20:46:03 -07:00
Wurstnase 073e4af7e2 We don't need the old standard one. The STEP_ADD and STEP_IF_COUNTER are also good for non-Toshiba stepper driver. 2015-05-07 18:55:47 +02:00
brupje b7fcb11580 Added example configuration for Megatronics 2015-05-07 13:18:05 +02:00
brupje 8f8174dc93 Revert "Default configuration for megatronics."
This reverts commit 22e0d2afcb.
2015-05-07 13:12:17 +02:00
Scott Lahteine 91fa1dea82 Merge pull request #2029 from thinkyhead/hardware_md
Initial Hardware.md to fix 404 error
2015-05-06 19:16:30 -07:00
Scott Lahteine 69655205f5 Demote headers, add TOC 2015-05-06 19:04:54 -07:00
Scott Lahteine b492391fa7 Initial Hardware.md to fix 404 error
- Addressing issue #1935
2015-05-06 18:30:10 -07:00
Scott Lahteine 26c53634e1 Add a TOC 2015-05-06 18:24:10 -07:00
Scott Lahteine 72bf6acb5b Merge pull request #2027 from thinkyhead/fix_mbl_compile_err
Fix MBL compile error
2015-05-06 14:26:48 -07:00
Scott Lahteine 79633a74ab Fix MBL compile error 2015-05-06 14:25:13 -07:00
brupje ba9741139e Clean up pins file for megatronics 2015-05-05 14:01:52 +02:00
brupje 22e0d2afcb Default configuration for megatronics. 2015-05-05 14:01:20 +02:00
brupje 816aa19861 Up/down buttons were reversed, swapped the assignments 2015-05-05 13:04:46 +02:00
brupje df4d50579a This is conflicting with the settings in ultralcd.h. Not sure why it' s redefined here anyway. 2015-05-05 12:47:24 +02:00
brupje 8f8bf3a897 Make Marlin actually compile when #define REPRAPWORLD_KEYPAD is uncommented 2015-05-05 11:03:20 +02:00
Scott Lahteine 777f2d3820 Merge pull request #2018 from fmalpartida/bugFixing
Bug corrected: persistent HOMING message when HOME button pressed for homing.
2015-05-05 00:12:32 -07:00
Scott Lahteine ecb46de349 Merge pull request #2013 from bq/Fix_lowercase
Fixed lowercase change missing on commit a22a228b.
2015-05-04 23:50:56 -07:00
fmalpartida 150a35eff8 Bug corrected:
Persistent homing message.
Message was declared as an alert, therefore it was persistent.
Updated to message.
2015-05-04 19:48:49 +02:00
Gina Häußge 7dbb595424 Merge pull request #2015 from foosel/revert/changedLinenumberMessage
Reverting changes to error messages on serial console
2015-05-04 15:25:36 +02:00
Gina Häußge ab246ab032 Reverting changes to error messages on serial console
This reverts the changes done to the error message for line number mismatches done in commit d43cc2dd5f
2015-05-04 15:03:00 +02:00
Ivan Galvez Junquera 59529b755d Fixed lowercase change missing on commit a22a228b.
Servo.cpp and Servo.h were changed to lowercase in Makefile but not their actual filenames.
2015-05-04 09:44:34 +02:00
Scott Lahteine df4c104637 Merge pull request #2012 from BrianGilbert/Development
Add example configuration for Boots Industries V2.5 Delta Printer
2015-05-03 20:42:32 -07:00
Scott Lahteine 1f039cde61 Merge pull request #1992 from thinkyhead/too_many_probes
Stow Z probe on M402 without extra raise
2015-05-03 20:40:26 -07:00
Brian Gilbert 1285784a49 Add Boots Industries V2.5 example configuration 2015-05-04 09:10:42 +10:00
Scott Lahteine 65487b75e2 Merge pull request #2011 from thinkyhead/fix_2004
Tweak to planner.cpp position.debug
2015-05-03 16:03:30 -07:00
Scott Lahteine 35493e1af9 Tweak to planner.cpp position.debug 2015-05-03 16:03:05 -07:00
paclema 26015b02d8 Fixed typo and updated Configuration.h of configurator 2015-05-03 02:39:34 +02:00
paclema aedd580911 Updated all configuration.h examples 2015-05-03 02:28:43 +02:00
Scott Lahteine 555128d9e6 Merge pull request #2008 from thinkyhead/fix_2004
Cleanup language.h
2015-05-01 21:39:28 -07:00
Scott Lahteine 2c892fca6a Cleanup of language.h 2015-05-01 21:38:32 -07:00
Scott Lahteine 4b156a612a Merge pull request #2007 from thinkyhead/fix_2004
Fix compile error in configuration_store.cpp
2015-05-01 21:17:12 -07:00
Scott Lahteine 2db384a21d Fix compile error in configuration_store.cpp 2015-05-01 21:15:26 -07:00
Scott Lahteine ca8cec8e8a Merge pull request #1998 from paclema/Filament_runout_fix
Fixed sintaxis error of filament runout
2015-04-29 19:53:25 -07:00
Scott Lahteine 425cd46c12 Merge pull request #1993 from AnHardt/TRP-bed
Enable TRP for the bed
2015-04-29 19:44:50 -07:00
Scott Lahteine b12bcd0f92 Merge pull request #2001 from thinkyhead/thermal_protection_on
Add M428 to set home_offset logically
2015-04-29 19:15:31 -07:00
Scott Lahteine d4c74b8f8c Don't apply M428 if an error occurs
- Also move audio feedback into the command
- Added shorthand for `lcd_buzz` availability
2015-04-29 19:05:48 -07:00
Scott Lahteine d065d37822 Add M428 to set home_offset logically 2015-04-29 18:26:16 -07:00
Scott Lahteine e47e888a08 Merge pull request #1991 from thinkyhead/thermal_protection_on
Enable thermal runaway protection by default
2015-04-29 15:43:18 -07:00
paclema 013a09dbe6 Added configurable script for filrunout form configuration.h 2015-04-29 21:38:40 +02:00
paclema 4dcc0fd55a Fixed sintaxis error of filament runout 2015-04-29 21:32:27 +02:00
AnHardt 514d8ac460 Enable TRP for the bed
in all Configurations.
2015-04-29 08:47:01 +02:00
Scott Lahteine ce3caf447b Tweak how homeaxis deploys and stows 2015-04-28 19:17:48 -07:00
Scott Lahteine a235dca79c Stow z on M402 without extra raise 2015-04-28 19:10:07 -07:00
Scott Lahteine 2610b8d047 Enable thermal runaway protection by default 2015-04-28 17:40:29 -07:00
AnHardt b4b19a6cbd Merge https://github.com/MarlinFirmware/Marlin into Bulgarian
Conflicts:
	Marlin/Configuration.h
	Marlin/configurator/config/Configuration.h
	Marlin/example_configurations/Felix/Configuration.h
	Marlin/example_configurations/Felix/Configuration_DUAL.h
	Marlin/example_configurations/Hephestos/Configuration.h
	Marlin/example_configurations/K8200/Configuration.h
	Marlin/example_configurations/SCARA/Configuration.h
	Marlin/example_configurations/WITBOX/Configuration.h
	Marlin/example_configurations/delta/generic/Configuration.h
	Marlin/example_configurations/delta/kossel_mini/Configuration.h
	Marlin/example_configurations/makibox/Configuration.h
	Marlin/example_configurations/tvrrug/Round2/Configuration.h

Conflicts with my Chinese implementation resolved.
2015-04-28 09:24:32 +02:00
Scott Lahteine 7548a56f64 Merge pull request #1886 from ex-nerd/pins_BRAINWAVE_PRO
Add pin configuration for Brainwave Pro
2015-04-27 23:13:26 -07:00
Scott Lahteine 02acf0641a Merge pull request #1983 from CONSULitAS/Development_Update_language_de.h
language_de.h: updated translation and minor typos
2015-04-27 22:45:24 -07:00
Scott Lahteine a9a4f0ed3b Merge pull request #1989 from thinkyhead/pid_tuning_report
Fix the M303 S-1 report text
2015-04-27 22:41:59 -07:00
Scott Lahteine a120bf3fe4 Latest upstream commits 2015-04-27 22:40:19 -07:00
Scott Lahteine 3688256f86 Merge pull request #1974 from thinkyhead/eeprom_in_gcode
Make EEPROM reproducible in GCode
2015-04-27 22:35:41 -07:00
Scott Lahteine ae53b3cdc3 Fix the M303 S-1 report text 2015-04-27 22:25:00 -07:00
Scott Lahteine c1fbef1722 Merge pull request #1988 from thinkyhead/bye_string_url
Remove obsolete STRING_URL
2015-04-27 22:12:05 -07:00
Scott Lahteine 31516e2a3b Merge pull request #1985 from Arengorn/Development
Update of servo.h
2015-04-27 22:10:02 -07:00
Scott Lahteine 185f8a0a66 Merge pull request #1917 from CONSULitAS/Development_Update_K8200_Config
Example Configuration for K8200: comments/URL/readme
2015-04-27 21:59:56 -07:00
Scott Lahteine 0970102950 Remove obsolete STRING_URL 2015-04-27 21:59:14 -07:00
Scott Lahteine 0f687b5dda Merge branch 'Development' into eeprom_in_gcode
Latest upstream commits
2015-04-27 21:47:47 -07:00
Scott Lahteine 28aef684b4 Merge pull request #1957 from Voxel8/sjk/home_y_before_x
Allow Y to home before X with option in Configuration_adv.h.
2015-04-27 21:41:14 -07:00
Scott Lahteine c1dd9bda7f Merge pull request #1987 from thinkyhead/fix_homing_zpos
Disable endstops between homing bumps
2015-04-27 21:16:47 -07:00
Scott Lahteine 71a0b1a5bb Disable endstops between homing bumps 2015-04-27 21:14:30 -07:00
Scott Lahteine 8c28e36e75 Merge pull request #1986 from thinkyhead/fix_homing_zpos
Fix homing Z position
2015-04-27 20:58:14 -07:00
Scott Lahteine c36226c4dc Fix homing Z position
Add `sync_plan_position()` after `axis_is_at_home(axis)` to keep the
planner position in sync when homing.
2015-04-27 20:55:19 -07:00
Scott Lahteine 2bc1d70a31 Merge pull request #1977 from AnHardt/Cinese2
We mark this historic day, when Marlin went to China.
2015-04-27 20:37:00 -07:00
Scott Lahteine ff178d8cf7 Change M421 to take coordinates
This makes `M421` more amenable for irregular matrices
2015-04-27 19:48:34 -07:00
Scott Lahteine ed988e39a8 Merge pull request #1984 from thinkyhead/leveling_menu_items
Level Bed in Prepare submenu
2015-04-27 19:32:59 -07:00
Bernardo e449659338 Update Servo.cpp
Updated "servo.h" to "Servo.h"
2015-04-27 23:30:11 -03:00
Bernardo ff67ee73fc Update Marlin_main.cpp
Corrected "servo.h" to "Servo.h" because of the updated filename.
2015-04-27 23:29:16 -03:00
Scott Lahteine 5b248757c7 Level Bed in Prepare submenu
- Add “Level Bed” menu item for auto bed leveling
- Hide the option if homing has not been done yet
- Arrange the Prepare submenu more logically (?)
- Add documentation comments, some white-space
- Apply some coding standards here and there
- Move old encoder multiplier debug option to `ultralcd.cpp`
2015-04-27 19:11:25 -07:00
CONSULitAS c5dfb35597 language_de.h: updated translation and minor typos
language_de.h: updated translation and minor typos
2015-04-28 01:03:54 +02:00
CONSULitAS 6423fe7601 language.h: update documentation / URL für K8200
language.h: update documentation for LANGUAGE_INCLUDE
language.h: URL für K8200 github repository
2015-04-28 01:01:57 +02:00
CONSULitAS 8f8824e1d3 Merge remote-tracking branch 'upstream/Development' into Development 2015-04-28 00:59:43 +02:00
CONSULitAS 6af40e9dc0 K8200 example Configuration.h: STRING_URL removed
K8200 example Configuration.h:
* STRING_URL removed: like proposed by thinkyhead in #1917
2015-04-27 23:59:10 +02:00
CONSULitAS d1c1f766d5 Merge remote-tracking branch 'upstream/Development' into K8200_2015-04-23_TEST
Conflicts:
	Marlin/example_configurations/K8200/Configuration.h
2015-04-27 23:54:47 +02:00
Steve Kelly 98ca46006c Allow Y to home before X with option in Configuration_adv.h.
This addresses comments in #1956 and #1079. In particular, this is useful
when both endstops are stationary on a CoreXY system, and the Y axis needs
to be homed before the X so the flags are aligned.
2015-04-27 16:17:30 -04:00
AnHardt 6cba6bcd82 Add 'cn' to the other 'Configuration.h's 2015-04-27 13:24:51 +02:00
AnHardt 1d9699be0f Add some doku 2015-04-27 13:16:20 +02:00
AnHardt 76b12edecf Give TALL_FONT_CORRECTION a default 2015-04-27 12:47:11 +02:00
AnHardt 6b1b71837c Intit. commit for Chinese
Edited the European part of 'ISO10646_CN.fon' to match the existing fonts.
Added Chinese font to make_fonts.bat
Created 'dogm_font_data_ISO10646_CN.h'
Added Chinese to 'language.h'
Added 'language_cn.h' with some minor edits.
Added Chinese font in 'language_en.h' to not fall back to European font.
Added cn to 'Configuration.h'
Changed WIDTH to LCD_PIXEL_WIDTH and HEIGHT to LCD_PIXEL_HEIGHT to have more descriptive names.

In 'dogm_lcd_implementation.h'
Added Chinese Font
Made 1 pixel more room for the larger Chinese font on the status line.
Changed geometry of the 'select bar' by one pixel.
Changed the way the position for values and postcars are set.
2015-04-27 12:15:36 +02:00
Scott Lahteine fb379384ee Reduce MBL eeprom read code 2015-04-26 21:06:04 -07:00
Scott Lahteine 0fca084ea6 Make EEPROM reproducible in GCode
With these changes the output of `M503 S0` is all you need to restore
the EEPROM. Building on this it is straightforward to save and restore
the EEPROM state using the SD card or external GCode file.

- Added `M145` to set “heatup states” for the LCD menu
- Added `M420` to toggle Mesh Bed Leveling
- Added `M421` to set a single Mesh coordinate
- Extended `Config_PrintSettings` with added M codes
- Cleaned up some comments here and there
2015-04-26 20:56:33 -07:00
Scott Lahteine 01bedd17c9 Merge pull request #1973 from thinkyhead/m111_debug_level
M111 - Debug Level
2015-04-26 20:39:56 -07:00
Scott Lahteine d43cc2dd5f M111 - Debug Level
- Add `M111` as a standard option to set the debug level
- Implement `DEBUG_ECHO` in `process_commands`
- Other debug levels (e.g., `DEBUG_DRYRUN`) need more work
2015-04-26 20:08:45 -07:00
Scott Lahteine 1f530beaf1 Merge pull request #1970 from thinkyhead/rename_files
Rename files to move them in the IDE
2015-04-26 15:15:51 -07:00
Scott Lahteine 0ec444720f Rename blinkm files 2015-04-25 21:06:19 -07:00
Scott Lahteine a22a228bcc Rename files to move them in the IDE 2015-04-25 21:04:54 -07:00
Scott Lahteine ac9ca64c50 Merge pull request #1969 from thinkyhead/buzz_duration
Fix BEEPER duration
2015-04-25 03:26:28 -07:00
Scott Lahteine a932e7490f No noTone needed, but delay is 2015-04-25 03:25:30 -07:00
Scott Lahteine 9c5d14ea68 Fix BEEPER duration 2015-04-25 03:12:49 -07:00
Scott Lahteine b3436c875a Merge pull request #1968 from thinkyhead/more_disable_warning
Add a warning for DISABLE_[XYZ] options
2015-04-25 00:47:42 -07:00
Scott Lahteine 5c29fda167 Add a warning for DISABLE_[XYZ] options 2015-04-25 00:46:33 -07:00
Scott Lahteine 0438f0d835 Merge pull request #1924 from thinkyhead/raise_z_for_m401_m402
Raise Z for M401 and M402
2015-04-24 22:41:12 -07:00
Scott Lahteine a640cad139 Merge pull request #1967 from thinkyhead/g4_dwell_message
Use millis_t for progress_bar_ms and expire_status_ms
2015-04-24 22:17:28 -07:00
Scott Lahteine c92b59952a Use millis_t for progress_bar_ms and expire_status_ms 2015-04-24 22:16:09 -07:00
Scott Lahteine b275946a52 Merge pull request #1966 from thinkyhead/g4_dwell_message
G4 shows status message only if no message is set already
2015-04-24 22:02:37 -07:00
Scott Lahteine 97dfa0365d Rename expireStatusMillis to expire_status_ms 2015-04-24 21:51:10 -07:00
Scott Lahteine 7295640f44 Remove extraneous ; 2015-04-24 21:37:27 -07:00
Scott Lahteine 0d8c00d3f6 Define lcd_hasstatus for no lcd also 2015-04-24 21:36:04 -07:00
Scott Lahteine 777ca11760 Merge pull request #1925 from thinkyhead/move_zoffset
Apply zprobe_zoffset in axis_is_at_home
2015-04-24 21:29:07 -07:00
Scott Lahteine 182f2cda35 Minor cleanup of M48 2015-04-24 21:26:36 -07:00
Scott Lahteine 3a6fd912cd Latest upstream commits, merged 2015-04-24 21:14:13 -07:00
Scott Lahteine 3c9e94e035 Merge pull request #1964 from AnHardt/Max6675again
Add variant for MAX6675 in M104
2015-04-24 20:44:45 -07:00
Scott Lahteine 56ff46eb8b Improve code_has_value test 2015-04-24 20:43:16 -07:00
Scott Lahteine ce142afdda G4 shows status message only if no message is set already
- Address issue raised in #1961
2015-04-24 20:13:01 -07:00
Scott Lahteine c5a1b227a4 Merge pull request #1965 from thinkyhead/g28_xyz_are_flags
Remove set-coordinate extension of G28
2015-04-24 19:34:38 -07:00
Scott Lahteine 35e79d56a5 Remove set-coordinate extension of G28 2015-04-24 19:23:12 -07:00
Scott Lahteine 3a74bb5039 Merge pull request #1945 from Wurstnase/max_endstopp
Max endstopp
2015-04-24 19:17:38 -07:00
Scott Lahteine 2606d1d892 Merge pull request #1960 from Wurstnase/macro_steppercpp
Macro steppercpp
2015-04-24 18:45:19 -07:00
AnHardt 0fed46360c Add variant for MAX6675 in M104
Else will throw error:
@:0 B@:0
Error:No thermistors - no temperature
[ERROR] Error:No thermistors - no temperature

when no bed is defined
2015-04-24 16:43:19 +02:00
Wurstnase 79a44a9de3 stepper.cpp macros rework
delete some tabs
2015-04-24 08:03:17 +02:00
Scott Lahteine 588ed70d4a Latest upstream commits, merged 2015-04-23 21:18:48 -07:00
Scott Lahteine 7fb8d9fe05 Merge remote-tracking branch 'origin/move_zoffset' into move_zoffset 2015-04-23 21:12:53 -07:00
Scott Lahteine 0165560333 Apply zprobe_zoffset in axis_is_at_home
Ensure the probe offset will always be included when homing Z.
2015-04-23 21:12:38 -07:00
Scott Lahteine 075386e7fe Merge pull request #1959 from thinkyhead/lcd_move_rate
Include axis parameter to ultralcd's line_to_current
2015-04-23 21:06:57 -07:00
Scott Lahteine 2558c10c6c Use the slower feedrate for XY axes 2015-04-23 20:06:17 -07:00
Scott Lahteine 31932912dd Use AxisEnum instead of int for _lcd_move 2015-04-23 19:32:37 -07:00
Scott Lahteine c2e11daf66 Merge pull request #1958 from thinkyhead/redo_1937
Fix homing of YZ with DUAL_X_CARRIAGE
2015-04-23 19:12:51 -07:00
Scott Lahteine c3560e0288 Include axis parameter to ultralcd's line_to_current 2015-04-23 19:10:09 -07:00
Scott Lahteine a0a5ff61c4 Merge pull request #1951 from AnHardt/Azteeg_x3
Fix for #1946
2015-04-23 18:40:00 -07:00
Scott Lahteine 0094481e55 Merge pull request #1955 from AnHardt/langlang
Add DISPLAY_CHARSET_HD44780_CYRILLIC as alternative in SanityCheck.h
2015-04-23 18:36:06 -07:00
Scott Lahteine 64268f3312 Fixup axis_is_at_home a little 2015-04-23 18:16:44 -07:00
Scott Lahteine 996d0a9185 Squish the code down a little 2015-04-23 18:06:36 -07:00
Scott Lahteine 8534bc376c Fix homing of YZ with DUAL_X_CARRIAGE 2015-04-23 17:56:37 -07:00
Scott Lahteine 3b97a7d446 Merge pull request #1944 from AnHardt/beep2
More Beeper clean up
2015-04-23 17:50:02 -07:00
Scott Lahteine 461aaf2126 Merge pull request #1941 from thinkyhead/gcode_M410
Add M410 QuickStop command
2015-04-23 17:30:58 -07:00
Wurstnase be9e4ceddc fix typo
c'n'p ftw :/
2015-04-23 10:35:14 +02:00
unknown c26d816839 filter any 0 2015-04-22 12:09:57 +02:00
AnHardt f2c94b3298 tone will end automaticly 2015-04-22 01:49:55 +02:00
AnHardt c5e0e29d23 Add DISPLAY_CHARSET_HD44780_CYRILLIC as alternative in SanityCheck.h
and add some documentation - how to integrate a new font.
2015-04-21 21:42:00 +02:00
AnHardt b59e92ab99 Fix for #1946
Syntax error.
2015-04-21 13:50:28 +02:00
Wurstnase 61ae43f35e v <-> code_value 2015-04-20 23:31:10 +02:00
Wurstnase da0d91a79b max endstopp
no user will home to 0 with a max endstopp
2015-04-20 23:28:46 +02:00
AnHardt 3a27a78f9e Commented REPRAP_DISCOUNT_SMART_CONTROLLER again
and removed some tabs.
2015-04-20 15:01:43 +02:00
AnHardt 064f2b37d0 More Beeper clean up.
Centralised beep code to lcd_buzz().
From gcode_M300() and lcd_quick_feedback().

Enforced max. duration for M300 to 5 seconds.

Corrected description in 'Configuration.h'

LCD_FEEDBACK_FREQUENCY_HZ 0 gives now a silent delay of
LCD_FEEDBACK_FREQUENCY_DURATION_MS.
2015-04-20 11:11:13 +02:00
Wurstnase 92575cecca new timout/add adv_ok 2015-04-20 00:22:40 +02:00
AnHardt 671aaf2dc9 Minor fix for M300
Corrected wrong order of parameters.
2015-04-19 13:25:20 +02:00
Scott Lahteine d931220a65 Tweak comments 2015-04-18 23:12:29 -07:00
Scott Lahteine 47847765e2 Add M410 QuickStop command 2015-04-18 23:07:48 -07:00
Scott Lahteine a4ca87ba99 Merge pull request #1933 from bq/Fix_stray_in_configuration
Fixed compilation error "error: stray ‘\357’ in program"
2015-04-18 03:56:31 -07:00
Scott Lahteine 5e3bb4bdf3 Merge pull request #1931 from paclema/M303_echo
Added new PID autotune info, to make easy copy & paste results to marlin
2015-04-18 03:49:31 -07:00
Scott Lahteine 67a4471324 Merge pull request #1926 from nophead/acceleration_fix
Fixed jump in speed at high accelerations on axes with lots of steps
2015-04-18 03:09:54 -07:00
Ivan Galvez Junquera b99e63a7bf Fixed compilation error "error: stray ‘\357’ in program" in several configuration files.
Introduced in commit 697ee2dc and later spread to other files.
2015-04-17 16:10:58 +02:00
Bo Herrmannsen 2d1e730216 Update README.md 2015-04-17 15:00:21 +02:00
paclema 581685a231 Added new PID autotune info, to make easy copy & paste results to marlin 2015-04-17 11:15:09 +02:00
Chris Palmer 483384aaa4 Fixed faulty comment merge 2015-04-17 09:31:53 +01:00
Chris Palmer cc6b7cf3ce Fixed some comment spellings. 2015-04-17 09:28:08 +01:00
Chris Palmer e4595fa24a Fixed jump in speed when using high accelerations on axes with lots of steps.
I.e., when acceleration * steps per mm > 2,000,000.
This was done by changing MultiU24X24toH16 to take a 32b bit operand.
Removed the claim that stepper.cpp uses the Leib algorithm.
2015-04-16 23:04:38 +01:00
Wurstnase b09a957fce make 'wait' optional and mark as workaround 2015-04-16 21:42:54 +02:00
Scott Lahteine d0b65ff642 Merge pull request #1923 from thinkyhead/babystep_delay_2us
Babystep delay 2us
2015-04-16 07:51:37 -07:00
Scott Lahteine 58d128b7a9 Apply zprobe_zoffset in axis_is_at_home
Ensure the probe offset will always be included when homing Z.
2015-04-16 07:41:19 -07:00
Scott Lahteine 63b98b8280 Raise Z for M401 and M402 2015-04-16 07:24:33 -07:00
wurstnase d69da22f7c last_command_time inside get_command() 2015-04-16 16:20:23 +02:00
Scott Lahteine 53be0f3399 Babystep delay 2us 2015-04-16 04:16:36 -07:00
wurstnase 574e2d856e remove config 2015-04-16 13:07:20 +02:00
Scott Lahteine f49a73d69f Merge pull request #1919 from paclema/M48_mismatch
Fixed M48 mismatch between n and P parameter on documentation
2015-04-16 03:25:23 -07:00
paclema cde5eee2a5 Removed unnecessary comments 2015-04-15 19:01:09 +02:00
paclema e1b69db6d1 Fixed M48 mismatch between n and P parameter on documentation 2015-04-15 18:17:58 +02:00
Bo Herrmannsen d0b1f70118 Update Compilation.md 2015-04-15 16:35:02 +02:00
Bo Herrmannsen f8389b1076 Update README.md 2015-04-15 15:25:18 +02:00
elgambitero 60f46276bf Some minor translations to spanish 2015-04-15 10:06:51 +02:00
CONSULitAS a40c274310 Example Configuration for K8200 back in sync
example_configurations\K8200\Configuration.h:
* merge upstream changes from default Configuration.h manually
* add some machine specific comments
2015-04-15 10:06:50 +02:00
CONSULitAS 1de9b568db Example Configuration for K8200: comments/URL/readme
Example Configuration for K8200 : comments/URL/readme

example_configurations\K8200\Configuration.h:
* add machine specific header
* change STRING_URL to K8200 fork (@thinkyhead: What do you think?)

example_configurations\K8200\readme.md:
* updated documentation
* added URLs and links
2015-04-15 10:02:13 +02:00
CONSULitAS 0af5e3a04f Example Configuration for K8200: comments/URL/readme
Example Configuration for K8200 : comments/URL/readme

example_configurations\K8200\Configuration.h:
* add machine specific header
* change STRING_URL to K8200 fork (@thinkyhead: What do you think?)

example_configurations\K8200\readme.md:
* updated documentation
* added URLs and links
2015-04-15 10:00:41 +02:00
Scott Lahteine 637babb99b Merge pull request #1915 from elgambitero/Development
Some minor translations to spanish
2015-04-14 19:59:39 -07:00
Scott Lahteine 71f183a3a2 Merge pull request #1913 from CONSULitAS/Development_Update_K8200_Config
Example Configuration for K8200 back in sync
2015-04-14 19:52:47 -07:00
elgambitero cb9ac490d4 Some minor translations to spanish 2015-04-14 23:14:52 +02:00
CONSULitAS 3851ac6226 Example Configuration for K8200 back in sync
example_configurations\K8200\Configuration.h:
* merge upstream changes from default Configuration.h manually
* add some machine specific comments
2015-04-14 17:12:42 +02:00
CONSULitAS b447a4ffab Merge remote-tracking branch 'upstream/Development' into Development 2015-04-14 15:35:08 +02:00
Scott Lahteine d57b23b1e3 Merge pull request #1912 from thinkyhead/some_fixes
Enable all old_z_*_endstop vars for Z_DUAL_ENDSTOPS
2015-04-14 05:12:49 -07:00
Scott Lahteine 7336e6df07 Always define old_z, not always z2 2015-04-14 04:55:20 -07:00
Scott Lahteine 5dd87d2e74 Enable all old_z_*_endstop vars for Z_DUAL_ENDSTOPS
- Potentially addressing #1911
2015-04-14 04:05:51 -07:00
Scott Lahteine 639ffc341e Merge pull request #1910 from thinkyhead/some_fixes
Rename servos[] array in Marlin to servo[]
2015-04-14 03:44:20 -07:00
Scott Lahteine 3f02da646c Make sure axis_active is cleared for #1908 2015-04-14 03:41:37 -07:00
Scott Lahteine e0e68c5cbc Rename servos[] array in Marlin to servo[] 2015-04-14 03:13:25 -07:00
Chris Petersen ffaf1b4f22 Add pin configuration for Brainwave Pro
Copied from jcrocholl's contributions to the OpenBeamUSA Marlin fork
2015-04-13 23:46:57 -07:00
Scott Lahteine dee6840c50 Merge pull request #1907 from thinkyhead/some_fixes
Fix type of code_has_value
2015-04-13 18:04:53 -07:00
Scott Lahteine 642f6a92bc fix type of code_has_value 2015-04-13 18:02:17 -07:00
Scott Lahteine 6b51305c4b Merge pull request #1906 from thinkyhead/some_fixes
Naming and code comments
2015-04-13 17:59:48 -07:00
Scott Lahteine 17ad80c1e1 Spacing in XYZ_CONSTS 2015-04-13 17:58:47 -07:00
Scott Lahteine 09d60e0128 Naming and code comments 2015-04-13 17:17:36 -07:00
Scott Lahteine c05b347617 Merge pull request #1902 from msutas/Development
Fix Syntax Error Filament Runout Statement
2015-04-13 14:31:57 -07:00
Mehmet Sutas 5a9e45cc4a Fix Syntax Error Filament Runout Statement 2015-04-13 22:37:18 +03:00
Scott Lahteine 0908c41156 Merge pull request #1899 from thinkyhead/squash_fixups
Several fixups
2015-04-12 23:31:31 -07:00
Scott Lahteine 257a907456 Fix typo in next_bed_check_ms 2015-04-12 23:17:28 -07:00
Scott Lahteine e4b1e8651b next_ vars faster than previous_
- Change some `previous_` time vars to `next_` so an add only happens
at intervals
- Fix `HEATER_0_USES_MAX6675` polling too frequently, or not at all
2015-04-12 23:06:50 -07:00
Scott Lahteine cfa60bdb97 Merge branch 'Development' into squash_fixups
Conflicts:
	Marlin/ultralcd.cpp
2015-04-12 22:51:18 -07:00
Scott Lahteine ccddc280be Apply three more commits 2015-04-12 22:47:44 -07:00
Scott Lahteine 666f9cd7b4 Merge pull request #1897 from epatel/Development
Manual bed leveling menu fixes.
2015-04-12 21:26:36 -07:00
Scott Lahteine e7aae314de Merge pull request #1896 from thinkyhead/cold_extrude
Homing fixes
2015-04-12 17:50:19 -07:00
Scott Lahteine 74e4b42f7e Default MACHINE_NAME to "3D Printer" 2015-04-12 17:17:41 -07:00
Scott Lahteine 8857b9e921 Use the extruder argument in plan_buffer_line 2015-04-12 16:57:00 -07:00
Edward Patel a37c7ff16d Manual bed leveling menu fixes.
lcdDrawUpdate = 2 helped a lot!
2015-04-12 16:56:17 +02:00
Scott Lahteine ac2b23f574 Homing fixes
- Prevent `Z_SAFE_HOMING` from homing Z twice in some cases
- Allow `G28` with XYZ values of 0 to explicitly set the position
- Don’t add `home_offset` when setting XYZ explicitly in `G28`
- Add `code_has_value` function to check for the presence of a numeric
value (could just test for space or nul to allow other types of values)
2015-04-11 20:06:48 -07:00
Scott Lahteine b089eb42eb Merge pull request #1893 from thinkyhead/cold_extrude
Fix doubled lcd_quick_feedback
2015-04-11 04:57:00 -07:00
Scott Lahteine 055b11814a Additional cleanup of ultralcd.cpp 2015-04-11 04:56:08 -07:00
Scott Lahteine 388dd0cfa5 Fix doubled lcd_quick_feedback
- MENU_ITEM causes lcd_quick_feedback to be called, so only those calls
to `lcd_goto_menu` outside of the `MENU_ITEM` macro need to set the
`feedback` flag when calling `lcd_goto_menu`.
2015-04-11 04:45:04 -07:00
Scott Lahteine f8b4ee079b Merge pull request #1891 from thinkyhead/cold_extrude
machine name for hephestos too
2015-04-11 01:37:07 -07:00
Scott Lahteine c6bb98abad machine name for hephestos too 2015-04-11 01:36:24 -07:00
Scott Lahteine 79a5b14eb7 Merge pull request #1890 from thinkyhead/cold_extrude
Apply CUSTOM_MACHINE_NAME to configs
2015-04-11 00:04:46 -07:00
Scott Lahteine ccbe2c4ea3 Apply CUSTOM_MACHINE_NAME to configurations
- Replace “Mendel” with “RepRap”
2015-04-10 21:29:42 -07:00
Scott Lahteine 71adb1ee59 Merge branch 'Development' into cold_extrude
Latest upstream commits
2015-04-10 21:13:50 -07:00
Scott Lahteine f1a03c5447 Merge pull request #1887 from thinkyhead/cold_extrude
Break out prevent_dangerous_extrude feature
2015-04-10 16:16:52 -07:00
Scott Lahteine 5fe382949b Some G-Codes comment cleanup 2015-04-10 16:16:13 -07:00
Scott Lahteine 8f164f4c83 Clean up M85 in GCodes.md 2015-04-10 16:04:32 -07:00
Scott Lahteine a327d876fe Document G92 arguments in GCodes.md 2015-04-10 16:02:00 -07:00
Scott Lahteine 652d59cd80 Spacing of g-codes in GCodes.md 2015-04-10 15:59:55 -07:00
Scott Lahteine fe912f44dc Smaller headings 2015-04-10 15:58:32 -07:00
Scott Lahteine 93eb63238f Move G Codes into categories with M Codes 2015-04-10 15:57:54 -07:00
Scott Lahteine a3b13eb5ac Organize M Codes by Category
- In GCodes.md
2015-04-10 15:54:36 -07:00
Scott Lahteine 3105ebc562 Restore M928, M999 2015-04-10 15:05:00 -07:00
Scott Lahteine 01654bdec1 Cleanup formatting of some M codes 2015-04-10 15:03:41 -07:00
Scott Lahteine 907e8e98e5 Add GCodes from Marlin 1.0.3 dev, format as pre 2015-04-10 14:55:21 -07:00
Scott Lahteine 8b16ebe705 Break out prevent_dangerous_extrude feature
- It’s inline here, but could be a macro and duplicated for
`planner.cpp`
2015-04-09 22:40:37 -07:00
Scott Lahteine 67c0e8323e Merge pull request #1879 from thinkyhead/cold_extrude
Fix moves for DELTA for MANUAL_BED_LEVELING
2015-04-09 22:06:06 -07:00
Scott Lahteine 740152ee70 Merge branch 'Development' into cold_extrude
Latest upstream commits
2015-04-09 20:23:47 -07:00
Scott Lahteine 5914d9d7de Shuffling declarations.. 2015-04-09 20:21:30 -07:00
Scott Lahteine b328c6e6b6 Shuffling declarations. 2015-04-09 20:05:10 -07:00
Scott Lahteine fb4cefc91d Define lcd_move_[xyz] ahead of lcd_move_menu_axis 2015-04-09 19:33:16 -07:00
Richard Miles 4c3736ed43 Feature: Add RAMPS CNC Controller Board
Created a new board to make using RAMPS as a CNC machine controller
easier. It maps pin 8 to the spindle and pin 9 to the controller fan.
2015-04-09 16:32:56 +01:00
Scott Lahteine 9189cc66ab Fix moves for DELTA for MANUAL_BED_LEVELING
- Use `line_to_current` in place of `plan_buffer_line`
2015-04-09 04:32:14 -07:00
AnHardt 56fc3a4835 bgr -> bg
+ update in documentation
2015-04-09 13:09:18 +02:00
Scott Lahteine 7a1aef1450 Merge pull request #1877 from AnHardt/display-only
Made encoderPosition and quick_feedback dependant on NEWPANEL
2015-04-09 03:54:05 -07:00
Scott Lahteine 6096164d79 Merge pull request #1878 from thinkyhead/cold_extrude
Cold extrude
2015-04-09 03:41:54 -07:00
Scott Lahteine a488445cbe Fix spelling of "too" 2015-04-09 03:41:31 -07:00
Scott Lahteine b1950a7f25 Merge pull request #1875 from Natealus/Development
Z Probe inverting not present in example configs, causes error
2015-04-09 03:37:24 -07:00
AnHardt df50523605 Made encoderPosition and quick_feedback dependant on NEWPANEL
where the hardware is available.
Fix for #1873
2015-04-09 12:26:45 +02:00
Scott Lahteine dcde09fdff Merge remote-tracking branch 'upstream/Development' into Development
Latest upstream commits
2015-04-09 03:21:36 -07:00
Scott Lahteine 2ca099d1e7 Merge pull request #1876 from thinkyhead/cold_extrude
Catch dangerous extrude before trying several
2015-04-09 03:21:19 -07:00
Scott Lahteine 837ceb9abb Merge pull request #1867 from epatel/Development
Added sanity check for MESH_NUM_X_POINTS and MESH_NUM_Y_POINTS
2015-04-09 02:29:47 -07:00
Scott Lahteine a95544f92a Spell adjustment 2015-04-09 02:04:06 -07:00
Scott Lahteine a00ebf03d4 Merge pull request #1868 from AnHardt/LCD_STR
Moved the definitions of the LCD_STR_* to Conditionals.h
2015-04-09 01:56:23 -07:00
Scott Lahteine 7f22464353 Merge remote-tracking branch 'upstream/Development' into Development
Latest upstream commits
2015-04-09 01:41:10 -07:00
Scott Lahteine 1269c445ab Catch dangerous extrude before trying several 2015-04-09 01:40:48 -07:00
Scott Lahteine 4abd23ae9e Merge pull request #1866 from AnHardt/contrast
Remove Contrast Menu for device U8GLIB_ST7920
2015-04-09 00:34:25 -07:00
Natealus 585eee6549 Z Probe inverting not present in example configs, causes error
The line const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to
invert the logic of the endstop is in the main configuration.h but
wasn't present in the example configuration.h's. Causes a compiling
error with Z Probe enabled. Just added it to all the configs. :)
2015-04-08 18:57:30 -06:00
AnHardt c5961892e3 Bulgarian for all the Configuration.h's 2015-04-09 01:52:13 +02:00
AnHardt 6248c93f37 Introduction of Bulgarian - language_bgr.h
Thank you @Nprod!
2015-04-09 01:26:48 +02:00
AnHardt 540dbb35e2 And an other MSG_BED in Marlin_main.cpp 2015-04-09 01:16:06 +02:00
AnHardt 14d4419e16 Replaced SERIAL_PROTOCOLPGM(MSG_BED) with SERIAL_PROTOCOLPGM("Bed")
Resolved some warnings in Marlin_main.cpp regarding compares of signed and unsigned integers by replacing 'int' or 'uint16_t' with 'uint8_t'.
2015-04-08 23:59:01 +02:00
AnHardt ea897654a4 Moved the definitions of the LCD_STR_* to Conditionals.h
to avoid errors in Marlin_main.cpp. #1860

In the include tree of Marlin_main.cpp the decision between the display types is not made.
To include the right LCD_STR_* ether 'dogm_lcd_implementation.h' or 'ultralcd_implementation_hitachi_HD44780.h' with all their code.
A 'dogm_lcd_implementation.h.h' would be a curiosity.
So i moved both of the definition blocks to conditionals.h

On the long term it could make sense to use the same numbering for the u8glib and the hitachi symbols.
2015-04-08 21:53:58 +02:00
Edward Patel 7dc64efe67 Added sanity check for MESH_NUM_X_POINTS and MESH_NUM_Y_POINTS 2015-04-08 20:52:48 +02:00
AnHardt 6a514f3dc9 Aplied HAS_LCD_CONTRAST also to Marlin_main.cpp
and cleaned typo.
2015-04-08 13:26:29 +02:00
AnHardt a76fb42ca6 Merge https://github.com/MarlinFirmware/Marlin into contrast 2015-04-08 13:05:21 +02:00
AnHardt bcc04192fc Remove Contrast Menu for U8GLIB_ST7920
The other two devices we use in u8glib have more than only dummy code.
Checked this in the library code.
2015-04-08 12:56:38 +02:00
Scott Lahteine 98f3130a5c Merge pull request #1865 from thinkyhead/configurator_values
Thermistor values for configurator
2015-04-08 03:13:27 -07:00
Scott Lahteine 4788b59300 Thermistor values for configurator 2015-04-08 03:12:21 -07:00
Scott Lahteine bb917ecda8 Merge pull request #1853 from thinkyhead/dev_version
Set version to "1.0.3 dev"
2015-04-08 01:57:51 -07:00
Scott Lahteine caa7734402 Merge pull request #1864 from thinkyhead/is_running
IsStopped / IsRunning inline
2015-04-08 01:10:36 -07:00
Scott Lahteine c82da64d10 Merge pull request #1863 from lcfm1/patch-3
Update language_ru.h
2015-04-08 01:07:12 -07:00
Scott Lahteine 3162971cd6 current_position not static 2015-04-08 01:05:39 -07:00
Scott Lahteine 27cb90da8b IsStopped / IsRunning inline 2015-04-08 00:56:19 -07:00
Max 07fc2b5b70 Update language_ru.h 2015-04-08 13:18:45 +06:00
Scott Lahteine 756bb5e268 Cleanup formatting in hitachi & dogm lcd 2015-04-07 22:04:10 -07:00
Scott Lahteine 7431ef7e2d Merge branch 'Development' into dev_version
Latest upstream commits
2015-04-07 21:14:00 -07:00
Scott Lahteine 43773ff735 Formatting and lcd contrast masking 2015-04-07 21:11:03 -07:00
Scott Lahteine eb6e3886f4 Set version to "1.0.3 dev" 2015-04-07 20:38:43 -07:00
Scott Lahteine cf9b58452c Minimum delay in menu click feedback
Squished #1849
2015-04-07 20:20:30 -07:00
Scott Lahteine 419f3ebc03 Merge pull request #1850 from OpCode1300/docs
Fix typo in readme
2015-04-07 20:14:53 -07:00
Administrator ff429cdd8a Fix typo in readme 2015-04-07 23:03:46 -05:00
Scott Lahteine 1d291be2ba Fix de after PREVENT_DANGEROUS_EXTRUDE
- Set `de` to 0 when `position[E] = target[E]`
- Address regression mention in #1846
2015-04-07 20:01:08 -07:00
Scott Lahteine e03da4805b Merge pull request #1774 from epatel/Development
Mesh bed leveling: Added G29 S3 + finer display steps during manual input + bug fix
2015-04-07 19:24:46 -07:00
Scott Lahteine 5b2c67f4c3 Merge pull request #1847 from thinkyhead/more_configurator
Fix G29 not deploying probe in some instances
2015-04-07 15:41:02 -07:00
Scott Lahteine f7c4e7e19f Fix G29 not deploying in some instances 2015-04-07 15:38:29 -07:00
Edward Patel a9ed39b12d Moved checks into SanityCheck.h + removed previous added checks. 2015-04-07 22:58:08 +02:00
Edward Patel 002340f32c Merge branch 'Development-Marlin' into Development 2015-04-07 22:49:12 +02:00
Scott Lahteine 3db4e0fb5d Merge pull request #1842 from thinkyhead/more_configurator
Configurator updates
2015-04-06 23:38:20 -07:00
Scott Lahteine c379f17117 Encapsulate setting of homing_bump_feedrate 2015-04-06 23:21:33 -07:00
Scott Lahteine 7d2c2f1790 Updates for the configurator
- Sections in all `Configuration_adv.h`
- Recognize JAPANESE/WESTERN/CYRILLIC options
- Better capturing of comments for tooltips
2015-04-06 23:16:01 -07:00
Scott Lahteine 967db181d0 Latest upstream commits 2015-04-06 21:46:18 -07:00
Scott Lahteine e502144eda Fixup formatting of last commit 2015-04-06 21:28:14 -07:00
Scott Lahteine d05efa008d Merge pull request #1825 from shaggythesheep/bugfix_no_heaters
Bugfix: Temperature checks when no heaters in use
2015-04-06 21:25:22 -07:00
Scott Lahteine d20f42c883 Don't stow the probe until the last grid point!
- Address Issue #1682 at hash #issuecomment-89756858
2015-04-06 20:58:09 -07:00
Scott Lahteine 5c2bb05af3 Merge pull request #1839 from AnHardt/fix-statusmessage
Fix lcd_status_message
2015-04-06 19:08:25 -07:00
Scott Lahteine d70a4a3847 Merge pull request #1823 from AnHardt/splashscreen
Disable splash-screen when done once
2015-04-06 18:48:48 -07:00
Scott Lahteine 56aea5f8e5 Merge pull request #1829 from Natealus/Development
Azteeg X3 Pro Pin fix ups
2015-04-06 18:19:33 -07:00
Scott Lahteine 6a860b99dc Merge pull request #1828 from Wackerbarth/Configurator
Update Configurator Files
2015-04-06 18:09:26 -07:00
AnHardt ac843fbf3b Fix lcd_status_message
Because we now can use utf8 with up to 3 bytes per symbol,
lcd_status_message[] must be 3*LCD_WIDTH wide.
Filling up the message, or cutting to length, are fixed to.

Fix for #1832 about at the end.
2015-04-07 02:33:34 +02:00
Scott Lahteine 6d084c017f Fix typo in FWRETRACT handler
Should be `retracting` and not `retract`
2015-04-06 17:04:22 -07:00
Scott Lahteine ed7a2f9fac Merge pull request #1827 from thinkyhead/fixup_dualz
Fix compile error with Z_DUAL_ENDSTOPS
2015-04-06 16:34:04 -07:00
Edward Patel d27c82a450 Added check for Delta printers in Mesh, #error not yet supported. 2015-04-06 23:03:06 +02:00
Edward Patel 9a093b2e8f Added #error + mention not to enable ABL and Mesh at the same time 2015-04-06 19:38:59 +02:00
AnHardt 6ae714894e Now the simplycistic solution.
Just and only display splashscreen only once.
2015-04-06 12:43:38 +02:00
AnHardt d521693641 Revert "Draw content in display loop only when needed"
This reverts commit bf04a92cc0.
2015-04-06 12:31:31 +02:00
Natealus b6f2bff461 Azteeg X3 Pro Pin fix ups 2015-04-05 23:34:56 -06:00
Scott Lahteine d867c18535 Fix compile error with Z_DUAL_ENDSTOPS 2015-04-05 20:48:08 -07:00
Richard Wackerbarth 46474cf2f2 Incorporate @section headers from configurator 2015-04-05 22:39:40 -05:00
Richard Wackerbarth cf66cb8808 Bring configurator up-to-date 2015-04-05 22:38:15 -05:00
Richard Miles 1a5293c2ce Prevents MINTEMP / MAXTEMP when no heaters present
This commit checks whether or not HEATER_0 is in use, and if not, skips
the MIN / MAX temperature checks.
2015-04-05 22:27:14 +01:00
Edward Patel 5360158545 Merge branch 'Development-Marlin' into Development 2015-04-05 20:28:44 +02:00
AnHardt bf04a92cc0 Draw content in display loop only when needed
Example for splash screen.
2015-04-05 12:53:20 +02:00
AnHardt 9865318f1c Disable splash-screen when done once
Splash screen was shown with every display init.
That means every time the menus where entered.

Note the 2 in the initialisation.
The buffer is already written in two steps a 512 byte.
Without the 2 only the upper half is shown.
2015-04-05 12:24:01 +02:00
Scott Lahteine f5dad8ade2 Merge pull request #1819 from thinkyhead/fixup_probing
Have the configurator read from MarlinFirmware repo
2015-04-04 20:19:44 -07:00
Scott Lahteine 53eb662908 Have the configurator read from MarlinFirmware repo 2015-04-04 20:19:17 -07:00
Edward Patel d24ea7c03f Added Comment in hope of github seeing these updates 2015-04-05 05:14:06 +02:00
Edward Patel 61de6ecd54 Added change to example Configuration.h's 2015-04-05 04:26:35 +02:00
Edward Patel 2f0081bbb5 Compile error fix! Fix for merge artifacts. 2015-04-05 04:16:16 +02:00
Edward Patel 0e6514e7bd Bug fix! Missed putting z value back in right slot after zigzag mod. 2015-04-05 04:13:34 +02:00
Edward Patel ea10601406 Merge branch 'Development-Marlin' into Development
Conflicts:
	Marlin/Configuration.h
	Marlin/Marlin_main.cpp
2015-04-05 04:06:02 +02:00
Scott Lahteine cb02bc6db4 Merge pull request #1817 from AnHardt/dogm_looptest
Execute DOGM display-loop less often
2015-04-04 17:29:56 -07:00
Scott Lahteine f3597cf55a Merge pull request #1818 from quillford/patch-1
Fixed scara directions
2015-04-04 16:27:33 -07:00
quillford b02a55e60f Fixed scara directions
Config said for a delta instead of for a scara
2015-04-04 15:26:35 -07:00
Scott Lahteine 6c5f07c5cb Merge pull request #1813 from thinkyhead/fixup_probing
Fix bad thermal runaway trigger
2015-04-04 14:41:43 -07:00
AnHardt 340d165a9c Reduce display updates for dogm displays
In 'if (encoderPastThreshold || LCD_CLICKED)' lcdDrawUpdate was not set.

'lcd_status_update_delay'-loop was not effective in  function
lcd_status_screen().
The loop prevented the update of the status screen but not the displays
update.
Shifted the loop into lcd_update().
2015-04-04 22:02:24 +02:00
AnHardt 418d22d7b3 Revert "Testloop cleanup"
This reverts commit 6361404b91.
2015-04-04 18:33:36 +02:00
AnHardt 6361404b91 Testloop cleanup
Shifted condition should still be in.
2015-04-04 17:56:13 +02:00
AnHardt 6d4b3f0d6a Move the condition before the loop
Result see: https://youtu.be/AEnBzdu9_tk
Dot is moving not so fast -> less executed loops.
2015-04-04 17:49:39 +02:00
AnHardt 4cb7dfc546 Move the 'alive dot' in every displayloop
Result see: https://www.youtube.com/watch?v=tdu7J0i-c4g
Loop is executed several times per display update.
2015-04-04 17:34:28 +02:00
Scott Lahteine b0f198c153 heater_index above its use 2015-04-04 06:18:08 -07:00
Bo Herrmannsen 3d01492228 Update README.md 2015-04-04 15:07:36 +02:00
Bo Herrmannsen bf5dbb90c4 Update README.md 2015-04-04 15:06:13 +02:00
Scott Lahteine 60f8e0386f More thermal runaway states 2015-04-04 05:45:36 -07:00
Scott Lahteine f9dbd73652 Fix tr_target_temperature type - float! 2015-04-04 05:25:53 -07:00
Scott Lahteine c83faa9c5e Merge pull request #1811 from thinkyhead/fixup_probing
Compare indices instead of floats for probe actions
2015-04-04 05:14:59 -07:00
Bo Herrmannsen cabd713610 Update README.md 2015-04-04 14:12:36 +02:00
Bo Herrmannsen f39e5988a3 Update README.md 2015-04-04 14:09:59 +02:00
Bo Herrmannsen 20a047b8c5 Update README.md 2015-04-04 14:09:39 +02:00
Bo Herrmannsen a5e9263987 Update README.md 2015-04-04 14:08:30 +02:00
Bo Herrmannsen 506a42338b Update README.md 2015-04-04 14:07:59 +02:00
Bo Herrmannsen 2f189be2e4 Update README.md 2015-04-04 14:07:20 +02:00
Bo Herrmannsen 1836aa2615 Update README.md 2015-04-04 14:02:58 +02:00
Scott Lahteine 61f8394361 Compare indices instead of floats for probe actions 2015-04-04 05:01:16 -07:00
Scott Lahteine a98183b463 Merge pull request #1809 from Wackerbarth/LanguageCleanup
Deferring default definition made #undef unnecessary
2015-04-04 04:37:20 -07:00
Scott Lahteine 41ded7e996 Merge pull request #1805 from thinkyhead/fixup_probing
Optimize coordinate copying, fix EXTRUDER_RUNOUT_PREVENT
2015-04-04 03:49:54 -07:00
Richard Wackerbarth 4119738e69 Deferring default definition made #undef unnecessary 2015-04-04 05:48:07 -05:00
Scott Lahteine 6f06d33be5 Fix missing refresh_cmd_timeout function 2015-04-04 03:47:25 -07:00
Scott Lahteine 2d099a2c70 Fix missing backslash in macro 2015-04-04 03:35:16 -07:00
Scott Lahteine 0f9b29e6c5 Merge pull request #1803 from Natealus/Development
Z_PROBE_ENDSTOP Pin for Azteeg X3 Pro
2015-04-03 23:45:05 -07:00
Scott Lahteine 0935084141 Fix manage_inactivity
- Document `manage_inactivity` function
- Allow `EXTRUDER_RUNOUT_PREVENT` to work with all extruders
- Use faster `memcpy` for copying coordinates
2015-04-03 23:42:50 -07:00
Scott Lahteine c065da52ec Spacing and spelling 2015-04-03 22:54:48 -07:00
Scott Lahteine a3e129e091 Merge pull request #1801 from thinkyhead/fixup_probing
Minor optimizations
2015-04-03 22:30:01 -07:00
Scott Lahteine e8a711994a Merge pull request #1802 from Natealus/Development
Compiling error temperature.cpp with multiple extruders defined
2015-04-03 22:14:12 -07:00
Natealus ab11f90da0 Z_PROBE_ENDSTOP Pin for Azteeg X3 Pro
Just a simple #ifdef Z_PROBE_ENDSTOP to define the pin for it. Also has
a couple commented lines for switching Z_MIN_PIN if needed.
2015-04-03 23:14:03 -06:00
Scott Lahteine 8680b515b0 Fix missing tmp_extruder -> target_extruder 2015-04-03 22:12:49 -07:00
Natealus a6ba40ae48 Compiling error temperature.cpp with multiple extruders defined
It wouldn't compile because of this line in temperature.cpp it turns out
it was just a stray ( that didn't line up with the previous lines so I
just made it in line with the rest and it compiled fine.
2015-04-03 23:09:31 -06:00
Scott Lahteine fc3c76fc16 Fix #1800 2015-04-03 22:04:42 -07:00
Scott Lahteine c185912c19 Latest upstream commits, mostly 2015-04-03 21:58:48 -07:00
Scott Lahteine 1e5c18bb14 Add code_value_short and SERIAL_CHAR 2015-04-03 21:43:30 -07:00
Scott Lahteine e0d4368cb5 Minor code cleanup, move NUM_AXIS out of config 2015-04-03 20:45:24 -07:00
Scott Lahteine 4c7af484f8 Merge pull request #1787 from thinkyhead/fixup_tr
Fix: thermal_runaway_protection triggered by target temperature increase
2015-04-03 20:06:56 -07:00
Scott Lahteine c747becec1 Merge pull request #1796 from thinkyhead/pidbed_temp_eeprom
Add PIDTEMPBED to EEPROM
2015-04-03 20:03:38 -07:00
Scott Lahteine 369a497300 Merge pull request #1797 from quillford/Development
Fixed README typos
2015-04-03 19:58:09 -07:00
Scott Lahteine 84e4edaea7 Add M48 comment for #1794 2015-04-03 19:52:00 -07:00
Scott Lahteine 9ba55baa5b Track target temperature separately for each heater 2015-04-03 19:42:40 -07:00
Scott Lahteine 528e32a1d4 Fix timeout in thermal_runaway when temperature is set higher 2015-04-03 19:34:55 -07:00
Scott Lahteine b98ebd517e disable / enable_all_steppers functions 2015-04-03 19:25:22 -07:00
Scott Lahteine 713953d8c1 Upstream commits, allow no extruder in M105 2015-04-03 19:16:38 -07:00
Scott Lahteine 8f893eb8df Merge pull request #1798 from thinkyhead/fixup_probing
Fix probe height at G28 start
2015-04-03 19:03:00 -07:00
Scott Lahteine dde7e11f8e Merge branch 'Development' into fixup_tr
Latest upstream commits
2015-04-03 18:56:52 -07:00
Scott Lahteine abd7fc36b6 Fix probe height at G28 start 2015-04-03 18:54:55 -07:00
Scott Lahteine 610c8c5471 Merge pull request #1795 from thinkyhead/fixup_probing
Finish pin tests
2015-04-03 18:44:44 -07:00
quillford 1ad5fb1178 Fixed README typos 2015-04-03 18:36:01 -07:00
Scott Lahteine e4934164e4 Merge pull request #1790 from Wurstnase/fix_home_z
fix feedrate for homing z
2015-04-03 18:35:09 -07:00
Scott Lahteine a469d796e1 Add cleanups needed for #1772 2015-04-03 18:14:57 -07:00
Scott Lahteine c0ca26cd50 Merge branch 'Development' into fixup_probing
Latest upstream commits
2015-04-03 18:05:17 -07:00
Scott Lahteine 5c1f08a35f Merge pull request #1772 from croadfeldt/Merge_cleanup
Z_PROBE_ENDSTOP
2015-04-03 18:04:31 -07:00
Scott Lahteine db7b0ea0cf Merge pull request #1569 from Wackerbarth/Development
Incorporating Build Numbers
2015-04-03 16:56:31 -07:00
Scott Lahteine 92119d0f7d Static delta[] for SCARA 2015-04-03 16:46:56 -07:00
Scott Lahteine 007a4bd421 Adjust spacing in view function 2015-04-03 16:41:58 -07:00
Scott Lahteine 424d5495e4 Add PIDTEMPBED to EEPROM 2015-04-03 16:38:05 -07:00
Scott Lahteine 6b919e14c1 Group all universal variables 2015-04-03 15:45:41 -07:00
Scott Lahteine 21cd2e4fae Merge branch 'Development' into fixup_probing
Latest upstream commits
2015-04-03 15:32:15 -07:00
Scott Lahteine 0e8182bbf2 Additional pin tests, cleanup 2015-04-03 15:31:35 -07:00
Scott Lahteine e8700bd1e2 Merge pull request #1788 from AnHardt/iss1786
Fix typo in Marlin_main.cpp
2015-04-03 15:14:58 -07:00
Wurstnase 45565b680d second wrong feedrate 2015-04-03 18:01:28 +02:00
Wurstnase 581b2aae04 fix feedrate for homing z
max_feedrate is in mm/s. line_to_destination needs a feedrate in mm/min because there is feedrate/60.
2015-04-03 16:11:32 +02:00
Edward Patel 48b1c3822f Merge branch 'Development-Marlin' into Development 2015-04-03 00:46:30 +02:00
Richard Wackerbarth 8f620de0ff Actually activate Automatic Versioning 2015-04-02 09:20:24 -05:00
Richard Wackerbarth ccdaea51ba Add KosselPro 2015-04-02 09:20:24 -05:00
Richard Wackerbarth f4599143eb Allow M115 to better reflect the build 2015-04-02 09:20:24 -05:00
Richard Wackerbarth a33e20b27d Adjust per-project .gitignore
Refer to http://git-scm.com/docs/gitignore
to see why this is appropriate
2015-04-02 09:20:24 -05:00
Richard Wackerbarth 34c7d45879 Hook for Auto-generated Build Version
The automatic versioning system extracts a
build version number from the SCM system

That versioning information is written to the file
_Version.h, a file that is NOT preserved in the SCM.

If such a file will be present,
we include it here to utilize the parameters
that are defined therein.
2015-04-02 09:20:24 -05:00
Scott Lahteine c756b4cf07 Comment tweak 2015-04-02 06:11:03 -07:00
AnHardt 23cd54755f Fix typo in Marlin_main.cpp
related to current_position[Z_AXIS] and retract_zlift.

'+ =' -> '+='

Fix for #1786
2015-04-02 14:50:31 +02:00
Scott Lahteine e96df67630 Clarify thermal_runaway_protection
- Add comments documenting `thermal_runaway_protection`
- Add an enum for the thermal runaway states
- Add macros for temperature helper functions
- Fix a glitch with the z probe sled in homeaxis
2015-04-02 05:10:14 -07:00
Bo Herrmannsen 93fdc2951b Update README.md 2015-04-02 07:22:01 +02:00
Chris Roadfeldt 79b56b083f Merge branch 'Development' into Merge_cleanup 2015-04-01 19:33:11 -05:00
Chris Roadfeldt 0afe6696f0 Merge remote-tracking branch 'MarlinFirmware/Development' into Merge_cleanup 2015-04-01 19:31:20 -05:00
Chris Roadfeldt 9e603920c2 Merge branch 'Merge_cleanup' into Development 2015-04-01 19:31:14 -05:00
Chris Roadfeldt 59994bd519 Not doing network admin work, pin not ping... :) 2015-04-01 19:24:42 -05:00
Chris Roadfeldt 916f59e35f Spaces not tabs in language.h.
Catch unlikely but possible error and head crash when using
Z_PROBE_REPEATABILITY_TEST
2015-04-01 19:22:05 -05:00
Scott Lahteine 66b3b53e76 Merge pull request #1762 from AnHardt/MiMa
Fix MIN&MAX temperatures again
2015-04-01 16:52:07 -07:00
alexborro 56633da44f Merge pull request #1773 from Wurstnase/cartesian_old_bump
old bump_divisor for cartesian/corexy-printer
2015-04-01 20:39:04 -03:00
Bo Herrmannsen ae2ebc6951 Update README.md 2015-04-01 23:18:51 +02:00
Edward Patel 6bdebede27 Added description in the documentation for the new parts. 2015-04-01 21:32:28 +02:00
Edward Patel 6b91b7b411 Mesh bed leveling: Added G29 S3 + finer steps in manual probing.
* Use "G29 S3 Xn Yn Zn.nn" to modify bad probed point manually
* Changed manual Z steps from 0.05 to 0.025 and made brought it to Configuration.h
2015-04-01 21:18:51 +02:00
Chris Roadfeldt 26dc80bf2d Typo fixed... 2015-04-01 13:47:17 -05:00
Chris Roadfeldt b84db7ff5b Merge branch 'Merge_cleanup' into Development 2015-04-01 13:36:02 -05:00
Chris Roadfeldt 2966ae2022 Fix Z_PROBE_PING not declared, allows code to compile if Z_PROBE_ENDSTOP
is not used.
2015-04-01 13:32:25 -05:00
Wurstnase 67d5e7973e old bump_divisor for cartesian/corexy-printer
some people are starting to ask why homing is so slow. this is the old standard hard-coded value.
2015-04-01 20:17:49 +02:00
Chris Roadfeldt fb74995fe3 Merge branch 'Merge_cleanup' into Development 2015-04-01 12:15:01 -05:00
Chris Roadfeldt bb41edc2ef Fixed extra #endif 2015-04-01 12:13:25 -05:00
Chris Roadfeldt f53e951462 Merge branch 'Merge_cleanup' into Development 2015-04-01 11:52:34 -05:00
Chris Roadfeldt a57862e29f Cleaning up code in prep for merge with upstream. 2015-04-01 11:40:24 -05:00
Chris Roadfeldt ca40921bf1 Merge branch 'Merge_cleanup' into Development 2015-04-01 10:34:36 -05:00
Chris Roadfeldt 745d9fe1a4 Merge remote-tracking branch 'MarlinFirmware/Development' into Merge_cleanup
Conflicts:
	Marlin/Marlin_main.cpp
2015-04-01 10:31:02 -05:00
AnHardt 488666832b Remove the previously introduced () 2015-04-01 13:40:05 +02:00
Scott Lahteine 443468df8d Merge pull request #1771 from AnHardt/iss1770
Added new - changed entries from Fix up LCD_PROGRESS_BAR
2015-04-01 02:13:30 -07:00
Scott Lahteine 9593f09b99 Merge pull request #1764 from thinkyhead/probe_leveling
Fix homing and leveling
2015-04-01 02:00:39 -07:00
Scott Lahteine 7bf31cc8a1 Merge pull request #1768 from atfield90/atfield90-patch-1
Added support for Atmega 1281 chip
2015-04-01 01:59:39 -07:00
Scott Lahteine 72c7de3570 Cleanup M48 2015-04-01 01:48:45 -07:00
Scott Lahteine 97a258b0b0 Clean up, document home_axis 2015-04-01 01:44:13 -07:00
AnHardt 831016b09f Added new - changed entries from Fix up LCD_PROGRESS_BAR
for when no LCD is defined.
Fix for #1770.
2015-04-01 10:17:17 +02:00
Chris Roadfeldt a508d835db Changed Z_PROBE_AND_ENDSTOP to Z_PROBE_ENDSTOP.
Updated documentation in Configuration.h.
Cleaned up and commented some code relating to Z_PROBE_ENDSTOP.
Separated Z_MIN_ENDSTOP and Z_PROBE_ENDSTOP completely.
2015-04-01 02:14:55 -05:00
Chris Roadfeldt fdb4ddbdea Merge remote-tracking branch 'MarlinFirmware/Development' into Development 2015-04-01 00:52:08 -05:00
atfield90 d273c90d53 Added support for Atmega 1281 chip 2015-04-01 05:15:27 +02:00
Scott Lahteine 1c7391717e Include sync_plan_position_delta for SCARA also 2015-03-31 19:58:03 -07:00
Scott Lahteine 8231fb166d Merge pull request #1758 from AnHardt/MENU_MULTIPLIER_ITEM
Fix: Audio feedback for MENU_MILTIPLIER_ITEM click
2015-03-31 19:29:48 -07:00
Scott Lahteine 0b57a2ab8b Merge pull request #1757 from bq/Translation-strings
Added new trasnslatable labels.
2015-03-31 18:56:25 -07:00
Scott Lahteine 18bb6be80e Fix homing and leveling
- Include the current Z when raising the axis after and between probing
- Add `sync_plan_position_delta` for parity with `sync_plan_position`
- Clean up and clarify `M48`, `dock_sled`, and others
2015-03-31 18:52:19 -07:00
AnHardt 3f2e863206 Improve conditions for HAS_TEMP
and use them in temperuture.h

Flattened the if structure - the preprocessor is doing the work - not the Arduino. Arduino.
2015-04-01 02:56:14 +02:00
AnHardt 85f8a26ba4 Fix MIN&MAX temperatures again
replaced GE0 with th matching GEX in the second row.
added some ()
2015-04-01 00:48:04 +02:00
AnHardt 19b11dfdd7 Fix can't enter MENU_MULTIPLIER_ITEM 2015-03-31 18:29:16 +02:00
Chris Roadfeldt c89b8368ee Merge remote-tracking branch 'MarlinFirmware/Development' into Development
Conflicts:
	Marlin/Marlin_main.cpp
2015-03-31 11:08:36 -05:00
Ivan Galvez Junquera d08782386b Added new trasnslatable labels.
* Added MSG_END_HOUR and MSG_END_MINUTE labels to all language files.
* Available translations:
  EN, FR, DE, ES, IT, PT, PT-BR.
2015-03-31 16:59:43 +02:00
Scott Lahteine be593b600b Merge pull request #1756 from thinkyhead/fixup_config
Correct XYZ after obtaining plan_bed_level_matrix
2015-03-31 05:08:41 -07:00
Scott Lahteine 97a69d9b1c Correct XYZ after obtaining plan_bed_level_matrix
The current position needs to be updated by using the inverse
`plan_bed_level_matrix` on X, Y, and Z. All moves in the planner are
transformed by the `plan_bed_level_matrix` from this point forward.
2015-03-31 04:24:13 -07:00
Scott Lahteine 5f6962dd90 Merge pull request #1755 from thinkyhead/fixup_config
Raise when not retracting
2015-03-31 03:47:01 -07:00
Scott Lahteine ae89ccd2c7 Use Z_RAISE_BETWEEN_PROBINGS 2015-03-31 03:45:21 -07:00
Scott Lahteine 9a5a7a3f68 Raise when not retracting
Code to raise the probe before retraction is good, but the code should
always raise the probe, not just when retracting
2015-03-31 03:38:03 -07:00
Scott Lahteine 6ff1620fcb Merge pull request #1753 from thinkyhead/fix_extruder_offset
Fix EXTRUDER_OFFSET compiler error
2015-03-31 03:21:45 -07:00
Scott Lahteine 8a4ed3c241 Merge pull request #1754 from thinkyhead/fixup_config
Correct the comment about M206
2015-03-31 03:20:57 -07:00
Scott Lahteine cda4bd4ad9 Correct the comment about M206 2015-03-31 03:20:15 -07:00
Scott Lahteine db4d8e835c Merge pull request #1752 from thinkyhead/fix_lcd_click
Fix LCD click
2015-03-31 02:52:17 -07:00
Scott Lahteine 935592cf6a offsets off by default 2015-03-31 02:50:52 -07:00
Scott Lahteine 2a45922afe Restore extruder_offset, init more simply 2015-03-31 02:49:47 -07:00
Scott Lahteine 28792e5731 Fix typo in assignment 2015-03-31 02:10:49 -07:00
Scott Lahteine bb6174524f Fix EXTRUDER_OFFSET compiler error
- Addressing issue #1741
2015-03-31 02:08:57 -07:00
Scott Lahteine 571652c49b Fix LCD click
- Make the default LCD click sound more pleasant
- Fix warnings about bed temperature runaway
2015-03-31 01:41:24 -07:00
Chris Roadfeldt 45ece5afb1 Merge remote-tracking branch 'MarlinFirmware/Development' into Development 2015-03-31 03:07:57 -05:00
Chris Roadfeldt 17707e7479 Fixed Z_PROBE_PIN pullup bug.
Documented some additional areas that should be addressed if Z_PROBE is
fully separated from Z_MIN or Z_MAX.
Fixed a documentation error in sanity checks. Servos start at 0 not 1.
2015-03-31 02:56:41 -05:00
Scott Lahteine 21ab44cfa7 Merge pull request #1750 from thinkyhead/fixup_config
Bring all configs up to date
2015-03-30 23:49:04 -07:00
Scott Lahteine 50145266cd Merge pull request #1748 from thinkyhead/raise_before_homing
Apply Z_RAISE_BEFORE_HOMING before homing XY
2015-03-30 23:37:41 -07:00
Scott Lahteine a117b6bff6 Merge pull request #1747 from thinkyhead/progress_bar_tweak
Fix up LCD_PROGRESS_BAR
2015-03-30 23:37:28 -07:00
Scott Lahteine 3348b3bf0c Allow SD_FINISHED_RELEASECOMMAND to be undefined 2015-03-30 23:31:48 -07:00
Scott Lahteine 82794fa5f7 Add delta generic not renaming 2015-03-30 23:25:04 -07:00
Scott Lahteine ba2c7cb467 Update configs with all the latest 2015-03-30 23:24:33 -07:00
Chris Roadfeldt ec1d9c0b8f Use Z_PROBE_ENDSTOP_INVERTING when checking pin status. 2015-03-31 01:06:01 -05:00
Chris Roadfeldt 3175c70c79 Manually synching back up with MarlinFirmware/Development. 2015-03-31 00:11:11 -05:00
Chris Roadfeldt faac2af4af Merge remote-tracking branch 'origin/Development' into Development 2015-03-31 00:03:07 -05:00
Chris Roadfeldt 3be00cce6f Merge remote-tracking branch 'MarlinFirmware/Development' into Development
Conflicts:
	Marlin/Configuration.h
2015-03-30 23:59:01 -05:00
Chris Roadfeldt e08f8eed05 Revert 06f767d..cba5692
This rolls back to commit 06f767d608.
2015-03-30 23:51:36 -05:00
Scott Lahteine 2e7a4bd7db Merge pull request #1749 from thinkyhead/fixup_config
Restore ENDSTOPPULLUPS in Configuration.h
2015-03-30 21:15:44 -07:00
Scott Lahteine 5e82ed4f30 Restore ENDSTOPPULLUPS in Configuration.h 2015-03-30 21:15:16 -07:00
Scott Lahteine b8973051c3 Merge pull request #1746 from thinkyhead/power_supply
Allow POWER_SUPPLY to be 0
2015-03-30 21:00:40 -07:00
Chris Roadfeldt 992b07ca57 Don't disable Z_RAISE_BEFORE_HOMING when Z_PROBE_AND_ENDSTOP is enabled. 2015-03-30 22:58:10 -05:00
Chris Roadfeldt cba5692673 Merge remote-tracking branch 'MarlinFirmware/Development' into Development
Conflicts:
	Marlin/Marlin_main.cpp
	Marlin/stepper.cpp
2015-03-30 22:33:05 -05:00
Scott Lahteine 8500c80b33 Apply Z_RAISE_BEFORE_HOMING before homing XY 2015-03-30 20:22:21 -07:00
Scott Lahteine 92b54aa27e #define HAS_POWER_SWITCH 2015-03-30 19:44:53 -07:00
Scott Lahteine 5519882eea Fix up LCD_PROGRESS_BAR
- Some messages should not expire with `PROGRESS_MSG_EXPIRE`.
- Simplify conditional for progress bar with sanity checks.
- Rename `messageTick` to `expireStatusMillis` and make it the expire
time.
2015-03-30 18:00:54 -07:00
Scott Lahteine 6864280803 Use elif and parentheses in conditionals 2015-03-30 16:52:27 -07:00
Scott Lahteine 8c136a5ab5 Conditionals and comments for PS = 0 2015-03-30 16:50:05 -07:00
Scott Lahteine 2faed961ce Allow POWER_SUPPLY 0 for no power switch 2015-03-30 16:39:47 -07:00
Scott Lahteine baa6787393 Merge pull request #1740 from thinkyhead/fixup_homing
Apply leveling for DELTA
2015-03-30 15:45:33 -07:00
Scott Lahteine 346c07cc1a Merge pull request #1743 from AnHardt/extrudemultiply
Replace extrudemultiply by extruder_multiply[active_extruder]
2015-03-30 15:45:10 -07:00
AnHardt 9ac7dc675e Make filament display on dogm_... same as hitachi...
Thanks @MagoKimbra.
2015-03-30 16:56:21 +02:00
AnHardt 50a732360a Replace extrudemultiply by extruder_multiply[active_extruder]
Fix for #1460.

Seems to work with only one extruder. Can't test this myself with more.
2015-03-30 13:35:03 +02:00
Scott Lahteine e63076504d Merge pull request #1733 from AnHardt/c20
Get back folder symbols on Hitachi displays
2015-03-30 01:57:00 -07:00
Scott Lahteine 41d258697a Pass the z for after probing to retract_z_probe
A `z_before` value is passed to probe_pt, but the `retract_z_probe`
function assumes that Z is 0, doesn’t add `current_position[Z_AXIS]` as
other cases do. This may be superfluous, so this is a test, and will be
reverted if it has no effect.
2015-03-30 00:45:02 -07:00
croadfeldt 06f767d608 Merge remote-tracking branch 'upstream/development' into development 2015-03-30 02:10:49 -05:00
Scott Lahteine b47fa8c064 Merge pull request #1735 from AnHardt/compilerCandy
Remove some further warnings
2015-03-29 23:55:19 -07:00
Scott Lahteine e96db1cd6c Make G29 shared function inline 2015-03-29 23:21:39 -07:00
Scott Lahteine d73b169de3 Apply leveling for DELTA,
- Fix `prepare_move` function not calling `adjust_delta`
- Add more shorthand for plan_buffer_line.
- Fix wrong `federate` usage, assuming they are all mm/m
- Minor `stepper.cpp` cleanup
2015-03-29 23:16:12 -07:00
Scott Lahteine 85b67e5223 Merge pull request #1738 from thinkyhead/fixup_homing
Fix G29 E and M48 n
2015-03-29 20:08:19 -07:00
Scott Lahteine ce44bee28b Small code reduction 2015-03-29 19:45:14 -07:00
Scott Lahteine 0213f7f016 Cleanup case for M666 2015-03-29 19:39:43 -07:00
Scott Lahteine 803425e12c Fix G29 E and M48 n
- Users prefer `G29 E` to work like `M48 E` so fixed that
- `M48 n` replaced with `M48 P` (or `p`). `n` legacy support
- Shorten some strings to save precious bytes
- Smaller code for 3-point probing
2015-03-29 18:56:09 -07:00
Scott Lahteine 1e9999711c Merge pull request #1736 from thinkyhead/fixup_homing
Fix G28 homing Y with X
2015-03-29 18:27:17 -07:00
Scott Lahteine d738b7acdd Merge pull request #1724 from Natealus/Development
Viki 2 Pins from Manual and Azteeg X3 Pro Endstop Reswap
2015-03-29 18:26:32 -07:00
Scott Lahteine e8ae51bfe3 Fix G28 homing Y with X
- Fixed a typo causing G28 to home incorrectly
- Added documentation to G28
- Added homeXYZ bools to neaten the code
- Added a note about home_offsets being questionable
2015-03-29 18:06:59 -07:00
AnHardt 7b2550a604 Times can't be negative.
cardreader.cpp needs temperature.h for autotempShutdown() when
AUTOTEMP is defined but warns about unused variables.
Unpublished variables by putting them in to temperature.cpp.
2015-03-30 01:58:46 +02:00
AnHardt 507efa771b Remove unused variable fan_rot
and satisfy the compiler about the implicit compare.
2015-03-30 01:46:38 +02:00
AnHardt 2b959a7752 Some additional {} to make the compiler happy. 2015-03-30 01:42:35 +02:00
AnHardt 0f1bd6e4a7 In ST7920_SWSPI_SND_8BIT(uint8_t val) parameter is unsigned
therefor in macro ST7920_WRITE_BYTE(a) cast a to uint8_t
to make the compiler happy.
2015-03-30 01:40:58 +02:00
AnHardt 81bab8739d Get back folder symbols on Hitachi displays
and make use of column 20.
2015-03-29 17:29:48 +02:00
Chris Roadfeldt a9802c95b3 Ensure Z_PROBE_PIN is defined if Z_PROBE_AND_ENDSTOP is. 2015-03-29 04:18:37 -05:00
Chris Roadfeldt 62834a1c43 Don't deploy probe on Z Axis homing if Z_PROBE_AND_ENDSTOP is enabled,
unless Z_SAFE_HOMING is.
2015-03-29 03:55:41 -05:00
Chris Roadfeldt 666fad3494 Typo fixed in sanity check. 2015-03-29 03:25:03 -05:00
Chris Roadfeldt 08a7aa16c5 Don't deploy Z Probe on Z homing if Z_PROBE_AND_ENDSTOP is defined. 2015-03-29 03:21:48 -05:00
Chris Roadfeldt 80285251cc More config cleanup work for Z_PROBE_AND_ENDSTOP. 2015-03-29 03:06:20 -05:00
Chris Roadfeldt fe4549cd83 Config file Z_PROBE_AND_ENDSTOP description clean up. 2015-03-29 03:04:59 -05:00
Chris Roadfeldt 82d2f11129 More additional sanity checks for Z_PROBE_AND_ENDSTOP 2015-03-29 02:53:55 -05:00
Chris Roadfeldt 05134f0807 Additional Sanity Checks for Z_PROBE_AND_ENDSTOP 2015-03-29 02:51:51 -05:00
Chris Roadfeldt c75a5e8c55 Fixed typo for Z_PROBE_AND_ENDSTOP support in pins_RAMPS.h.
Confirmed Sanity checks are working.....
2015-03-29 02:38:08 -05:00
Chris Roadfeldt a98ac4033b Added Z_PROBE_PIN to #define for Z_PROBE_AND_ENDSTOP support. 2015-03-29 02:36:26 -05:00
Chris Roadfeldt 6125124d6c Config file cleanup for Z_PROBE_AND_ENDSTOP support. 2015-03-29 02:29:16 -05:00
Chris Roadfeldt 324c14943b Bug fixes for Z_PROBE_AND_ENDSTOP.
Code cleanup for Z_PROBE_AND_ENDSTOP.
Added Z_PROBE_PIN to pins_RAMPS_13.h
2015-03-29 02:16:09 -05:00
Natealus ca5821aa57 Made #ifdef DELTA branch instead
Another fellow here gave me the idea to do it this way
2015-03-29 01:08:00 -06:00
Natealus 04fda6b3e9 Undesired behavior with endstops swapped
Made my swap commented out so its the option not the default.
2015-03-29 00:55:47 -06:00
Natealus ca1477d830 Revert "Undesired behavior with endstops swapped"
This reverts commit 15028e9b08.
2015-03-29 00:52:53 -06:00
Natealus 15028e9b08 Undesired behavior with endstops swapped
I made my changes to swap MIN and MAX endstops on the Azteeg X3 Pro the
option rather than the default to fix unexpected reversal.
2015-03-29 00:42:40 -06:00
Nate Stokes 18245c6cd2 Update pins_RAMBO.h
Updated for the changes that Thinkyhead made before I submitted mine.
2015-03-28 22:29:54 -06:00
Natealus 234a9d0b12 Viki 2 Pins from Manual
I added in the pins into the new board files for the Azteeg X3, X3 Pro,
Printrboard, and Rambo. I'm sure it can be added for others too but
these are the manual specified pins. Just like many things here though,
I can't test for the boards other than the Azteeg X3 Pro. Hopefully it
works smoothly for everyone who happens on this nifty display. :)
2015-03-28 22:11:12 -06:00
Scott Lahteine a22efc5f11 Merge pull request #1597 from Wurstnase/g29_auto_script
G29 auto script
2015-03-28 20:54:17 -07:00
Scott Lahteine 62a3da9618 Merge pull request #1723 from thinkyhead/tweak_g92
Tweak G92
2015-03-28 20:53:37 -07:00
Scott Lahteine cc7a081cae Merge pull request #1722 from Natealus/Development
Azteeg X3 Pro Pin Revisions
2015-03-28 20:45:55 -07:00
Scott Lahteine afff968e88 ARRAY_BY_EXTRUDERS, shorthand to sync planner
- Add some documentation to planner and stepper headers
- Patch up RAMBO pins with undefs
- Add `sync_plan_position` inline to set current XYZE
- Swap indices in `extruder_offset` to fix initialization values
2015-03-28 20:33:21 -07:00
Scott Lahteine 2b0c25a091 Tweak G92 to call plan_set_position only once, yes? 2015-03-28 19:18:24 -07:00
Natealus 22bea37393 Azteeg X3 Pro Pin Revisions
I added the fan pins in here and left them at -1 in configuration_adv.h
and it works fine. Pinned for a 4 extruder from 1-4 and HE5 being the
controller fan, HE6 being the Extruder Auto Fan/Water pump in the Kraken
case, and HE7 being for part cooling fan. Added in descriptions for the
MIN MAX pin swap and for servo motor additions.
2015-03-28 20:14:42 -06:00
Scott Lahteine 93dc0d0518 Merge pull request #1718 from AnHardt/blink
Move variable blink from ultralcd.h to dogm_lcd_implementation.h
2015-03-28 16:20:33 -07:00
Scott Lahteine 4f399bf1fb Merge pull request #1721 from thinkyhead/fixup_1699
Patch generic delta config
2015-03-28 16:15:09 -07:00
Scott Lahteine edb67ea165 Patch generic delta config
- Addressing issue mentioned at #1699
2015-03-28 14:13:25 -07:00
AnHardt c481c3b180 Move variable blink from ultralcd.h to dogm_lcd_implementation.h
to avoid warnings about unused blink.

Concentrate definitions of variables in dogm_lcd_implementation.h to one place.

Make only local used variable currentfont static.
2015-03-28 13:14:38 +01:00
Chris Roadfeldt 059052889f Further Sanity Checks for Z_PROBE_AND_ENDSTOP. 2015-03-28 06:08:04 -05:00
Chris Roadfeldt 8b81f20c61 Filling in more places where Z_PROBE_PIN and Z_PROBE_AND_ENDSTOP need to
be.
Added Sanity Check for it.
Added hook so it's enabled.
2015-03-28 05:55:42 -05:00
Chris Roadfeldt fd823449ad Added serial message for Z Probe trigger. 2015-03-28 05:42:38 -05:00
Chris Roadfeldt 92eb8109ab Fix declaration of old_z_probe_endstop. 2015-03-28 05:09:48 -05:00
Chris Roadfeldt 44b88b41a2 Added credit for code. 2015-03-28 05:01:04 -05:00
Chris Roadfeldt 2979b40a7a Fixed typo in Z Probe and Endstop section. 2015-03-28 04:41:03 -05:00
Chris Roadfeldt 9f3ff14008 Enabled separate Z Probe and Z Axis endstop use at same time.
Typo fixes in comments in existing code.
2015-03-28 04:31:51 -05:00
Scott Lahteine f47fc879fe Merge pull request #1717 from thinkyhead/fixup_warnings
Fixup warnings
2015-03-27 22:59:49 -07:00
Scott Lahteine 29a713ea5e Merge branch 'Development' into fixup_warnings
Conflicts:
	Marlin/Marlin_main.cpp
2015-03-27 20:50:45 -07:00
Scott Lahteine b14be7235e Merge pull request #1585 from galexander1/strtod_e_fix
Fix `code_value` (so `G1X1E2` isn't evaluated as `G1 X100 E2`)
2015-03-27 20:49:03 -07:00
Scott Lahteine ba871e46bf Fix compiler warnings
- Patched up for most included configurations
2015-03-27 20:29:05 -07:00
Scott Lahteine ffe0df4b36 Latest upstream commits 2015-03-27 18:30:56 -07:00
Scott Lahteine bc2f249cc6 Merge pull request #1622 from AnHardt/tm-utf-minus-kanji
The big Language Pack
2015-03-27 18:24:19 -07:00
Scott Lahteine abfcbd793f Merge pull request #1693 from chris-bo/rework_lcd_beeper
use only one implementation for beeper feedback
2015-03-27 17:03:38 -07:00
Scott Lahteine 72510b75d2 Merge pull request #1716 from thinkyhead/fixup_leveling
Fix Z_APPLY_STEP for dual Z
2015-03-27 17:02:54 -07:00
Scott Lahteine 55739a4efe Fix Z_APPLY_STEP 2015-03-27 17:02:11 -07:00
Scott Lahteine 1aec2f437c Merge pull request #1700 from thinkyhead/fixup_leveling
Fixup leveling and other issues
2015-03-27 16:37:47 -07:00
Scott Lahteine df02b992b0 Fix redundant_temperatrure_raw setting 2015-03-27 16:37:22 -07:00
Scott Lahteine fe29bdd72b Also fix temperature externs 2015-03-27 16:26:07 -07:00
Scott Lahteine 578f93bc26 Fixup temp arrays and leveling equation, prepare for merge 2015-03-27 16:20:23 -07:00
Scott Lahteine 7d472367e2 Merge pull request #1713 from epatel/Development
Parentheses need here otherwise sanitycheck.h does wrong thing on line 222
2015-03-27 16:14:55 -07:00
Scott Lahteine d841028805 Merge pull request #1714 from thinkyhead/fixup_temperature
Give all temp arrays 4 indices
2015-03-27 16:11:57 -07:00
Scott Lahteine ce485175eb Give all temp arrays 4 indices 2015-03-27 16:11:28 -07:00
Edward Patel 782464ea4d Parentheses need here otherwise sanitycheck.h does wrong thing on line 222 2015-03-27 20:22:59 +01:00
Scott Lahteine 460f73056b Fix ECHOPAIR ambiguity
- Also patch up some warnings
2015-03-27 00:46:39 -07:00
Scott Lahteine 19d418cd6a Fix up the code to eliminate warnings 2015-03-27 00:32:58 -07:00
Scott Lahteine b2496533c6 Put " M" into pmem 2015-03-26 20:30:14 -07:00
Scott Lahteine 267d6bef15 Eliminate most warnings
- Fix a bug reading `code_value` for `M503 Sn`
- Hide and remove unused variables
2015-03-26 20:07:17 -07:00
Scott Lahteine 3fd7790a15 Merge branch 'Development' into fixup_leveling
Latest upstream commits
2015-03-26 19:56:58 -07:00
Scott Lahteine b76a352d41 Fix the planeNormal calculation 2015-03-26 17:14:07 -07:00
Scott Lahteine 4385ac4f9d Merge pull request #1707 from thinkyhead/fixup_temperature
Always 4 temp sensors
2015-03-26 17:02:11 -07:00
Scott Lahteine 410f64782a Always 4 temp sensors 2015-03-26 16:22:21 -07:00
Scott Lahteine 0b32431551 Remove abs() from planeNormal.z 2015-03-26 16:20:23 -07:00
Scott Lahteine 53169d96e8 Set temp_meas_ready in set_current_temp_raw 2015-03-26 16:02:15 -07:00
Scott Lahteine 06eb7f5b3c Latest upstream commits 2015-03-26 15:30:51 -07:00
Scott Lahteine 04328d7537 Add zprobe_zoffset in set_bed_level_equation_*
- Also a small tweak to SanityCheck.h
2015-03-26 15:29:16 -07:00
Scott Lahteine d2e73545ba Merge pull request #1705 from AnHardt/ddt
Avoid warnings in SanitiCheck.h
2015-03-26 15:16:37 -07:00
Scott Lahteine 81aec66d21 Merge pull request #1704 from AnHardt/firstAid1703
First aid for #1703
2015-03-26 15:12:40 -07:00
Scott Lahteine 78090275a9 Fix probe range editing
- Increase the probe offset range to -20…20
- Apply the range limits to the menu item
2015-03-26 13:52:48 -07:00
AnHardt 1ff6df8f9e Avoid warnings in SanitiCheck.h
/SanityCheck.h:107:53: warning: missing terminating ' character
...
2015-03-26 21:30:53 +01:00
AnHardt ebe5b87c2c < like in the oher compareble loops
to avoid:
Marlin_main.cpp:1790: warning: array subscript is above array bounds.
2015-03-26 21:18:19 +01:00
AnHardt 20f909567a Merge https://github.com/MarlinFirmware/Marlin into tm-utf-minus-kanji
Conflicts:
	README.md
Solved
2015-03-26 10:05:00 +01:00
Christian Bohn eab5fad539 code formatting 2015-03-26 09:00:34 +01:00
Scott Lahteine abadeac08d Group zprobe_zoffset with bed leveling 2015-03-25 23:06:33 -07:00
Scott Lahteine 9e8427f253 Merge pull request #1698 from zeuseye/Development
Clean "fromsd" array if not SDSUPPORT
2015-03-25 22:21:57 -07:00
Scott Lahteine 32331faee4 Prettify Bed Level Correction Matrix
- Put + in front of positive values in the output
2015-03-25 22:13:59 -07:00
Scott Lahteine 46601b1c65 Merge pull request #1696 from epatel/mesh-docs
Instructions for Mesh Bed Leveling
2015-03-25 21:57:32 -07:00
Scott Lahteine f5f4c2b366 Merge branch 'Development' into fixup_leveling
Latest upstream commits
2015-03-25 21:30:49 -07:00
Scott Lahteine 7667023817 Merge pull request #1694 from Wurstnase/fix_z_config
comment #define Z_DUAL_STEPPER_DRIVERS
2015-03-25 21:28:17 -07:00
Scott Lahteine 5eff15c409 Merge branch 'Development' into fixup_leveling
Latest upstream commits
2015-03-25 21:24:38 -07:00
Scott Lahteine ad05a726c1 Merge pull request #1691 from AnHardt/PID_dt
Move definition of PIDdT back to temperature.h
2015-03-25 21:22:39 -07:00
Scott Lahteine 5261d35737 Fix custom m-code behavior
Don’t set CUSTOM_M_CODE_SET_Z_PROBE_OFFSET if there’s no Z probe
2015-03-25 21:20:50 -07:00
Scott Lahteine fbf9b21e0c Merge plus fixup zprobe_zoffset
- Make `zprobe_zoffset` conditional
- Fix ConfigurationStore for `zprobe_zoffset`
2015-03-25 21:14:00 -07:00
Scott Lahteine 96b5da7198 Fix up bed leveling code
- Init `zprobe_zoffset`
- Remove `current_position[Z_AXIS] = zprobe_zoffset` lines from the
`set_bed_level_equation_*` functions
- Apply standards to `mesh_bed_leveling` files
- Document `MESH_BED_LEVELING`
2015-03-25 20:36:24 -07:00
Scott Lahteine 02b4f5f9cd Merge pull request #1689 from AnHardt/MAXand161
Fix MAX6675 again and introduce set_current_temp_raw()
2015-03-25 20:23:51 -07:00
AnHardt f680e509c4 Enclosed error-messages for TEMP_SENSOR_1_AS_REDUNDANT in PSTR() 2015-03-25 23:26:06 +01:00
Victor Torre d43d47da14 Clean "fromsd" array is not SDSUPPORT
if not have SDSUPPORT the fromsd array is not necessary
2015-03-25 22:05:18 +01:00
AnHardt ac81b4084f Make variables and function static. 2015-03-25 21:37:15 +01:00
Edward Patel 92a7260fd0 typos 2015-03-25 21:34:55 +01:00
Edward Patel 4a78db29eb Added instructions for Mesh bed leveling 2015-03-25 21:28:05 +01:00
alexborro 55025558dc Implement Dry-Run mode in G29
It just probe all the bed without appliying the matrix.
Useful after a first G29 to check the topology.
2015-03-25 11:12:30 -03:00
wurstnase a4ad9117dd comment #define Z_DUAL_STEPPER_DRIVERS 2015-03-25 13:46:29 +01:00
chris-bo 2dfd0e5ce7 Update Configuration.h
documentation how to disable buzzer feedback
2015-03-25 12:44:29 +01:00
Christian Bohn 4c3cbc0961 use only one implementation for beeper feedback 2015-03-25 12:23:50 +01:00
AnHardt 01cc97a3c3 Corected condition for PIDdT 2015-03-25 12:08:23 +01:00
AnHardt 94330705c7 Move definition of PIDdT back to temperature.h
make it unconditional
remove all definitions in the 'Configuration.h's
remove form 'Conditionals.h'
2015-03-25 11:51:41 +01:00
AnHardt dd0067afa6 Fix MAX6675 again and introduce set_current_temp_raw()
to make the temperature-code work again with Arduino 1.0.6.

Sorry could not make an extra block on base level.
2015-03-25 11:08:24 +01:00
Scott Lahteine 80ae160c26 Merge pull request #1688 from AnHardt/ultra-menu-fix
Add the missed {} to END_MENU in ultralcd.cpp
2015-03-25 01:50:48 -07:00
AnHardt 8848b7e9ef Add the missed {} to END_MENU in ultralcd.cpp
what caused an extra update of encoderLine most of the time.
2015-03-25 09:48:21 +01:00
AnHardt 4beffbca69 Make SMALL_INFOFONT configurable.
Tweak the documentation
2015-03-24 23:40:04 +01:00
CONSULitAS 045ea42cc8 Merge remote-tracking branch 'upstream/Development' into Development 2015-03-24 22:52:02 +01:00
alexborro c2ba5d0c09 Fix ZigZag and Topograph table
ZigZag: Inverted Behavior.. If T supplied, it does not zigzag.
Topograph table: The table was rotated 90º clockwise.
2015-03-24 15:50:31 -03:00
alexborro 0ce3576685 New Feature: Z_DUAL_ENDSTOPS
Z_DUAL_ENDSTOPS is a feature to enable the use of 2 endstops for both Z
steppers - Let's call them Z stepper and Z2 stepper.
That way the machine is capable to align the bed during home, since both
Z steppers are homed.
There is also an implementation of M666 (software endstops adjustment)
to this feature.
After Z homing, this adjustment is applied to just one of the steppers
in order to align the bed.
One just need to home the Z axis and measure the distance difference
between both Z axis and apply the math: Z adjust = Z - Z2.
If the Z stepper axis is closer to the bed, the measure Z > Z2 (yes, it
is.. think about it) and the Z adjust would be positive.
Play a little bit with small adjustments (0.5mm) and check the
behaviour.
The M119 (endstops report) will start reporting the Z2 Endstop as well.
2015-03-24 14:06:44 -03:00
AnHardt c686069ccd Revert "Remove 6x9 font"
This reverts commit e6cb8ee188.

Conflicts:
	Marlin/dogm_lcd_implementation.h
Confilkt solved
Needs rework.
2015-03-24 17:13:05 +01:00
AnHardt b00a531df8 Revert "Removed now unneded FONT_STATUSMENU"
This reverts commit 8c5bb38748.
2015-03-24 17:01:56 +01:00
AnHardt 9d589cbb2a Merge https://github.com/MarlinFirmware/Marlin into tm3-utf-minus-kanji
Conflicts:
	Marlin/example_configurations/delta/generic/Configuration.h
	Marlin/example_configurations/delta/kossel_mini/Configuration.h
	Marlin/language.h

Conflicts solved
2015-03-24 16:59:15 +01:00
Scott Lahteine 512a0056a9 Merge pull request #1658 from thinkyhead/planner_oh_planner
Cleanup of planner code
2015-03-23 22:21:27 -07:00
Scott Lahteine 8db4fd7177 Merge branch 'Development' into planner_oh_planner
Latest upstream commits
2015-03-23 22:08:50 -07:00
Scott Lahteine c6df5f4d85 small text correction 2015-03-23 21:55:03 -07:00
Scott Lahteine 8dd94ccf58 Initial list from perusing the commit logs 2015-03-23 21:54:06 -07:00
Scott Lahteine 4afe50b920 Merge pull request #1651 from thinkyhead/config_testing
Configuration sanity-checking
2015-03-23 21:23:13 -07:00
Scott Lahteine 0d81abe1c9 Merge branch 'Development' into config_testing
Latest upstream commits
2015-03-23 21:13:04 -07:00
Scott Lahteine 01740fd9c6 Merge branch 'Development' into planner_oh_planner
Latest upstream commits
2015-03-23 21:12:36 -07:00
Scott Lahteine e2576b1ac5 Merge pull request #1674 from thinkyhead/fix_temperature_minmax
Cleanup temperature code
2015-03-23 21:10:03 -07:00
Scott Lahteine 8b004d26c1 Merge pull request #1681 from thinkyhead/marlin_configurator
A logo for the Marlin wiki
2015-03-23 21:02:38 -07:00
Scott Lahteine fc53e43de6 Don't test raw temp for MAX6675
- Remove test of raw temp for thermistor 0 when using MAX6675
- Longer `raw_temp_value` array for `TEMP_SENSOR_1_AS_REDUNDANT`
2015-03-23 20:55:48 -07:00
Scott Lahteine 03fa9fae9f Merge branch 'Development' into fix_temperature_minmax
Latest upstream commits
2015-03-23 20:42:48 -07:00
Scott Lahteine b1a7f74ee4 A logo for the Marlin wiki 2015-03-23 18:25:31 -07:00
Scott Lahteine 2606da9e81 Merge pull request #1678 from Nutz95/Development
Report changes from previous PR (#1670) from old code base including :
2015-03-23 15:29:51 -07:00
Scott Lahteine 1fac388664 Revert measurement loop 2015-03-23 15:18:22 -07:00
CONSULitAS 703f3b38c4 Merge remote-tracking branch 'upstream/Development' into Development 2015-03-23 17:40:49 +01:00
nicolas-rambaud 37cde8a191 Report changes from previous PR from old code base including :
I've updated the minimum values from the LCD.
It has been a while that i want to at least fix this.
I have an inductive probe and often i need to set my zOffset to something lower than 0.5.
With the current implementation, the default LCD value is set to 0.5 for some reason.
On my case i need to be able to set it down to 0.0 as my inductive probe can be lower than 0.5.
Before with the LCD we couldn't change this value below 0.5. We had to flash the firmware every time which was painful.
Now we are able to change this value down to 0.0 if needed.
I've also changed the minimum value for Z min acceleration.
In the default configuration it's set to 25 but on the LCD the minimum was 100 which is not coherent.
I've changes the minimum to 10. On this axis, depending on the mechanics/motor drivers we might require very low acceleration, so i guess 10 is somehow realistic.
2015-03-23 12:29:12 +01:00
Scott Lahteine b26a3ea02c Merge pull request #1662 from josla972/refactor_scara
Refactor SCARA calibration. Save some lines of code and possibly ROM.
2015-03-23 00:51:18 -07:00
Scott Lahteine 36474be8eb Merge pull request #1675 from Wurstnase/Development
fix bad insertion config again
2015-03-23 00:33:56 -07:00
wurstnase e6f6c6e3a1 fix bad insertion config again 2015-03-23 08:32:48 +01:00
Scott Lahteine 6bdee87be3 Cleanup temperature code
- Get rid of unused temp states in the ISR, resulting in more frequent
temperature reading with fewer sensors
- Shrink code slightly in min/max testing
2015-03-23 00:27:29 -07:00
Scott Lahteine 34a41648ab Merge branch 'Development' into planner_oh_planner
Latest upstream commits
2015-03-22 23:40:29 -07:00
Scott Lahteine 4fbb80567e Get upstream commits 2015-03-22 23:07:22 -07:00
Scott Lahteine f65f61fa72 Merge pull request #1672 from thinkyhead/fix_probeaction
Fix mangled probe_pt calls
2015-03-22 22:40:52 -07:00
Scott Lahteine 7717e1ce33 Fix bad insert in configuration 2015-03-22 21:48:46 -07:00
Scott Lahteine 146501215f Fix mangled probe_pt calls
- Address issue #1669
- Remove the TOPO_ORIGIN configuration setting
2015-03-22 21:45:20 -07:00
Scott Lahteine e0a42d3f9a Merge pull request #1666 from maverikou/fix_1507
Fix 1507
2015-03-22 21:25:05 -07:00
maverikou 15345cc249 Corrected Z_PROBE_ALLEN_KEY behaviour. 2015-03-22 13:54:51 +02:00
maverikou 0f034dd97e Clean up Z_RAISE_AFTER_PROBING to work the same in all code paths except Z_PROBE_SLED. 2015-03-22 13:54:45 +02:00
maverikou 6c96f32069 Blind fix for #1507 2015-03-22 13:54:21 +02:00
Josef Larsson 379348487e Removed malplaced comment. 2015-03-22 12:21:31 +01:00
Scott Lahteine 8bd6e37b21 Merge pull request #1661 from thinkyhead/G92_no_offset
Don't add home offsets in G29
2015-03-21 16:49:06 -07:00
Scott Lahteine 88ed5268d2 Merge pull request #1663 from thinkyhead/fix_dual_z_1659
Fix compile error with `*_DUAL_STEPPER_DRIVERS`
2015-03-21 16:48:08 -07:00
Scott Lahteine 582cd780cd Fix compile error with *_DUAL_STEPPER_DRIVERS
- Patch up macros in stepper.cpp
2015-03-21 16:43:47 -07:00
Josef Larsson 9b3462f73f Refactor SCARA calibration. Save some lines of code and possibly ROM. 2015-03-22 00:37:24 +01:00
Scott Lahteine 691e753cc3 Don't add home offsets in G29
- Address #1262 by leaving values as set
- Rename `add_homing` to `home_offset`
2015-03-21 16:30:02 -07:00
Scott Lahteine 88e81a4804 Latest upstream commits, plus fixes
- Also add Manual Bed Leveling to the rest of the configs
2015-03-21 16:12:57 -07:00
Scott Lahteine 15eb5d35a2 Merge branch 'Development' into config_testing
Latest upstream commits
2015-03-21 15:42:45 -07:00
Scott Lahteine 19df90622b Include Conditionals.h file in update 2015-03-21 15:40:20 -07:00
Scott Lahteine 9b639b4135 Merge pull request #1619 from epatel/manual-bed-leveling+mesh-bed-level
Manual bed leveling + mesh bed leveling
2015-03-21 15:39:42 -07:00
Scott Lahteine 2c9bd15625 Move LCD items to Conditionals.h
- `Conditionals.h` is included twice, setting LCD values the first time
2015-03-21 15:24:57 -07:00
Scott Lahteine a96bfee76a Merge pull request #1660 from thinkyhead/fix_temperature_minmax
Fix temperature min/max test
2015-03-21 15:04:42 -07:00
Scott Lahteine 63abeaff38 Merge branch 'Development' into config_testing
Latest upstream commits
2015-03-21 15:03:06 -07:00
Scott Lahteine 3703694e30 Fix temperature min/max test
- Base tests on all thermistors/thermocouples, not just heater 0
2015-03-21 14:23:43 -07:00
Edward Patel 3d0a060a7a Added G29 command 2015-03-21 14:50:47 +01:00
Edward Patel c516747847 Merge branch 'Development' into manual-bed-leveling+mesh-bed-level 2015-03-21 14:49:52 +01:00
Scott Lahteine b5970492e2 Merge pull request #1656 from AnHardt/menufix
Fix for menus failing to scroll
2015-03-20 21:09:26 -07:00
Scott Lahteine af14c684b5 Minor optimizations to planner code
- Prefetch values used more than once
2015-03-20 20:57:06 -07:00
Scott Lahteine 13fbf42d95 Cleanup of planner code
- Use named axis indexes, `X_AXIS` etc.
- Replace `block.steps_A` with block.steps[A]`
- Replace `A_segment_time` with `segment_time[A]`
- Add `A_AXIS`, `B_AXIS` for `COREXY` axes
- Conditional compile based on `EXTRUDERS`
- Add BLOCK_MOD macro for planner block indexes
- Apply coding standards to `planner.h` and `planner.cpp`
- Small optimizations of planner code
- Update `stepper.cpp` for new `block` struct
- Replace `memcpy` with loops, let the compiler unroll them
- Make `movesplanned` into an inline function
2015-03-20 20:42:49 -07:00
AnHardt 64e3d33893 Fix shrinked menucode
by updating 'encoderPosition' in END_MENU() line 1.
2015-03-20 23:36:14 +01:00
Edward Patel a7e89d4cfa Merge branch 'Development' into manual-bed-leveling+mesh-bed-level 2015-03-20 15:46:01 +01:00
AnHardt 08856d9615 Merge branch 'tm2-utf-minus-kanji' into tm-utf-minus-kanji
Conflicts:
	Marlin/ultralcd_implementation_hitachi_HD44780.h

Cleaned!
2015-03-20 14:19:30 +01:00
AnHardt 8c5bb38748 Removed now unneded FONT_STATUSMENU 2015-03-20 14:12:12 +01:00
Scott Lahteine 0d869703ca Merge pull request #1655 from thinkyhead/fix_count_direction_init
Fix count_direction initializer
2015-03-20 05:45:33 -07:00
Scott Lahteine 2176a22d42 Fix count_direction initializer
- Addressing #1625
2015-03-20 05:45:05 -07:00
AnHardt e72cb3e45d Merge https://github.com/MarlinFirmware/Marlin into tm2-utf-minus-kanji
Conflicts:
	Marlin/dogm_lcd_implementation.h
	Marlin/ultralcd_implementation_hitachi_HD44780.h

Fix merge conflicts 2
2015-03-20 13:35:47 +01:00
Scott Lahteine cb6942d4a7 Merge branch 'Development' into config_testing
Get upstream commits
2015-03-20 05:30:36 -07:00
AnHardt 6bfccaf99e Merge https://github.com/MarlinFirmware/Marlin into tm2-utf-minus-kanji
Conflicts:
	Marlin/dogm_lcd_implementation.h
	Marlin/ultralcd_implementation_hitachi_HD44780.h
Fixed conflicts 1
2015-03-20 13:08:18 +01:00
Scott Lahteine e3f04c876a Merge pull request #1653 from thinkyhead/lcd_menu_hilite
Fix hiliting of edit items in LCD menus
2015-03-20 04:37:20 -07:00
Scott Lahteine 5644ad6809 Fix hiliting of edit items 2015-03-20 04:29:35 -07:00
Scott Lahteine 63d5d28085 Merge branch 'Development' into config_testing
Latest upstream changes
2015-03-20 04:15:18 -07:00
Scott Lahteine 526a755a66 Merge pull request #1652 from AnHardt/PIDdebug
PID debug
2015-03-20 04:14:08 -07:00
Scott Lahteine a1c240b0a4 Delta supports some auto bed leveling options 2015-03-20 04:04:45 -07:00
Edward Patel 5112cf8422 Added comment for the EEPROM storage 2015-03-20 11:46:47 +01:00
Edward Patel 4619d80524 Merge branch 'Development' into manual-bed-leveling+mesh-bed-level 2015-03-20 11:45:06 +01:00
Scott Lahteine 199151a4ed Merge pull request #1650 from AnHardt/beautify
Beautivy statusscreen
2015-03-20 03:38:02 -07:00
Scott Lahteine 2424713a8f Merge pull request #1640 from AnHardt/warning6
codepos not used in gcode_M28()
2015-03-20 02:58:00 -07:00
Scott Lahteine b6d381f863 Divide up Conditionals to get LCD items early 2015-03-20 02:50:28 -07:00
AnHardt e85061d20d Added changes to the 'new' Configuration.h s 2015-03-20 10:36:29 +01:00
Scott Lahteine 33c7c6e11d Conditionals.h requires Arduino.h 2015-03-20 01:27:14 -07:00
Scott Lahteine 8ade04b78e Felix and Hephestos configs
- Not sure why these are showing as all new
2015-03-19 22:25:05 -07:00
Scott Lahteine 670006b919 Remove invariant code from Configurations
- Add `Conditionals.h` with calculated configuration values
- Add `SanityCheck.h` with checks for configuration errors
- Remove equivalent code from all configurations
- Move error checks from some sources to `SanityCheck.h` also
- Fix initialization of count_direction in stepper.cpp
2015-03-19 22:22:23 -07:00
Edward Patel a61f679568 Merge branch 'Development' into manual-bed-leveling+mesh-bed-level 2015-03-20 02:28:35 +01:00
Edward Patel c87faa69ed Shortened mesh_plan_buffer_line() 2015-03-20 02:18:49 +01:00
AnHardt 47c1ea72af Merge https://github.com/kieranc/Marlin into PIDdebug
Conflicts:
	Marlin/temperature.cpp

Cleaned merge conflict.

Codeposition had changed.
Variable pid_input had vanished.

Signed-off-by: AnHardt <github@kitelab.de>
2015-03-20 00:07:36 +01:00
AnHardt f1d3d1524d Merge branch 'optimize_menu_code' of https://github.com/thinkyhead/Marlin into beautify
Conflicts:
	Marlin/dogm_lcd_implementation.h

solved merge conflict.
2015-03-19 22:51:22 +01:00
Scott Lahteine 0858fba192 Merge pull request #1620 from thinkyhead/optimize_menu_code
Reduce size of menu code
2015-03-19 14:35:26 -07:00
AnHardt fa889cd6e1 Beautivy statusscreen
by shifting things some pixels around
2015-03-19 22:13:37 +01:00
Scott Lahteine 7279e4f82f Small code tweaks re lcd.print 2015-03-19 14:01:33 -07:00
Scott Lahteine 90ba61b9b8 Include indicator for new drawmenu_generic
In the new method we pass the character that should be used for
selected state, not the character to print always.
2015-03-19 13:49:06 -07:00
Scott Lahteine 15d29efad5 Pass sel to lcd_implementation_mark_as_selected
- Pass selected state directly to lcd_implementation_mark_as_selected
- Rename sel function parameter
- Include a minor fix for SdBaseFile.h
2015-03-19 13:40:36 -07:00
Scott Lahteine a547dc2148 Merge branch 'Development' into optimize_menu_code
Get upstream changes
2015-03-19 13:31:37 -07:00
CONSULitAS 9c1f6e7ac7 Merge remote-tracking branch 'upstream/Development' into Development 2015-03-19 18:49:34 +01:00
alexborro e650d4044e Fix "Stop Print" function in the LCD menu
When one hit "Stop Print" option in LCD menu, the command buffer was not
cleared. The printer keep moving until the buffer has been emptied.
Actually I could not clear the command buffer as well.. I don't know
why, it doesnt work as expected.
I need to implement a routine inside Stepper ISR to handle such
situation.
2015-03-19 14:16:18 -03:00
AnHardt eff6a2bd2e Clean out a warning
in ultralcd_implementation_hitachi_HD44780.h lcd_print( about array index.
2015-03-19 12:58:43 +01:00
AnHardt e917477fec Merge https://github.com/MarlinFirmware/Marlin into tm-utf-minus-kanji
Conflicts:
	Marlin/dogm_lcd_implementation.h
	Marlin/fonts/make_fonts.bat

Claerd conflicts with my own #1621. (His was easy. :-) )

corrected typo in fonts/README.fonts

Applied changes to the new delta-configurations
 and deletet there some extra whitespace at the line-endings.
2015-03-19 12:35:43 +01:00
AnHardt ae01a6b5f2 Make use of codepos.
Saves one addition.
Needs one pointer on the stack.

Don't know if this is a go trade.
2015-03-19 09:45:16 +01:00
Scott Lahteine a534ac197a Merge pull request #1621 from AnHardt/remove--6x9-font
Remove 6x9 font
2015-03-18 23:10:42 -07:00
Scott Lahteine 80e0ee10ca Merge pull request #1631 from AnHardt/iss1593
Decrease KILL_DELAY
2015-03-18 19:10:38 -07:00
Scott Lahteine 4ce79920e5 Merge pull request #1635 from AnHardt/warnings1
Negative times are unlikly
2015-03-18 19:10:12 -07:00
Scott Lahteine 76127b8a55 Merge pull request #1630 from Wurstnase/fix_g29
optional parameters must be named when ignoring order
2015-03-18 19:09:40 -07:00
Scott Lahteine be3f2dc1d9 Merge pull request #1636 from AnHardt/warning2
lcd_control_retract_menu() is conditional.
2015-03-18 19:09:05 -07:00
Scott Lahteine 8d396584bf Merge pull request #1637 from AnHardt/warning3
lcd_autostart_sd() has two conditions.
2015-03-18 19:08:33 -07:00
Scott Lahteine 8664c6d465 Merge pull request #1638 from AnHardt/warning4
delta[3] not used when DELTA not defined.
2015-03-18 19:07:55 -07:00
Scott Lahteine 10711ccc6a Merge pull request #1639 from AnHardt/warning5
G4 could wait for an undefined time
2015-03-18 19:07:14 -07:00
Edward Patel 28c91deb5c EEPROM saving of z_values.
Tried to make it a little intelligent.
2015-03-18 21:07:07 +01:00
Edward Patel 240b5cfe04 Merge branch 'Development' into manual-bed-leveling+mesh-bed-level 2015-03-18 19:19:46 +01:00
alexborro 4521f6655b Restore "S" parameter of M204 for retrocompatibility. 2015-03-18 12:19:30 -03:00
alexborro 5ddb8d94e2 Update Documentation related to M204 2015-03-18 11:09:10 -03:00
AnHardt f8c4d43886 delta[3] is used with SCARA
Shoot in the dark.
2015-03-18 12:14:49 +01:00
AnHardt 72a9fed4fb codepos not used in gcode_M28()
Got:
Marlin_main.cpp:2567: warning: unused variable 'codepos'

Needs revision.
Don't now how this should look like.
2015-03-18 11:41:14 +01:00
AnHardt b94dd33641 G4 could wait for an undefined time
Got:
Marlin_main.cpp:1689: warning: 'codenum' may be used uninitialized in this function

And indeed codenum is undefined when no parameter is given.
2015-03-18 11:23:41 +01:00
AnHardt e90985a4e8 delta[3] not used when DELTA not defined.
got:
Marlin_main.cpp:387: warning: 'delta' defined but not used

Compiles cleaner when definition is removed.
2015-03-18 11:11:49 +01:00
AnHardt 5099b86ad4 lcd_autostart_sd() has two conditions.
got:
ultralcd.cpp:408: warning: 'void lcd_autostart_sd()' defined but not used
2015-03-18 10:51:13 +01:00
AnHardt 5d81c779cc lcd_control_retract_menu() is conditional.
Got:
ultralcd.cpp:64: warning: 'void lcd_control_retract_menu()' declared 'static' but never defined
2015-03-18 10:39:59 +01:00
AnHardt 450b89e63c Negative times are unlikly
While bunting an other bug I stumbled across:
ultralcd.cpp:1250: warning: comparison between signed and unsigned
integer expressions
Changed to the type of lcd_next_update_millis.
2015-03-18 10:31:34 +01:00
AnHardt d1658eebfc Decrease KILL_DELAY
Users hat to press kill-button for unexpexted lon times.
See #1593
2015-03-18 01:45:42 +01:00
Wurstnase 00adb2a6c1 optional parameters must be named when ignoring order 2015-03-18 01:02:29 +01:00
Edward Patel 0d43898a22 Remove of mesh_plan_buffer_line parameter reference (e) 2015-03-17 22:55:29 +01:00
Edward Patel 8067a985ce Merge branch 'Development' into manual-bed-leveling+mesh-bed-level
Fixed conflicts:
	Marlin/planner.h
2015-03-17 22:48:08 +01:00
alexborro f5f99c4883 Merge pull request #1626 from Wurstnase/fix_backslash_macro
fix macro
2015-03-17 18:34:05 -03:00
wurstnase 05333f61b7 fix macro 2015-03-17 12:50:44 +01:00
AnHardt 1883e1bb60 Applied thinkyheads corrections from 2015-03-17 2015-03-17 11:23:44 +01:00
AnHardt be79235ef2 Add new (cleaner) Marlin font
with sources in /fonts
2015-03-17 10:33:02 +01:00
Scott Lahteine 89fe77468d Merge pull request #1586 from maverikou/delta_auto_bed_level
Delta auto bed level (Updated PR)
2015-03-16 18:17:11 -07:00
CONSULitAS 2b1ddc0413 Merge remote-tracking branch 'upstream/Development' into Development 2015-03-16 22:12:17 +01:00
alexborro cb676cdf39 Fix CoreXY homing bug introduced by PR #1606
The Check Endstop logic must be:

if (current_block->steps_x != current_block->steps_y || (TEST(out_bits,
X_AXIS) == TEST(out_bits, Y_AXIS)))
if (TEST(out_bits, X_HEAD))

not

if (TEST(out_bits, X_HEAD) && (current_block->steps_x !=
current_block->steps_y || (TEST(out_bits, X_AXIS) == TEST(out_bits,
Y_AXIS))))

Same applies for Y axis.
2015-03-16 16:31:25 -03:00
AnHardt 8a29dd4839 Cleaned typo in dogm_lcd_implementation.h 2015-03-16 20:18:48 +01:00
AnHardt 7e69f72db6 Moved font directory. Updated README.fonts 2015-03-16 17:27:27 +01:00
AnHardt 00b162a993 Merge remote-tracking branch 'origin/utf-kanji' into tm-utf-minus-kanji
Conflicts:
	Marlin/language.h
Conflict cleaned
2015-03-16 17:13:49 +01:00
AnHardt e38dd5f030 Merge remote-tracking branch 'origin/utf' into utf-kanji 2015-03-16 17:00:54 +01:00
AnHardt 08e4651ece Corrected cyrillic font again
Thank you @Nprod.
2015-03-16 16:59:14 +01:00
Wurstnase 752c804677 remove offset, add minimum scan area 2015-03-16 15:13:16 +01:00
Wurstnase 14f0250853 allow negative values
and some more comments
2015-03-16 14:26:59 +01:00
AnHardt e6cb8ee188 Remove 6x9 font
in dogm_lcd_implementation.h
by using standard font and
shifting down temperature displays by one pixel
Saves 2300 bytes.
2015-03-16 11:18:27 +01:00
maverikou e93eb3e8d3 Update test 2015-03-16 09:16:00 +02:00
maverikou b8ae3feb9e Update test 2015-03-16 09:03:15 +02:00
maverikou 3570447ded Fix Z_RAISE_AFTER_PROBING 2015-03-16 08:35:49 +02:00
maverikou 8a739b6fba Merge branch 'Development' into delta_auto_bed_level
Conflicts:
	Marlin/Marlin_main.cpp
2015-03-16 08:24:26 +02:00
Scott Lahteine cbe4496123 Merge pull request #1616 from thinkyhead/topo_map_origin
Move TOPO_ORIGIN define to Configuration.h
2015-03-15 22:55:54 -07:00
Scott Lahteine 7629c4f05c Cleanup for menu optimization
- Compare pr_char to space
- Fewer calls to lcd_strlen
2015-03-15 22:54:54 -07:00
Scott Lahteine 3405f85a6a Reduce size of menu code
- Get rid of _selected functions, passing selected state instead
2015-03-15 22:02:33 -07:00
Edward Patel e983a5ab92 Disable option. Enable for use/test. 2015-03-16 02:50:11 +01:00
Edward Patel f34b9c83d1 Added comment about MESH_NUM axis points. 2015-03-16 01:48:46 +01:00
Scott Lahteine a686c9878f Move TOPO_ORIGIN define to Configuration.h
- Addressing issue #1608
2015-03-15 15:49:36 -07:00
Edward Patel 8005d22c81 Added menu option for bed leveling. 2015-03-15 23:24:32 +01:00
Edward Patel 0e51e53813 WIP. Adding bed leveling code. 2015-03-15 23:24:32 +01:00
Scott Lahteine d0d12962e0 Merge pull request #1615 from AnHardt/fix-1611
Fix #1611
2015-03-15 15:19:02 -07:00
Scott Lahteine 3f34d9d44e Merge pull request #1614 from AnHardt/fix-1612
Fix for #1612
2015-03-15 15:18:24 -07:00
AnHardt f0dcea7e14 Fix #1611
Warning: suggest parentheses around comparison in operand of &

pretty much helped.
2015-03-15 22:52:50 +01:00
AnHardt 28b1c37dea Fix for #1612 2015-03-15 21:35:33 +01:00
CONSULitAS a8c1bdabd2 Update: readme.md for K8200 example
* readme.md: updated typo and URLs
2015-03-15 17:25:31 +01:00
AnHardt 2f374f1465 Removed Kanji. 2015-03-15 16:44:37 +01:00
Scott Lahteine 5efc798642 Merge pull request #1546 from apollo-ng/pr-felix
Added support for Felix 2.0/3.0 printers
2015-03-15 07:52:22 -07:00
Scott Lahteine b83e52e50f Merge pull request #1467 from thinkyhead/marlin_configurator
Configurator utility
2015-03-15 07:49:19 -07:00
Scott Lahteine 7bc77dc134 Merge pull request #1583 from galexander1/m404fix
M404 should not use 'N' address as parameter because 'N' is reserved
2015-03-15 07:47:30 -07:00
Scott Lahteine 3aadaa7677 Merge pull request #1609 from thinkyhead/fix_fan_pin_issue
Fix controllerFan() code
2015-03-15 07:33:34 -07:00
Scott Lahteine b80ed51fcc Fix controllerFan() code
- Add support for 4th extruder
- Fix parentheses matching
- Apply coding standards
- Address issue mentioned at #1575
2015-03-15 06:55:31 -07:00
Scott Lahteine 4b50205f11 Merge branch 'Development' into marlin_configurator
Latest upstream changes
2015-03-15 06:37:32 -07:00
Scott Lahteine bb4cb1b15a Merge pull request #1606 from thinkyhead/cleanup_stepper
Cleanup of stepper.cpp
2015-03-15 06:05:08 -07:00
Scott Lahteine 63f41f56f8 Merge pull request #1607 from chris-bo/Development
Update ultralcd_st7920_u8glib_rrd.h
2015-03-15 01:04:40 -07:00
Scott Lahteine 4eabd80025 Fix babystep for extruder_duplication 2015-03-14 18:31:25 -07:00
alexborro d3259d0dba Merge pull request #1581 from msutas/Development
Filament Runout Sensor Feature
2015-03-14 18:35:20 -03:00
AnHardt 25c4f17e5d Corrected Cyrillic fonts. Round II. 2015-03-14 15:10:45 +01:00
chris-bo b73ba26b23 Update ultralcd_st7920_u8glib_rrd.h 2015-03-14 14:31:00 +01:00
Scott Lahteine 901c3c5392 Merge pull request #1603 from thinkyhead/issue_1523_compiler_error
Simplify manage_heater
2015-03-14 05:20:18 -07:00
Scott Lahteine c37f7d15c9 - Rename WRITE_E_STEP for consistency
- Add BIT and TEST macros
- Add _APPLY_ macros to stepper.cpp to help with consolidation
- Consolidate code in stepper.cpp using macros
- Apply standards in stepper.cpp
- Use >= 0 instead of > -1 as a better semantic
- Replace DUAL_Y_CARRIAGE with Y_DUAL_STEPPER_DRIVERS
2015-03-14 04:28:22 -07:00
AnHardt 44a205d9d9 Corrected Cyrillic fonts.
Cleaned typo in language_test.h Cyrillic part.
2015-03-14 12:27:47 +01:00
chrono 4d878b9bac Fixed path typos in README 2015-03-14 10:18:12 +00:00
chrono 12ec557a75 Added DEFAULT_TRAVEL_ACCELERATION 2015-03-14 10:14:13 +00:00
chrono 1d25d510bc Upstream Merge Fixes 2015-03-14 09:48:30 +00:00
chrono a89d690b77 Merge remote-tracking branch 'upstream/Development' into pr-felix 2015-03-14 09:25:43 +00:00
Scott Lahteine cb57fc727d Declare pid_output for PIDBEDTEMP 2015-03-13 20:19:51 -07:00
Scott Lahteine 3d6deb9bdf Simplify manage_heater
- Make separate get_pid_output(e) and get_pid_output_bed() function
- Reduce size of manage_heater function
- Hopefully work around linker errors
2015-03-13 19:49:41 -07:00
AnHardt 730497aaa1 Make use of ligatures in language_kana_utf8.h 2015-03-13 19:47:40 +01:00
AnHardt 3240d89f7d Logic cleanup in utf_mapper. 2015-03-13 19:45:10 +01:00
alexborro 2f3c77b751 Fix decimal places in G29 Bed Equation Coeficients 2015-03-13 14:39:41 -03:00
AnHardt ace3c62a1c Argh! Did not hit save 2015-03-13 15:26:01 +01:00
AnHardt bfb8a53156 Documentation reformating
The last for today - i hope.
2015-03-13 15:23:30 +01:00
AnHardt 1feb71895b And an other one 2015-03-13 15:16:55 +01:00
AnHardt 9518b1c873 And another update for the documentation. 2015-03-13 14:59:53 +01:00
AnHardt d9b3232e94 Another update for the documentation. 2015-03-13 14:55:15 +01:00
AnHardt 09838dc948 reformat documentation 2015-03-13 14:46:15 +01:00
AnHardt 96f8d20f2f Change selection logic another time
Automatic selection was to unflexible.

Updated documentation

Updated language files to new logic and documentation.

Updated bdf2u8g.exe
2015-03-13 14:26:58 +01:00
Wurstnase 76da32b567 add hash-bang for python3 2015-03-13 07:44:20 +01:00
Wurstnase 2e7ba44633 some renaming for readability 2015-03-13 07:31:27 +01:00
Scott Lahteine 352aa3f4c5 Merge branch 'Development' into marlin_configurator
Latest upstream
2015-03-12 17:12:51 -07:00
Scott Lahteine 196db5720e Merge pull request #1598 from thinkyhead/temp_errors
Fix missing temp_error declarations
2015-03-11 22:18:49 -07:00
Scott Lahteine e3ca9137b5 Fix missing temp_error declarations
- Fix for #1591 replacing #1595
2015-03-11 16:38:42 -07:00
Wurstnase 0620267ebb g29 auto-mode for the new G29 LRFB
short:
this script scans the first few lines from a gcode. If the line between 2 different z are greater than min_g1 this is our first layer. On this layer we search the min and max values of X and Y. With an offset we write that in a new file.
2015-03-11 23:53:28 +01:00
Wurstnase 3898ace246 Merge pull request #2 from MarlinFirmware/Development
actual
2015-03-11 23:47:41 +01:00
Scott Lahteine 08694339eb Merge branch 'Development' into marlin_configurator
Conflicts:
	Marlin/Configuration.h
2015-03-11 15:47:32 -07:00
Scott Lahteine e4d77a6313 Merge pull request #1554 from 2PrintBeta/Development
Macro indirection for stepper drivers + Support for TMC26X and L6470 Stepper Drivers
2015-03-11 15:31:57 -07:00
Mehmet Sutas b373826428 Merge pull request #2 from MarlinFirmware/Development
update
2015-03-12 00:07:39 +02:00
AnHardt 5bafb1fe1f Add user test to language_test.h and make it default.
Improve description in Configuration.h
2015-03-11 20:46:52 +01:00
alexborro c0b6075f77 Fix max acceleration limits in planner
The max acceleration limiting was in wrong place.
2015-03-11 15:08:11 -03:00
Bo Herrmannsen c7067edddf initial empty change log 2015-03-11 18:56:46 +01:00
alexborro 9157cbd8f3 Add Travel Acceleration and change the M204 options
Added option to set Travel Acceleration (non printing moves).
The M204 options was a non sense (S for printing moves and T for retract
moves).

It has been changed to:
P = Printing moves
R = Retract only (no X, Y, Z) moves
T = Travel (non
printing) moves

I will add this info o G-Code wiki in reprap.org. I also advise to put
this info in Marlin next version changelog.
2015-03-11 13:19:02 -03:00
alexborro 888cf161bd fix travel speed option for G29
I forgot to enclousure the variable with #ifdef
2015-03-11 10:03:32 -03:00
alexborro af63b54562 Add travel speed option to G29 command line 2015-03-11 09:51:56 -03:00
AnHardt 817751d4b9 Added new languages, the Cyrillic display and a test language to find out your hardware. 2015-03-11 11:10:35 +01:00
AnHardt c4b0087f7a Insert utf_mapper.h
Top -> down
- Decide what output function is to use.
- Precautions. If non of the DISPLAY_CHARSET_HD44780's is selected fall back to Japanese.
- When we are not on the dogms setup a mapping table depending on display type and mapper.
- If we are on dogm we use ONE To ONE mapping - except kanji.
- select and define one of the mapping functions.
2015-03-11 10:55:16 +01:00
AnHardt b60761bcff Removed some messages that shouldn't be translated in the Japanese files.
And made falback to kana work.
2015-03-11 10:30:38 +01:00
Bo Herrmannsen 749e5b9b84 updated milestone link 2015-03-11 10:30:03 +01:00
AnHardt 97ae3c5c6a Corected some errors inrtoduced by a faild global replacement. 2015-03-11 10:26:36 +01:00
Bo Herrmannsen 33fe89f539 removed irc archive link
removed the link as the software i had did not work, nor does anyone hardly use irc chat but just hang out there
2015-03-11 10:24:56 +01:00
AnHardt ae76b1e8a8 Changes in dogm_lcd_implementation.h in detail.
Top -> down
- We don't need the old Marlion_font package any more - we made new.
- But we need information about configured fonts and the mappers.
- We support Cyrillic now.
- LCD_CLASS is not used in this file. LiquidCrystalRus.h is deleted anyway.
- define some fonts
- BIG_EDIT_FONT works only together with western languages.
- Select a matching FONT for the MENUE depending on the defined language.
- Number the different font-types. Wanted to avoid to store complete font-structures when changing fonts back and forth.
- Marlin special symbols are now at the lower end - like in 'ultralcd_implementation_hitachi_HD44780.h'
- insert the new remembering setFont function.
- insert the new counting lcd_print functions.
- make use of the new setFont and lcd_print functions.
- On some places redefined one character long strings with chars to avoid overhead and reduce warnings.
2015-03-10 22:34:56 +01:00
alexborro 5bf42066fa Fix typo in configuration.h 2015-03-10 15:06:34 -03:00
alexborro 8a4b62d081 Set more regular setup in configuration.h 2015-03-10 14:41:21 -03:00
AnHardt 255ca68123 Changes in ultralcd_implementation_hitachi_HD44780.h in detail
Top -> down:
We don't need LiquidCrystalRus.cpp and LiquidCrystalRus.h any more. Functionality is now in utf_mapper.h
Comment on LCD_STR_BEDTEMP about behaviour in strings.
Change LCD_STR_ARROW_RIGHT from "\x7E" to ">" because "\x7E" is only ARROW_RIGHT on displays with DISPLAY_CHARSET_HD44780_JAPAN.
Introduce the counting UTF8 enabled lcd_print functions.
Replace the old lcd.print functions and make use of them.
A bit of reformatting around the changes.
2015-03-10 18:30:09 +01:00
alexborro 60ceca1bc1 Add speed configuration for home-bumping movement 2015-03-10 14:08:32 -03:00
AnHardt 6fc2ccd568 Make use of new remenbering fontswitch. 2015-03-10 18:04:03 +01:00
AnHardt 0f26f3abf2 Add a test_language.
Will show the compleet utf8 or ASCII charset
To se the second half of ASCII click on "01234..."
2015-03-10 17:59:28 +01:00
AnHardt 6d575b1bc7 Add some documentation. 2015-03-10 17:55:59 +01:00
AnHardt 901cf203fe Add legal stuff to marlin_kanji.h 2015-03-10 17:49:16 +01:00
AnHardt 2d5134b0ed Introduce - clean - prepae language files 2015-03-10 17:46:25 +01:00
domonoky d813090d90 Merge remote-tracking branch 'remotes/upstream/Development' into Development
Conflicts:
	Marlin/Marlin_main.cpp
	Marlin/stepper.cpp
2015-03-10 10:46:37 +01:00
Scott Lahteine c321c97f35 Merge pull request #1584 from galexander1/stringcleanup
fix a handful of cases where strtod() was cast to int, instead of just using strtol()
2015-03-10 01:48:30 -07:00
maverikou 53abc5e2f1 Merge branch 'Development' into delta_auto_bed_level 2015-03-09 22:28:57 +02:00
Mehmet Sutas 956fb2d278 Merge pull request #1 from MarlinFirmware/Development
update
2015-03-09 11:05:49 +02:00
Scott Lahteine 978dadf806 Base64 decode AJAX-fetched text properly 2015-03-08 21:54:17 -07:00
Scott Lahteine 0eae9c24bc Merge pull request #1582 from galexander1/deltaconftypo
fix typo in delta example config introduced in commit 697ee2d
2015-03-08 21:13:14 -07:00
Scott Lahteine 624f23f550 Merge pull request #1575 from Wurstnase/fix-controllerFan
Fix controller fan
2015-03-08 20:36:38 -07:00
maverikou 424c747fb3 Enable M401 and M402 for deltas with allen key z-probes. 2015-03-08 09:57:38 +02:00
maverikou 0d593ab7c1 Fix debug message 2015-03-08 09:41:31 +02:00
Greg Alexander 3e8c5678f5 fix bug where, i.e., "G1X1E1" would be interpretted as "G1 X10 E1",
because strtod() will read the E address value as if it was a base 10
exponent.
2015-03-07 21:14:34 -05:00
Greg Alexander ed7874b4e0 M404 should not use 'N' address as parameter because 'N' is reserved for the line number 2015-03-07 17:35:06 -05:00
Greg Alexander b9dfa5cad4 use code_value_long() instead of (int)code_value() 2015-03-07 17:33:15 -05:00
Greg Alexander 901b03d020 use strtol() instead of strtod() when an integer value is desired 2015-03-07 17:24:26 -05:00
Greg Alexander 4fba7b084f fix typo in delta example config introduced in
commit 697ee2dc50
2015-03-07 16:43:41 -05:00
Mehmet Sutas cfc6a3a87a Filament Runout Sensor Feature
With this change a mechanical or optical switch may be used to check the
availability of the filament and when the filament runs out an M600
(filament change) command is issued. This is only done while printing
with an SD card.

This feature was requested several times (issue #679), but the requests
were not accepted since it was believed that this situation should be
handled at host side. However during an SD print the control is totally
on firmware and I think that during an SD print it should be handled by
the firmware.

The original code was posted at reprap forum
(http://forums.reprap.org/read.php?1,297350) by Lazymonk. I have only
corrected some bugs of the code and improved it by adding definitions to
the configuration.h in order to make it more standardized.
2015-03-07 22:43:15 +02:00
maverikou e6862700af Add Z_RAISE_AFTER_PROBING to all config files 2015-03-07 20:55:30 +02:00
maverikou 39d255608d Test an extra delta configuration with auto bed leveling code paths 2015-03-07 20:53:23 +02:00
maverikou 7c24b97958 Ported over Johann Rocholl's improvements for delta printers:
- Nonlinear auto bed leveling code (includes G29, G30, Z_RAISE_AFTER_PROBING). Cleaned it up to be a delta-specific AUTO_BED_LEVELING_GRID code path.
- Allen key z-probe deployment and retraction code. Cleaned it up and added safety checks.
2015-03-07 20:36:21 +02:00
Wurstnase a5342c942e Update Marlin_main.cpp 2015-03-07 16:47:53 +01:00
Scott Lahteine 0f3b7d5575 Update annotated configurations
- Also update base configs
2015-03-07 01:07:40 -08:00
Scott Lahteine c5aa56bc4d Merge branch 'Development' into marlin_configurator
Latest upstream commits
2015-03-06 23:00:03 -08:00
Scott Lahteine 9dccd3a94f Merge pull request #1579 from thinkyhead/fix_abl_issues
More sanity-checking for ABL
2015-03-06 22:50:03 -08:00
Scott Lahteine d085725c86 More sanity-checking for ABL
- Moved sanity-checks to Marlin_main.cpp
- Applied to other configuration files
- Fixed formatting of ABL output
- Passing verbose level to probe_pt
- Miscellaneous cleanup
- Put CONFIG_STEPPERS_TOSHIBA into Configuration.h
2015-03-06 22:14:34 -08:00
Scott Lahteine 8b6766b37b Merge branch 'Development' into marlin_configurator
Latest upstream changes
2015-03-06 16:32:57 -08:00
Scott Lahteine ca4b36deda Merge pull request #1578 from thinkyhead/require_lcd_style
Make sure a ROM is selected for ULTRA_LCD
2015-03-06 15:38:24 -08:00
Scott Lahteine 9eed8c8cf0 Make sure a ROM is selected for ULTRA_LCD 2015-03-06 15:37:54 -08:00
AnHardt 7136268273 Added 'dogm_font_data_6x10_marlin_Kanji.h'
This is copied from http://www.thingiverse.com/thing:664397

// Japanese Original font
// Version 0.1 by ichibey
//
// 営利目的で利用する際は、かならず許可を得てください。非営利の場合は、CCライセンスに従い使用ください。
// http://creativecommons.org/licenses/by-nc/2.1/jp/legalcode

This font is very special. It uses a mixture of katakana an kanji symbols, uses multi character symbols and is only addressable by '\xxx' sequences.
2015-03-07 00:26:28 +01:00
AnHardt 16e173e167 Added 5 new font.h files to main directory.
The former place of 'dogm_font_data_6x9_marlin.h' was in 'dogm_font_data_m0arlin.h'.

Deleted 'dogm_font_data_marlin.h'.
2015-03-07 00:09:49 +01:00
Scott Lahteine 254970c92a Merge pull request #1570 from C-o-r-E/escape_fix
Fixes gCode handling of comments and escaped characters
2015-03-06 15:09:35 -08:00
Scott Lahteine d3660d22ae Merge pull request #1577 from thinkyhead/fix_gcode_g29
Fix compile error in gcode_G29
2015-03-06 14:55:05 -08:00
Scott Lahteine 25dc79f124 Remove M48 credits also 2015-03-06 14:54:30 -08:00
Scott Lahteine 34e51f576f Fix compile error in gcode_G29
- A redo of #1576, which missed topo_flag
- Always set verbose_level
2015-03-06 14:52:05 -08:00
AnHardt b14270b029 Added font tools 2015-03-06 23:48:55 +01:00
AnHardt fe2bd237d5 Add font sources.
Fonts have been created with fony.exe (http://hukka.ncn.fi/?fony)

The HD44760_? fonts simulate the fonts of the character based displays.
The ISO10646 fonts provide the right size of the standard fonts.
Marlin_symbols contains only the the special symbols of the original marlin font.
2015-03-06 23:36:56 +01:00
Scott Lahteine bbeb1117d4 Merge pull request #1572 from Wackerbarth/Issue1572
Minor typos in the README
2015-03-06 10:10:40 -08:00
Scott Lahteine 344a12bd10 Merge pull request #1571 from AnHardt/Undubble
Undubble MSG_MIN & MSG MAX
2015-03-06 10:08:19 -08:00
Scott Lahteine 1149c24b86 More grouping, cleanup, start on overrides 2015-03-06 08:48:53 -08:00
Wurstnase 62bd734612 fix controllerFan() for inverted enable pins
add ```^ !(n_ENABLE_ON)``` for each stepper
2015-03-06 12:01:17 +01:00
Richard Wackerbarth fd9beb1672 Minor typos in the README 2015-03-05 22:03:21 -06:00
AnHardt 3024f6c706 Undubble MSG_MIN &MSG MAX 2015-03-06 00:25:44 +01:00
Corey C ba27f90e36 Merge pull request #1 from foosel/C-o-r-E-escape_fix
In-line comments and escaping fixed by foosel
2015-03-05 17:50:41 -05:00
Gina Häußge 63b62d8d4e Fixed in-line comments and escaping
* "G1 X1 ; test" was not executing "G1 X1" due to never leaving comment mode.
  * "M117 Hello \;)" printed "Hello \" to the display due to not replacing serial_char properly.

Tested with the following commands:
    * M117 Hello ; test => displays "Hello" on display, ignores "test"
    * G1 X1 ; foo => moves 1mm in X, ignores "foo"
    * ; test => completely ignored, not even acknowledged
    * M117 Hello \;) => displays "Hello ;)" on display
    * M117 Hello \\;) => displays "Hello \" on display, ignores ")"
2015-03-05 23:30:34 +01:00
C-o-r-E 99fb1bc3e8 Attempt to resolve #1568 and add basic escape character support 2015-03-05 15:22:37 -05:00
Wurstnase 92ebb7f4c8 Merge pull request #1 from MarlinFirmware/Development
dev pull
2015-03-05 17:51:33 +01:00
Scott Lahteine fad14ae7eb Merge branch 'Development' into marlin_configurator
Latest upstream changes
2015-03-05 05:32:31 -08:00
Scott Lahteine 273d00353f Merge pull request #1565 from thinkyhead/gcode_handler_functions
Gcode handlers to inline functions
2015-03-05 04:55:46 -08:00
Scott Lahteine cdc38aa783 Move gcode handlers into inline functions 2015-03-05 04:27:24 -08:00
Scott Lahteine 94fd8c7555 Merge pull request #1556 from thinkyhead/enhanced_g29
Enhanced G29
2015-03-05 03:54:53 -08:00
Scott Lahteine 6d9e9a6bef Merge branch 'Development' into enhanced_g29
Latest upstream changes
2015-03-05 02:49:18 -08:00
Scott Lahteine 4db2179f5c Include 4th extruder support 2015-03-05 02:37:36 -08:00
Scott Lahteine 0e074d4050 Merge pull request #1561 from OhmEye/Development
Fix autoretract
2015-03-05 02:14:34 -08:00
OhmEye f90a947e65 Fix autoretract
Autoretract was broken, looks like it was overlooked when the retracted flag was updated for multi extruders.
2015-03-04 20:28:08 -10:00
Scott Lahteine 2ef6b3d57a Fix wrong defines, broken syntax 2015-03-04 22:24:44 -08:00
OhmEye f3f04e9fd6 Merge pull request #1 from MarlinFirmware/Development
Sync with upstream
2015-03-04 20:23:10 -10:00
Scott Lahteine 08b722b635 Merge pull request #1555 from C-o-r-E/solenoids
Add support for solenoid articulated extruders
2015-03-04 21:36:29 -08:00
Scott Lahteine 32744d41a9 Do sanity checking on LRFB values
- Setting boundaries based on configured limits, contrasting with G28
(which forgets these limits?)
2015-03-04 21:32:11 -08:00
chrono 0a7d85c20e Minor fixes 2015-03-04 12:35:32 +00:00
chrono 48e3a97a18 Removed extra encoder definitions from pins_FELIX2.h 2015-03-04 12:21:18 +00:00
Scott Lahteine d052a3c6aa Merge pull request #1551 from thinkyhead/redundant_encrot
Cleanup rotary encoder encrot* defines
2015-03-04 03:22:24 -08:00
chrono d8eeddfb93 Updated DUAL Extruder config, added README and enabled NEWPANEL by default 2015-03-04 09:59:58 +00:00
Wurstnase 81a6e59a82 Merge branch 'Development' of https://github.com/Wurstnase/Marlin into Development 2015-03-03 22:18:14 +01:00
chrono b423b90c77 Added Configuration_adv.h to examples for LCD/SD Support 2015-03-03 19:09:25 +01:00
domonoky 075507fb9a missed one X_ENABLE_PIN 2015-03-03 11:09:56 +01:00
Scott Lahteine dfb38874f8 Some suggested changes for #1555 2015-03-03 00:48:20 -08:00
chrono 32eef03b58 Unfelixed README again 2015-03-03 08:12:42 +01:00
Scott Lahteine 7f8ea7105f Arrange ProbeAction values bitwise 2015-03-02 20:14:37 -08:00
Scott Lahteine 7684721977 Enhanced G29
- Adapted “Enhanced G29” code referred to in #1499 and posted at
[3dprintboard.com](http://3dprintboard.com/showthread.php?3105-Auto_Bed_
Leveling-Enhanced-G29-command)
- Compatible with current G29 while adding some new arguments
  - `V` sets the verbose level for serial out
  - `T` (or `V` > 2) send a Topology report to serial out
  - `E` works the same way as before
  - `P` works as before (source used `n` or `U`/`u`)
  - `L`, `R`, `B`, `F` work as before
- Still needs sanity checking for `LRBF`
2015-03-02 20:00:17 -08:00
C-o-r-E 874d3d3fc5 Add support for solenoid articulated extruders 2015-03-02 20:07:12 -05:00
chrono 7540a81106 Minor fixes 2015-03-02 22:55:00 +01:00
domonoky e363428c54 New attempt at copying the libraries. 2015-03-02 19:00:02 +01:00
domonoky bcb57f13ea try to fix path to additional libraries. 2015-03-02 18:55:30 +01:00
domonoky e3d92b9168 Try to fix the travis build, which is failing because conditional includes do not work in .ino files for the ino processor ? 2015-03-02 18:45:58 +01:00
chrono c13d81ce15 Merge branch 'Development' into pr-felix 2015-03-02 17:21:39 +00:00
chrono a375d648c7 Merge remote-tracking branch 'upstream/Development' into Development 2015-03-02 17:21:05 +00:00
domonoky 4a7aca2736 Merge remote-tracking branch 'remotes/upstream/Development' into Development 2015-03-02 17:52:12 +01:00
alexborro 715104e477 Fix Endstop check for CoreXY bots.
The X_Axis could not home to min while Y_Max endstop was trigged.
2015-03-02 13:36:58 -03:00
Scott Lahteine e428e8da75 Merge pull request #1552 from thinkyhead/cleanup_cardreader
Cleanup of cardreader.*
2015-03-02 07:57:26 -08:00
Scott Lahteine 20e59dc61e Don't skip files starting with underscores 2015-03-02 07:56:11 -08:00
Scott Lahteine f171656f8e Cleanup of cardreader.*
- Apply standards to cardreader.*
- Fix minor issues with cardreader.cpp
- Apply standards to some other stale regions
2015-03-02 07:06:01 -08:00
Scott Lahteine f379edca78 Cleanup rotary encoder encrot* defines
The encrot values are used in only one place, and don’t vary, so remove
redundant references.
2015-03-02 06:42:48 -08:00
Scott Lahteine c7cdb176c8 Merge branch 'Development' into marlin_configurator
Latest upstream changes
2015-03-02 06:13:10 -08:00
chrono 187d336665 Revert default conf and temperature.cpp 2015-03-02 13:56:37 +00:00
chrono 7f060d7caf Revert "Testing Fix for Arduino 1.6+ compiler issue #1523"
This reverts commit fb75a9272d.
2015-03-02 13:47:35 +00:00
Scott Lahteine 49f471a5fc Merge pull request #1541 from thinkyhead/fixup_temperature
Cleanup of temperature code
2015-03-02 05:38:10 -08:00
Scott Lahteine f2710e11d1 Optimize initial loading, code cleanup 2015-03-02 05:23:36 -08:00
chrono fb75a9272d Testing Fix for Arduino 1.6+ compiler issue #1523 2015-03-02 10:45:54 +00:00
chrono 558c6313f7 Merge branch 'pr-felix' into Marlix 2015-03-02 10:27:58 +00:00
chrono 08bc723a3c Enable PIDBED 2015-03-02 10:26:42 +00:00
chrono e487bd642b Updated PR to streamline integration 2015-03-02 09:49:45 +00:00
Scott Lahteine 2eeb241b42 Find fields that group together
- Do field grouping
- Tweak configurations for better grouping
2015-03-02 01:45:53 -08:00
Scott Lahteine 9377089c43 Merge pull request #1548 from thinkyhead/issue_1547_bed_leveling
Fix undefined *_PROBE_BED_POSITION error
2015-03-01 20:01:38 -08:00
Scott Lahteine e30bfedce4 Fix undefined *_PROBE_BED_POSITION error 2015-03-01 19:57:35 -08:00
chrono 875812d346 Updated package info 2015-03-01 11:15:17 +01:00
chrono 3eafea840d Minor fixes in Configuration.h 2015-03-01 11:04:02 +01:00
chrono c7fb1b70f2 Initial Configuration.h for Felix 2.0/3.0 2015-03-01 09:54:36 +00:00
chrono 2e172f38bd Added support for Felix 2.0/3.0 printers 2015-03-01 09:16:55 +00:00
Scott Lahteine f994729999 Parse and use dependent groups
- Parse #if, #ifdef, etc. for rules to enable fields
2015-02-28 22:40:20 -08:00
Scott Lahteine b869476e99 Merge pull request #1545 from maverikou/panel_one_encoder
Panel One encoder pins
2015-02-28 05:32:56 -08:00
maverikou 9b50ec6512 Panel One encoder pins 2015-02-28 10:52:15 +02:00
Scott Lahteine 838a22de64 Fix switch value method, make app global 2015-02-27 21:08:09 -08:00
Scott Lahteine 8d5839151b Merge branch 'Development' into marlin_configurator
Latest upstream changes
2015-02-27 20:40:23 -08:00
domonoky 443e7edef4 - Add support for L6470 Drivers.
- Both TMC, L6470 and pin-driven drivers work.
- All can be mixed and matched as needed.
2015-02-27 12:43:23 +01:00
Scott Lahteine 1db02c2891 Merge branch 'Development' into fixup_temperature
Merge upstream changes
2015-02-26 17:25:28 -08:00
Scott Lahteine a99470fbb0 Merge pull request #1527 from maverikou/panel_one
Added support for PanelOne from T3P3.
2015-02-26 16:01:13 -08:00
domonoky 5727cb3ed4 Cleanup TMC Stepper a bit. 2015-02-26 12:57:46 +01:00
Scott Lahteine a5bbd402bf Merge pull request #1539 from AnHardt/dummysensor
Extend the idea of dummy temperature sensors.
2015-02-26 01:29:14 -08:00
Scott Lahteine 1a7b0d9a37 Redo HAS_* macros to fix define error 2015-02-26 01:14:59 -08:00
Scott Lahteine 864dddc878 Macros to the top, a few HAS_* macros 2015-02-26 00:33:30 -08:00
alexborro 227ab8c665 Merge pull request #1503 from MarcelMo/patch-2
Support for simple customisable AutoZProbing area
2015-02-25 13:22:42 -03:00
Scott Lahteine fd1ea9d56f Move literal strings to language files 2015-02-24 23:03:08 -08:00
maverikou 8742b6bd56 Merge branch 'Development' into panel_one 2015-02-24 22:24:57 +02:00
Scott Lahteine aa9c1f1bed Better name for ADC macro 2015-02-24 05:38:10 -08:00
Scott Lahteine 9c9726d469 Cleanup of temperature code
- Reduce calls to millis()
- General cleanup of manage_heaters
- General cleanup of pid autotune
- Formatting here & there
- Macros to clean up and shrink ISR code (reduced by ~364 lines)
2015-02-24 04:46:11 -08:00
AnHardt c6d2ebe452 Extend the idea of dummy temperature sensors.
Added a second sensor and made them configurable.
2015-02-24 11:02:16 +01:00
Scott Lahteine e6af82ba2f Merge pull request #1526 from thinkyhead/cleanup_ultralcd
Cleanup and fix ultralcd.cpp
2015-02-23 21:22:54 -08:00
Scott Lahteine c9a3eb0c1a Spacing in calculate_volumetric_multiplier(s) 2015-02-23 20:35:18 -08:00
Scott Lahteine 2af559cca3 Shared function for menu_edit_* and menu_edit_callback_* 2015-02-23 20:31:28 -08:00
Scott Lahteine 7ec391e689 Merge branch 'Development' into marlin_configurator
Latest upstream changes
2015-02-23 20:21:40 -08:00
Scott Lahteine df8c51528f Merge branch 'Development' into cleanup_ultralcd
Latest upstream changes
2015-02-23 20:13:08 -08:00
Scott Lahteine 517f411999 Spacing adjustment to menu_edit* macro 2015-02-23 20:11:52 -08:00
Scott Lahteine 4938ae5caf Add required backslash for macro expansion 2015-02-23 20:10:49 -08:00
Scott Lahteine e182cdebf9 Add required backslash for macro expansion 2015-02-23 19:54:07 -08:00
Scott Lahteine adbb839b16 Merge pull request #1535 from gege2b/Development
Corrected a typo in ArduinoAddons/Arduino_1.5.x/(...)/boards.txt
2015-02-23 19:51:44 -08:00
Scott Lahteine fa4c36df68 Fix menu callback issue wrt LCD_CLICKED 2015-02-23 19:40:57 -08:00
Scott Lahteine 0cf0c20532 Optimize calculate_volumetric_multiplier 2015-02-23 18:10:35 -08:00
domonoky 38500165ea First attempt at adding TMC Driver support. May need some cleanup. 2015-02-23 17:45:29 +01:00
domonoky b55995aae8 Introduce a layer of macro indirection to all stepper pins. This allows other stepper drivers to redefine them, so they can use SPI/I2C instead of direct pin manipulation. 2015-02-23 16:12:35 +01:00
Gege2B b4e9395661 Corrected a typo in ArduinoAddons/Arduino_1.5.x/(...)/avr/boards.txt about Sanguino 2015-02-23 16:02:04 +01:00
kieranc 8ccdac9898 Enable PID debugging for heated bed 2015-02-23 09:42:01 +01:00
kieranc 29097b0ab2 Enable PID debugging for heated bed 2015-02-23 09:41:25 +01:00
kieranc 21bd4fd6db Enable PID debugging for heated bed 2015-02-23 09:40:53 +01:00
kieranc fb56aad898 Enable PID debugging for heated bed 2015-02-23 09:40:29 +01:00
kieranc 08c543f8fb Enable PID debugging for heated bed 2015-02-23 09:40:06 +01:00
kieranc c89413db1e Enable PID debugging for heated bed 2015-02-23 09:39:39 +01:00
kieranc 1c71e4751a Enable PID debugging for heated bed 2015-02-23 09:39:07 +01:00
maverikou a9e15aa503 Updated example configurations 2015-02-22 20:15:05 +02:00
Scott Lahteine 3ba47ea277 Remove test/demo multi=line code menu items 2015-02-22 10:10:37 -08:00
Scott Lahteine c1240f23dd Merge branch 'Development' into marlin_configurator
Latest upstream changes
2015-02-22 10:02:25 -08:00
alexborro a57869ba49 Dummy Thermistor Table for testing purposes
Am I the only one who always need to change the thermistortable.h to add
a dummy table??
Ok, it is done. Just set the thermistor to 999 and it will always read
25C. Great for Testing or Development purposes.
2015-02-22 11:02:04 -03:00
Maverikou 2e166f5337 Added support for PanelOne from T3P3. 2015-02-22 09:14:43 +02:00
Scott Lahteine 40ef472a25 Merge in encoder multiplier 2015-02-21 20:18:49 -08:00
Scott Lahteine c3c50528e6 Merge pull request #1521 from thinkyhead/fixup_encoder_code
Encoder multiplier - revised code
2015-02-21 19:44:53 -08:00
Scott Lahteine 1c13cd604b Formatting in babysteps defines 2015-02-21 18:45:10 -08:00
Scott Lahteine 3a26804d80 Adapt to latest PID code and fix typos 2015-02-21 18:41:04 -08:00
Scott Lahteine 422582da71 Prep formatting for upcoming PR 2015-02-21 18:24:16 -08:00
Scott Lahteine 27ac3e985d Add options to example_configurations 2015-02-21 18:17:37 -08:00
Scott Lahteine 0d6a7a2df0 Merge with latest upstream changes 2015-02-21 18:13:31 -08:00
Scott Lahteine c7a97e18b7 Merge branch 'Development' into cleanup_ultralcd
Latest upstream changes
2015-02-21 18:04:08 -08:00
Scott Lahteine 6d5c13df74 Merge pull request #1520 from thinkyhead/fixup_temperature
Fix typos in checkExtruderAutoFans
2015-02-21 17:53:26 -08:00
Scott Lahteine 5b9e341222 Merge pull request #1516 from thinkyhead/fixup_ramps
Cleanup ramps boards
2015-02-21 17:51:57 -08:00
Scott Lahteine 57bc28b42c Cleanup and fix ultralcd.cpp
- Fix bug in lcd_control_temperature_menu
- Remove test menu-item left in from multi-line command feature
- Replace literals with translatable strings
- Reduce lcd_preheat code redundancy
- Reduce menu macro redundancy
- Clean up formatting
2015-02-21 17:38:56 -08:00
Scott Lahteine 4fcd4b444e Merge pull request #1519 from thinkyhead/fix_recent_issues
Fix implementation of PID menu items
2015-02-21 16:43:11 -08:00
Scott Lahteine 9c35ed149d Merge pull request #1508 from AnHardt/iss1492
Fix iss#1492
2015-02-21 16:26:37 -08:00
Scott Lahteine 430c4b6538 Replace missing backslash 2015-02-20 02:17:16 -08:00
Scott Lahteine 3aa5f98b64 Download all as ZIP, adjust layout on resize 2015-02-20 02:12:00 -08:00
Scott Lahteine a8939eec28 Readability of MENU_MULTIPLIER_ITEM
Last commit before bed.
2015-02-20 02:08:41 -08:00
Scott Lahteine 09e09b308e Tweaky spacing adjustments 2015-02-20 01:22:56 -08:00
Scott Lahteine e3fd3e8fa4 Fix typos in checkExtruderAutoFans 2015-02-20 00:08:59 -08:00
Scott Lahteine c610471b0c Add PID_PARAMS_PER_EXTRUDER conditional 2015-02-20 00:00:19 -08:00
Scott Lahteine 2d6fa9ce80 Proper implementation of PID menu items
- Make this work per #1344
2015-02-19 23:54:06 -08:00
wgm4321 b8e79dce89 Fix compilation errors when encoder multiplier is disabled 2015-02-19 21:51:23 -05:00
wgm4321 65e1fc71be Add encoder rate multiplier 2015-02-19 21:42:57 -05:00
Scott Lahteine c9465c33cf Merge branch 'thinkyhead-fixup_ramps_boards' into Development
Merge resolving conflicts
2015-02-19 17:36:49 -08:00
Scott Lahteine 623119619c Merge branch 'fixup_ramps_boards' of https://github.com/thinkyhead/Marlin into thinkyhead-fixup_ramps_boards
Merge commit
2015-02-19 17:36:00 -08:00
Scott Lahteine 859c8d3fef Azteeg X3 overrides too 2015-02-19 17:28:38 -08:00
Scott Lahteine 7891eacf21 Merge branch 'Development' into fixup_ramps_boards
- Also apply cleanup for #1514
2015-02-19 17:26:22 -08:00
Scott Lahteine b12cd1f841 Merge pull request #1514 from 2PrintBeta/Development
Initial definitions for the Boards BAM&DICE + BAM&DICE Due
2015-02-19 17:17:34 -08:00
Scott Lahteine 1600506545 Merge remote-tracking branch 'upstream/Development' into marlin_configurator 2015-02-19 15:15:55 -08:00
Scott Lahteine 5d0c93ae10 Keep config boxes in view on wide screen 2015-02-19 03:41:41 -08:00
Scott Lahteine 335b7680c9 Tooltip code, widescreen layout, hide auto-expands
Slightly better layout for wide screens.
2015-02-19 03:11:16 -08:00
domonoky 15b73386b5 Add pin definitions for the Boards BAM&DICE + BAM&DICE Due 2015-02-19 11:53:31 +01:00
Scott Lahteine 08c236059e Merge pull request #1505 from thinkyhead/issue_1499
Bed leveling probe behavior issue?
2015-02-19 01:24:17 -08:00
Scott Lahteine ab419795b3 Merge pull request #1511 from MagoKimbra/Reset_Alert_message_M600
Reset Alert message when finish M600 command
2015-02-19 01:19:56 -08:00
Scott Lahteine f238c7428d Merge branch 'Development' into marlin_configurator
Latest upstream changes
2015-02-18 21:56:17 -08:00
Scott Lahteine da275c72ab Cleanup Github reply.data.content before atob() 2015-02-18 21:45:38 -08:00
MagoKimbra 159196d1e9 Reset Alert message when finish M600 command 2015-02-18 21:33:38 +01:00
daid 266ff227cf Merge pull request #1510 from docdawning/Development
Trivial spelling correction
2015-02-17 20:59:32 +01:00
DocDawning dfd4e74a5c Trivial spelling correction 2015-02-17 12:37:05 -07:00
AnHardt 6cdcd6c6d1 Fix iss#1492
Introduced lcd_strlen() and lcd_strlen_P().
Replaced the old functions where necessary.
Reworked language_ru.h.

Speeded up test for zero length string in cardreader.cpp
2015-02-16 13:53:58 +01:00
Scott Lahteine c033904693 Updated config file section markers 2015-02-15 23:25:57 -08:00
Scott Lahteine 84a87a5b1c Fix up configs a little 2015-02-15 23:19:22 -08:00
Scott Lahteine 63a5ff7ab9 Merge pull request #1489 from tommil/Development
Updated Finnish language file
2015-02-15 23:02:11 -08:00
Scott Lahteine efb0491d40 Merge branch 'Development' into issue_1499
Merging latest upstream changes
2015-02-15 22:59:07 -08:00
Scott Lahteine 8309b4f408 Merge branch 'Development' into marlin_configurator
Merging latest upstream changes
2015-02-15 22:58:04 -08:00
Scott Lahteine 961998cf91 Merge pull request #1496 from thinkyhead/issue_1493
Megatronics 3 servo pins
2015-02-15 22:00:14 -08:00
Scott Lahteine 59e92a2db4 Merge pull request #1506 from thinkyhead/issue_1504
Issue #1504 – K8200 Z_ENABLE_PIN
2015-02-15 21:59:30 -08:00
Scott Lahteine b71322e793 Issue #1504 – K8200 Z_ENABLE_PIN
- K8200 uses a non-standard RAMPS with Z_ENABLE=63 ??
- Assuming from previous input that 3DRAG is the same.
2015-02-15 21:56:23 -08:00
Scott Lahteine 978d114c73 Bed leveling probe behavior issue?
The `float` keyword should not be on these vars because they conceal
the outer vars, preventing them from obtaining known values before
being passed in `set_bed_level_equation_3pts`. Possibly related to
`Z_RAISE_BETWEEN_PROBING` not functioning.
2015-02-15 20:51:27 -08:00
Scott Lahteine 7c6236761a Merge branch 'Development' into issue_1493
Merging latest upstream changes
2015-02-15 20:45:35 -08:00
Scott Lahteine 9875352dd8 Merge branch 'Development' into marlin_configurator
Merging latest upstream changes
2015-02-15 20:44:21 -08:00
MarcelMo d28f5b9e82 Support for simple customisable AutoZProbing area
When probing PCB´s I had the problem that i needed auto-leveling for specific areas (it´s never the same size).
Not much code, but very useful.
Now I use simply G29 L5 R55 F5 B35 P3 to probe a 4x6cm PCB before milling.
I used int for values... might be wrong...
I hope this time I got the right development tree. (tried first with https://github.com/MarlinFirmware/Marlin/pull/1130/commits)
2015-02-15 15:58:29 +01:00
Tommi Lamberg 3e6ae25481 Merge branch 'Development' of https://github.com/tommil/Marlin into Development 2015-02-15 12:21:57 +02:00
Tommi Lamberg 513ff94b89 Merge remote-tracking branch 'upstream/Development' into Development 2015-02-15 12:21:45 +02:00
Scott Lahteine 83cb702e72 Config sections, multi-field values, toggles, etc
- Auto-detect “switchable” items where possible
- Handle switchable multi-value fields
- Add standard sections to config form
- Add section markers to configurations
- Add value options to configurations
- Remove and re-add fields for loaded configs
- Preserve sections across configs
- Preserve non-added fields
- Style added fields wider & newline by default
2015-02-14 23:44:01 -08:00
Tommi Lamberg 07a9165ca2 Merge remote-tracking branch 'upstream/Development' into Development 2015-02-13 21:09:52 +02:00
alexborro afc737ca0c Fix CoreXY Homing Routine.
Fixed how stepper ISR figure it out when the head (extruder) is going to
Min or Max direction.
Added Homing to Max Endstops.
2015-02-13 14:38:05 -02:00
Scott Lahteine ec53c6309a More fields, options in config, fix tooltips 2015-02-13 03:02:56 -08:00
Scott Lahteine 68184af57b Merge branch 'Development' into marlin_configurator
Latest upstream commits
2015-02-12 21:59:26 -08:00
Scott Lahteine 7866fa161f Merge pull request #1476 from Natealus/Development
Compiling errors with 4 Extruders defined and Viki 2 Implementation
2015-02-12 16:56:55 -08:00
Scott Lahteine 8cfdd3e8a4 Merge pull request #1423 from MoonCactus/Development
Multi-line G-code commands
2015-02-12 16:29:30 -08:00
Natealus ea9e49b20d ARRAY_BY_EXTRUDERS 4th hotend PID parameters 2015-02-12 00:56:47 -07:00
Scott Lahteine d0ad8a978c Megatronics 3 servo pins
- Naive implementation, assuming the data sheet pin numbers correspond
to Arduino pin numbers.
2015-02-11 23:46:27 -08:00
Scott Lahteine e74138b2be More robust fetch code, download buttons
- Fetch code now handles github, local, or http: access
- Download button creates a time-stamped inline download
- More complete error messages
- Show warnings when approaching the hourly fetch quota (limit
reloading!)
- Added my test domain (where the _htaccess is deployed)
- `_htaccess` file added to set Access-Control-Allow-Origin “*”
- Marlin logo with css
- Limit selectable areas to avoid annoying selections
- Messages now persist until dismissed
- Default repo for files set to thinkyhead, ‘marlin_configurator’ branch
- Cosmetic changes
2015-02-11 04:59:07 -08:00
Tommi Lamberg 622a531d9c Fixed error in translation 2015-02-11 08:50:48 +02:00
Tommi Lamberg 290ab42d22 Updated Finnish translations 2015-02-11 08:37:07 +02:00
Jérémie FRANCOIS 22a7985445 reverted to upstream 2015-02-11 07:12:55 +01:00
Jérémie FRANCOIS b3bda57ca2 reverted to upstream 2015-02-11 07:12:02 +01:00
Jérémie FRANCOIS 9d75a56b56 Merge remote-tracking branch 'upstream/Development' into Development
Conflicts:
	Marlin/Configuration.h
	Marlin/Marlin_main.cpp
2015-02-11 06:38:36 +01:00
Tommi Lamberg 0a59fee763 Merge remote-tracking branch 'upstream/Development' into Development 2015-02-11 06:53:43 +02:00
Scott Lahteine d75cd69de4 Merge pull request #1488 from Wurstnase/Development
Bedleveling: X and Y must be Integers not Float!
2015-02-10 16:02:55 -08:00
Scott Lahteine eb5889b3da Merge pull request #1479 from AnHardt/en_first
#include "language_en.h" before the national language in language.h
2015-02-10 15:33:45 -08:00
kieranc b9ed873827 Enable PID debugging for heated bed 2015-02-10 14:13:06 +01:00
kieranc 0a19109476 Enable PID debugging for heated bed 2015-02-10 14:11:44 +01:00
Tommi Lamberg a4f939cc27 Updated Finnish language file 2015-02-10 10:48:33 +02:00
Wurstnase 4546c92f5b X and Y must be Integers not Float!
https://github.com/Wurstnase/Marlin/blob/Development/Marlin/Configuration.h#L427
2015-02-10 09:00:48 +01:00
Scott Lahteine 32d4dd073f Merge pull request #1487 from AnHardt/iss1485
Fix for #1485
2015-02-09 21:41:07 -08:00
Scott Lahteine f92b0dc6c7 Merge pull request #1486 from Souko/patch-1
Update ultralcd_st7920_u8glib_rrd.h
2015-02-09 21:32:54 -08:00
AnHardt c246026bda Sorry. 2015-02-10 00:23:39 +01:00
AnHardt 07e488cfae Fix for #1485 2015-02-10 00:13:46 +01:00
Souko e7ecf14d0c Update ultralcd_st7920_u8glib_rrd.h
Fixed delay-times during Init. REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER won't get initialized on some Boards because delay was to short.
2015-02-09 21:46:06 +01:00
Scott Lahteine 8be25389f2 Merge pull request #1477 from AnHardt/languagetoconfig
Make display language configurable in Configuration.h
2015-02-09 05:36:57 -08:00
Scott Lahteine 52c3cf6d34 Fix a logging error 2015-02-09 05:07:05 -08:00
Scott Lahteine ba24a09f24 Use api.github to get Configurations
- Make api.github the default source for configurations
- Remove configurations from the configurator
- Continuation and enhancements
2015-02-09 04:34:57 -08:00
Natealus f4b0a40abb Additional fixes to temperature.cpp and found another missing line
Looks like INVERT_E3_DIR was missing in the configuration.h also as I
did a test compile with 4 extruders and Azteeg X3 Pro defined. So I also
added those lines too. Additional formatting to make the comments line
up better in that section.
2015-02-08 15:43:58 -07:00
AnHardt 3aac2df057 Now the oter way around.
Include of language_en.h now behind national language.

All "#define MSG_STR_*" now surrounded by #ifndef and #endif.
2015-02-08 20:41:20 +01:00
AnHardt 488633bf44 #include "language_en.h" before the national language in language.h
+ May decrease the workload for feature developers. They may omit to
update all the language files but "language_en.h". When loading _en
first, all new features give some display, but the new in English.

- May throw some additional warnings about redefinition during compile.
2015-02-08 14:26:24 +01:00
AnHardt 8e92729141 Make display language configurable in Configuration.h 2015-02-08 13:45:22 +01:00
Natealus 38a500d05c Viki 2 Implementation
I've insert the define and pointer entries for the Viki 2 and miniViki
from Panucatt in all of the example configs and main config. With these
additions and with pins done in the old single pin.h style...I was able
to get the display working fine save for needing to turn Delta Segments
per Second down. But that's a common graphics lcd issue being looked
into right now.

I need assistance in understanding how the new divided pins files fit
together because my previous attempts at trying to get it to work
appropriately didn't seem successful. This originally came from trying
to find out how to swap the XYZ Min and Max Endstop pins in the Azteeg
X3 Pro. It only comes with one set of connectors and they're Min
Endstops. My previous experience didn't turn out well trying to tell the
firmware to home to the Min Endstops so the best solution I found was to
swap the pins in the firmware. If I'm missing a conflict with a setup
other than delta please let me know, but it makes sense in my setup.
2015-02-08 03:14:59 -07:00
Natealus 697ee2dc50 Compiling errors with 4 Extruders defined
Here were a few changes that I had to make/add lines for the 4th hotend.
A compiling problem in the Temperature.cpp and missing lines in
configuration.h and configuration_adv.h. I added these lines in all of
the example configs too.
2015-02-08 01:05:05 -07:00
Jérémie FRANCOIS 85e5aa4011 Generalized enqueue_commands_P, and moved them to Marlin_main as they should 2015-02-07 23:24:20 +01:00
Scott Lahteine 4228758f1d Clean up and improve tooltips, show the name 2015-02-07 11:58:19 -08:00
Scott Lahteine 0116320d2c Strip slashes off the front of tooltips 2015-02-07 11:04:10 -08:00
Scott Lahteine 69240d41b0 Offset the timing of the pulsing animation 2015-02-07 10:45:56 -08:00
Scott Lahteine 78b9428f4e Avoid capturing disabled items in comments 2015-02-07 10:34:16 -08:00
Scott Lahteine 5d159851e5 Fix positioning of tooltip 2015-02-07 09:03:00 -08:00
Scott Lahteine c99f1de9f3 Fix tooltips blocking clicks 2015-02-07 07:39:10 -08:00
Scott Lahteine 1a548c1bc1 Find nearby comments and make them into tooltips 2015-02-07 06:20:04 -08:00
Scott Lahteine c093ea36e6 Merge pull request #1472 from thinkyhead/issue_1471_fix
Fan speed and 4th extruder on graphical LCD
2015-02-07 03:03:04 -08:00
Scott Lahteine 90fa1345b0 Fix purge + refresh of define info 2015-02-07 03:02:26 -08:00
Scott Lahteine aa67b38a44 Fan speed and 4th extruder on graphical LCD
- Display fan speed 0-1 as “—“ and 254-255 as “100%”.
- Display 4th extruder instead of the heated bed
2015-02-07 02:44:35 -08:00
Scott Lahteine 7850ae2f4f Merge branch 'Development' into marlin_configurator
Merge latest Development
2015-02-07 02:20:25 -08:00
Scott Lahteine 2647402095 Use info.repl in updateDefineFromField, fix regex 2015-02-07 02:04:44 -08:00
Scott Lahteine 12a3975341 Close section tag, add String.prototype.lineCount 2015-02-07 00:46:14 -08:00
Scott Lahteine 4bb72f9480 Highlight the edited line
- Add a span to the edited text line to provide a highlight
- Scroll and highlight for switch checkboxes also
- Clean up initialization
- More API documentation
- Smarter handling of asynchronous file loading during init
2015-02-06 23:46:16 -08:00
Scott Lahteine 37c43a7ab3 Scroll to reveal on switches as well 2015-02-06 18:09:14 -08:00
Scott Lahteine 9c0adae3cd Scroll to setting position in file when edited
- Animate scrolling to the edited item’s position
- Sanity check file drops and show warnings
- Fix form init / refresh on new configuration drop
- Document the API methods that get/set defines
2015-02-06 17:57:31 -08:00
Scott Lahteine 4d341bb758 Copy configs into subfolder
Browsers may not want to load files outside the folder, but they may be
okay with these relative references within the folder.
2015-02-06 14:58:47 -08:00
Scott Lahteine 1a3c7d91f1 Merge pull request #1470 from thinkyhead/fix_eeprom_typo
Fix bad typo in ConfigurationStore.cpp
2015-02-06 14:44:28 -08:00
Scott Lahteine 72856166a9 Fix bad typo in ConfigurationStore.cpp 2015-02-06 14:43:58 -08:00
Scott Lahteine b51204cc1c Add fieldsets and make them into tabs 2015-02-05 20:28:39 -08:00
Scott Lahteine 56769ba4f8 Make comment/uncomment a little neater 2015-02-05 19:39:42 -08:00
Scott Lahteine 94bebf31ac Pre-collect info about options on field init
- When initializing fields use the configuration to determine the format
- Cache the line for each option for fastest string compare / replace
- Add logging levels for debugging
2015-02-05 19:30:11 -08:00
Scott Lahteine 32aaadc301 Include minimized jQuery 2.1.3 2015-02-05 11:50:42 -08:00
Scott Lahteine 53f6bbdfe0 Try a stepper for the serial port 2015-02-05 11:44:43 -08:00
Scott Lahteine ac7a4358d6 Add a responsive file uploader
- Specify HTML5
- Allow drag and drop for loading configurations
2015-02-05 11:14:31 -08:00
Scott Lahteine 09a385d9b0 Add "use strict" to the top. 2015-02-05 08:22:51 -08:00
Scott Lahteine b2627200ea Get thermistors from config, add temp sensors 2015-02-05 08:19:09 -08:00
Scott Lahteine ef18bfdd3f An in-place browser-based configurator utility
- A web form with fields for configuration values
- Reads and parses standard config files
- Modifies configurations dynamically in-place
2015-02-05 07:05:29 -08:00
Scott Lahteine 3490a19103 Merge pull request #1466 from CONSULitAS/Development_K8200_de
K8200: Example Configuration.h fixed
2015-02-04 17:28:04 -08:00
CONSULitAS cfbb94a2a8 K8200: Example Configuration.h fixed
Example Configuration.h: fixed strange white characters preventing
compilation in lines 1 and 3 - oops
2015-02-04 10:35:10 +01:00
Scott Lahteine b65c5d8ec6 Merge pull request #1464 from AnHardt/iss1448-Menu
Unified menu selection - by hilighting - made first column avilable
2015-02-03 22:43:29 -08:00
Scott Lahteine 6250cc9a8d Merge pull request #1465 from CONSULitAS/Development_K8200_de
K8200: Example Configurations back in sync and readme update
2015-02-03 22:38:57 -08:00
CONSULitAS 0de5083aff K8200: Example Configurations readme.md updated
Example Configurations for K8200 readme.md updated
* readme.md: added description for german umlaut support on LCD
2015-02-04 00:24:51 +01:00
CONSULitAS c421ffd520 K8200: Example Configuration_adv.h back in sync
Example Configuration_adv.h for K8200 back in sync
* Configuration_adv.h: rebased and added missing changes for 4th
extruder
2015-02-04 00:19:18 +01:00
CONSULitAS 0575dd10de K8200: Example Configuration.h back in sync
Example Configuration.h for K8200 back in sync
* Configuration.h: rebased and added missing changes
* Configuration.h: updated comments for K8200
2015-02-04 00:15:50 +01:00
AnHardt f708884808 Introduced new function lcd_implementation_mark_as_selected()
New function now drops the prechar (select character) and makes the first
column usable for text.
Marking the line is now constantly made by highlighting (reverse).

Replaced selection code in:
lcd_implementation_drawmenu_generic()
_drawmenu_setting_edit_generic()
_drawmenu_sd()

with new function.
2015-02-03 23:35:33 +01:00
Scott Lahteine b6ca50a2cc Merge pull request #1463 from thinkyhead/cleanup_recent_merge
Apply some cleanup for recent merge
2015-02-03 12:06:47 -08:00
Scott Lahteine cc56f36870 Merge pull request #1461 from thinkyhead/issue_1453_redo
Apply fix for M600 filament change
2015-02-03 11:52:09 -08:00
Scott Lahteine 8663f4bbaf Apply some cleanup for recent merge
Combine 1/(rows+1) with u8g.getHeight() to get rowHeight and just use
that.
2015-02-03 11:48:49 -08:00
Scott Lahteine fed931afda Merge pull request #1462 from AnHardt/iss1447-Edit
Fixes issue #1447 - Overlapping of long descriptions with values.
2015-02-03 11:36:04 -08:00
Scott Lahteine 0cb1029311 remove extra plan_buffer_line 2015-02-03 11:26:36 -08:00
AnHardt 9381bfe7f9 Fixes issue #1447 - Overlapping of long descriptions with values. 2015-02-03 20:15:16 +01:00
Scott Lahteine b97a950f53 Apply fix for M600 filament change
- Patch from #1453 for delta movement plan
- Fix: Set X with code X instead of adding to X
2015-02-03 09:57:16 -08:00
Scott Lahteine 04ce708031 Merge pull request #1457 from AnHardt/bootsplash
Reworked bootsplash for DOGM displays another time - saved 1786 bytes
2015-02-03 09:19:54 -08:00
AnHardt 0e41882b5c Merge https://github.com/MarlinFirmware/Marlin into bootsplash 2015-02-03 18:05:38 +01:00
AnHardt 2abf1ad940 Distribute recent changes in Configuration.h to the examples. 2015-02-03 17:59:04 +01:00
Scott Lahteine 86c0583525 Merge pull request #1459 from AnHardt/lcd-width
Adjust LCD_WIDTH to make better use of DOGM LCDs 2
2015-02-03 08:29:03 -08:00
AnHardt 33f8580255 Merge branch 'lcd-width' into b- 2015-02-03 14:45:58 +01:00
AnHardt 0c24bb6cfc Adjust LCD_WIDTH to make better use of DOGM LCDs 2015-02-03 14:21:43 +01:00
AnHardt b1dbd765c6 Centralise definition of fonts for DOGM displays
Prework for issue #1448 and #1447

Will merge in when pull request #1457 is in.
2015-02-03 13:10:09 +01:00
AnHardt 65642592ee Added dualline version. 2015-02-03 12:25:36 +01:00
AnHardt f9cc1df00b Droped URL from bootsplash. 2015-02-03 11:14:27 +01:00
AnHardt c20606b8d7 Replaced some literal constants with defines
Replaced calculation to centre bitmap with fixed values.
Saved 20 bytes.
2015-02-03 09:52:29 +01:00
AnHardt 3602474c25 Replace solitaire use of u8g_font_5x8 font and replace with u8g_font_6x10_marlin
and win another 1694 bytes.
2015-02-03 09:07:57 +01:00
AnHardt f5fd94d62a Kick suspicious loop an win 72 bytes.
No visible impact.
2015-02-03 08:56:00 +01:00
Scott Lahteine 6cce924cd0 Merge pull request #1455 from thinkyhead/fix_hd44780_inversion
Fix HD44780 misspelled as HD44870
2015-02-02 22:53:24 -08:00
Scott Lahteine b3973ed224 Fix HD44780 misspelled as HD44870 2015-02-02 22:33:58 -08:00
Scott Lahteine d8b7f29fa2 Merge pull request #1452 from thinkyhead/fix_M200_bug
M200 cleanup, normalization of EXTRUDER loops
2015-02-02 21:58:15 -08:00
Scott Lahteine 6d81968db5 Merge pull request #1450 from docdawning/Development
Normalized section headers, added some headers, added help URLs for newb...
2015-02-02 21:17:06 -08:00
DocDawning 5bb3933b21 Fixed n00bsauce 2015-02-02 14:18:53 -07:00
DocDawning a507431400 Merge branch 'Development' of https://github.com/docdawning/Marlin into Development 2015-02-02 14:13:03 -07:00
DocDawning d109cd940b Normalized all configuration files to include my new section headers and the like. 2015-02-02 14:11:21 -07:00
DocDawning 055c4beaf9 Normalized section headers, added some headers, added help URLs for newbies 2015-02-02 14:11:09 -07:00
Scott Lahteine 9dc5de6166 Hide code that makes veteran geeks go "aha!" 2015-02-02 05:55:55 -08:00
Scott Lahteine bd387068bb Apply loops for extruders elsewhere also 2015-02-02 05:27:27 -08:00
Scott Lahteine 4a146d584b Loop, since the pending feature can use an array 2015-02-02 05:16:17 -08:00
Scott Lahteine bca884bf72 Realized it's not a bug, but cleanup code anyway 2015-02-02 04:41:31 -08:00
Scott Lahteine 137ba7b590 Merge pull request #1449 from AnHardt/LostInTranslation3
Solid improvements. Merging.
2015-02-01 18:37:20 -08:00
DocDawning 8e287c2762 Normalized section headers, added some headers, added help URLs for newbies 2015-02-01 17:06:38 -07:00
AnHardt 2dd43a82b1 Ups. #else added 2015-02-01 14:16:35 +01:00
AnHardt 26e55471f8 Update example configurations. 2015-02-01 13:46:32 +01:00
AnHardt 85385be132 Removed now automatic define of DISPLAY_CHARSET_DOGM + improved description. 2015-02-01 13:33:25 +01:00
AnHardt 0e40408ee5 Make exemplaric use of new display charsets in language_en.h and languag_de.h 2015-02-01 13:20:58 +01:00
AnHardt 8dce5a6644 Improve new charset featur.
Select DOGM-displays automaticly.
Give hint where to find charsets.
Add '²' and '³' characters.
2015-02-01 13:09:59 +01:00
Scott Lahteine 0cec0b73bc Merge pull request #1446 from thinkyhead/bq_hephestos_support
Add support for BQ Prusa i3 "Hephestos"
2015-02-01 03:43:44 -08:00
Scott Lahteine c009c81e65 make marlin-main the default 2015-01-31 23:11:28 -08:00
Scott Lahteine f4ebc02555 marlin url 2015-01-31 23:09:12 -08:00
Scott Lahteine 0af9a0bf57 url to firmware downloads 2015-01-31 22:19:45 -08:00
Scott Lahteine 5f8dd92905 toss in a fix for .ru 2015-01-31 21:58:38 -08:00
Scott Lahteine 3f3ad9b3ad typo 2015-01-31 21:42:53 -08:00
Scott Lahteine 07639053fb Add support for BQ Prusa i3 "Hephestos" 2015-01-31 21:38:30 -08:00
Scott Lahteine 4f4cd7a2c0 Merge pull request #1445 from blubbfish/patch-3
Avoid compiling error
2015-01-31 21:03:18 -08:00
Philip Schell fb7c636ecf Avoid compiling error
Only a missing ","... now it will compile again
2015-02-01 01:33:04 +01:00
alexborro 787d6fb61a Update RUMBA pins file
Add FAN1_PIN and SERVO0_PIN
2015-01-31 18:03:28 -02:00
Scott Lahteine 5fd5105d44 Merge pull request #1439 from clefranc/Development
Fix nozzle in temperature menu
2015-01-30 19:05:45 -08:00
Scott Lahteine b40dd814b0 Merge pull request #1434 from AnHardt/LostInTranslation2
Introduction of a system to feed displays with the correct charsets. Example in language_de.h
2015-01-30 18:35:02 -08:00
AnHardt 76bf93efcb Revert "get STR_THERMOMETER from ultralcd_implementation_hitachi_HD44780.h"
This reverts commit 4d5b0e2037.
2015-01-30 22:42:44 +01:00
AnHardt 4d5b0e2037 get STR_THERMOMETER from ultralcd_implementation_hitachi_HD44780.h 2015-01-30 22:20:10 +01:00
Christian Lefrançois 33408a4dfc Update ultralcd.cpp
Fix number of nozzle displayed in temperature menu.
2015-01-30 11:16:13 -05:00
AnHardt 6e6e3cf443 merged https://github.com/MarlinFirmware/Marlin.git 2015-01-30 11:05:29 +01:00
AnHardt b3ca430a20 Inducted the defined placeholders in the translation table. 2015-01-30 10:35:14 +01:00
AnHardt e045034c3f Included Configuration.h to read the defined charsets.
Defined the charsets plus a default.
2015-01-30 10:31:58 +01:00
AnHardt 27c638803e Defined three charsets. 2015-01-30 10:28:22 +01:00
Scott Lahteine b033783e0f Merge pull request #1438 from thinkyhead/cleanup_recent_additions
Clean up some formatting
2015-01-29 19:10:49 -08:00
Scott Lahteine 073c59c50a Clean up some formatting
- Also partial cleanup of Marlin_main.cpp with a smidgen of Doxygen.
2015-01-29 18:52:21 -08:00
AnHardt 9a4d4b3a2f translated Deltamenu 2015-01-29 13:19:32 +01:00
AnHardt 8aa6487b4b MSG_ENDSTOP_ABORT = 'Endstop abort' > 'Endstop Abbr. Ein' 2015-01-29 13:12:55 +01:00
AnHardt 666ad7106b Translated redundand: define MSG_INIT_SDCARD and MSG_CNG_SDCARD 2015-01-29 13:09:12 +01:00
AnHardt e5c45fbe8c Infoscreen messages end with a '.' if not to long.
MSG_NO_MOVE = 'Kein Zug.' > 'Motoren Eingesch.' hat mich grau Haare gekostet.
Die englisch Meldung will sagen - Du kannst jetz am Extruder arbeiten, die
Achsen sind bockiert, die Motoren sperren die Achsen weil sie unter Strom
stehen, weil sie eingeschaltet sind.
2015-01-29 13:02:21 +01:00
AnHardt 1e22137e27 MSG_STOP_PRINT = 'Druck stoppen' > 'SD-Druck Abbruch'
to work out that this can't be resumed.
2015-01-29 12:41:46 +01:00
AnHardt 05d2ebd118 MSG_WATCH > 'Beobachten' > 'Info' 2015-01-29 12:29:31 +01:00
AnHardt 06cba91c39 eye candy 2 2015-01-29 12:26:21 +01:00
AnHardt 9352c9547f MSG_SPEED = 'Geschw' > 'Geschw.' 2015-01-29 12:13:44 +01:00
AnHardt 0dfb0162f3 eye candy. 2015-01-29 12:07:01 +01:00
AnHardt 7222b27501 MSG_MOVE_AXIS = 'Achsen bewegen' > 'Bewegen'. Is Extruder an axis? 2015-01-29 12:02:58 +01:00
AnHardt a6f808c9b1 remove unused #define MSG_RETRACT 2015-01-29 11:58:50 +01:00
AnHardt 152fa579f5 MSG_SWITCH_PS_OFF = 'Switch Power Off' -> 'Netzteil Aus' 2015-01-29 11:55:36 +01:00
AnHardt 7a32b742f3 MSG_SWITCH_PS_ON = 'Switch Power On' ->'Netzteil Ein' 2015-01-29 11:50:51 +01:00
AnHardt 4e176d2ce8 MSG_SET_ORIGIN = 'Setze Nullpunkt' ->'Setze Null hier' 2015-01-29 11:45:18 +01:00
AnHardt 1f8c8ad3ed MSG_SET_HOME_OFFSETS = 'Set home offsets' ->'Setze Home hier' 2015-01-29 11:39:35 +01:00
AnHardt 0e8836ce5e MSG_AUTO_HOME = 'Auto Nullpunkt' ->'Home' 2015-01-29 11:36:07 +01:00
AnHardt 56d3e6615d MSG_DISABLE_STEPPERS = 'Stepper abschalt.' -> 'Motoren Aus'# 2015-01-29 11:19:10 +01:00
Scott Lahteine 1258980832 Merge pull request #1429 from bq/Development
Add bq Witbox 3D printer
2015-01-29 01:14:18 -08:00
Victor Andueza 766762a4dc Change url link 2015-01-29 09:28:50 +01:00
Scott Lahteine 7df9ca051c Merge pull request #1428 from thinkyhead/issue_1388_eeprom
Make EEPROM storage consistent
2015-01-28 22:58:04 -08:00
Scott Lahteine fe3810f073 yeah, what he said 2015-01-28 22:27:15 -08:00
Scott Lahteine 6137bbd484 use eeprom read correctly 2015-01-28 22:10:31 -08:00
Scott Lahteine 45805c2b76 Merge pull request #1432 from blubbfish/patch-1
Fixing wrong pin to heater extruder 2 <-> 3
2015-01-28 21:33:24 -08:00
Scott Lahteine 9bc9051405 Flag EEPROM write errors on serial output
- Also adds a language string for the error.
- Also adds SERIAL_EOL as an alias for SERIAL_ECHOLN(“”)
2015-01-28 21:19:51 -08:00
Scott Lahteine ff99ca3040 Fix alignment of Restore following PIDTEMP
Should be reading 4 x 4 PID values instead of 4 x 3
2015-01-28 20:48:32 -08:00
Philip Schell 6c285930cb Fixing wrong pin to heater extruder 2 <-> 3
Extruder 2 and 3 was swapped
2015-01-28 23:57:22 +01:00
Victor Andueza 0d4ce27b79 Add pins_WITBOX file 2015-01-28 17:26:50 +01:00
Victor Andueza 13118cde33 Add bq Witbox 3D printer 2015-01-28 16:52:36 +01:00
Scott Lahteine 093fedfde8 Make EEPROM storage consistent
Update ConfigurationStore to always write dummy values for disabled
options, including FWRETRACT, DELTA, and SCARA. Update the EEPROM
version to “V15.” Also fixes a buffer overrun with axis_scaling in
Config_ResetDefault.
2015-01-28 01:08:48 -08:00
Scott Lahteine 34377ee512 Merge pull request #1427 from thinkyhead/fewer_preheat_strings
Remove language strings that only add a number
2015-01-27 22:10:08 -08:00
Scott Lahteine 7378a7fef4 Merge pull request #1408 from thinkyhead/cleanup_servo
Formatting cleanup of quiet sources
2015-01-27 22:09:04 -08:00
Scott Lahteine 5fbef6bed2 Merge pull request #1409 from thinkyhead/rename_lastnr
Rename lastnr to autostart_index and...
2015-01-27 22:07:23 -08:00
Scott Lahteine 53eea611b8 Fix MSG_NOZZLE 2015-01-27 22:00:32 -08:00
Scott Lahteine d7211a5324 Changes for Portuguese too 2015-01-27 21:53:08 -08:00
Scott Lahteine 0a21727c0a Portuguese (pt) and Brazilian Portuguese (pt-br) 2015-01-27 21:45:21 -08:00
Scott Lahteine c90f2e77d8 Remove language strings that only add a number
This won’t reduce the string storage in the end, but it makes the
language files smaller. Also removed remaining unused strings.
2015-01-27 21:36:58 -08:00
Scott Lahteine 34758088c5 Merge pull request #1416 from thinkyhead/cleanup_pins
Split up pins.h to make pins more manageable
2015-01-27 16:03:28 -08:00
Scott Lahteine 2ce4a102ee Add support for Megatronics 3 a la #1426 2015-01-27 15:54:46 -08:00
Scott Lahteine eacd931fad Merge branch 'cleanup_pins' of https://github.com/thinkyhead/Marlin into cleanup_pins
Remote has diverged, so pull
2015-01-27 15:50:08 -08:00
Scott Lahteine ae4b348d77 Make sure _Ex_PINS is defined
Also fix analogInputToDigitalPin so it uses proper C hex notation
2015-01-27 15:36:47 -08:00
Scott Lahteine 80be6f3f91 tweak tweak 2015-01-27 15:36:47 -08:00
Scott Lahteine ebe78cb36f tweak 2015-01-27 15:36:47 -08:00
Scott Lahteine 82474fef8a Max endstop pins disabled by configuration
There’s no need to ask users to uncomment Max Endstop pins when they
have them. These will be set to -1 later if the endstop option is
disabled.
2015-01-27 15:33:21 -08:00
Scott Lahteine 8045e4d60d Add support for 4th extruder
#1405 includes some changes to pins.h for a 4th extruder. This commit
applies those changes. It also deals with a possible problem with
SENSITIVE_PINS.
2015-01-27 15:33:21 -08:00
Scott Lahteine df4f3e7712 cleanup 2015-01-27 15:32:34 -08:00
Scott Lahteine b6ecbd8cc4 cleanup 2015-01-27 15:32:34 -08:00
Scott Lahteine 4e573134de Cleanup heading 2015-01-27 15:32:34 -08:00
Scott Lahteine 574a5ab72a Split up pins to make it more manageable
Hopefully this is helpful to organization and future expansion….
2015-01-27 15:32:34 -08:00
Scott Lahteine b697bb260e Make sure _Ex_PINS is defined
Also fix analogInputToDigitalPin so it uses proper C hex notation
2015-01-27 15:19:03 -08:00
Scott Lahteine ab1ddcd89d Merge pull request #1425 from clefranc/Development
EEPROM data not aligned
2015-01-27 14:26:11 -08:00
clefranc d55c62bf9f Update ConfigurationStore.cpp
Moved #endif to allow filament settings to print.
2015-01-27 13:28:37 -05:00
clefranc e779641c73 Update ConfigurationStore.cpp
Added PIDTEMP dummy write to align EEPROM read/write operation.
2015-01-27 13:25:47 -05:00
Scott Lahteine baac6e242d Merge pull request #1419 from AnHardt/bootsplash
repair Bootsplash
2015-01-27 00:30:29 -08:00
Scott Lahteine a425111eb7 Merge pull request #1421 from blubbfish/patch-2
Fixing the language files for the 4th extruder
2015-01-27 00:04:23 -08:00
AnHardt 75cf302da3 example configurations changed to meet Configuration.h 2015-01-27 00:01:33 +01:00
Philip Schell 61fd45a0c2 Add 4th extruder 2015-01-26 21:22:00 +01:00
Philip Schell 2650be4921 Add 4th extruder 2015-01-26 21:21:31 +01:00
Philip Schell a9763d894e Add 4th extruder 2015-01-26 21:20:56 +01:00
Philip Schell 4949088302 Add 4th extruder 2015-01-26 21:20:04 +01:00
Philip Schell fc5204bd42 Add 4th extruder 2015-01-26 21:17:35 +01:00
Philip Schell 9834818ef7 Add 4th extruder 2015-01-26 21:16:23 +01:00
Philip Schell 8696963154 Add 4th extruder 2015-01-26 21:15:24 +01:00
Philip Schell ee8a7419f4 Add 4th extruder 2015-01-26 21:14:18 +01:00
Philip Schell e18403235d Add 4th extruder 2015-01-26 21:12:55 +01:00
Philip Schell 7baee555f4 Add 4th extruder 2015-01-26 21:11:49 +01:00
Philip Schell cebc7daf2a Add 4th extruder 2015-01-26 21:10:42 +01:00
Philip Schell ef4c7abb21 Update language_es.h
Add 4th extruder
2015-01-26 21:09:24 +01:00
Philip Schell 22e591518a Update language_de.h
Add 4th extruder
2015-01-26 21:08:13 +01:00
Philip Schell a20c35bb38 Update language_ca.h
Add 4th extruder
2015-01-26 21:04:31 +01:00
Jérémie FRANCOIS dd301be52d Added suport for multiline G-code commands in the LCD menus 2015-01-26 18:50:29 +01:00
AnHardt aa48056c03 Made centering of bootlogo work and removed contraproductiv setScale2x2() in dogm_lcd_implementation.h 2015-01-26 17:26:22 +01:00
AnHardt 0d219b3e14 Make centering of STRING_SPLASH work 2015-01-26 16:00:10 +01:00
AnHardt 59315330dd Remove definition of VERSION_STRING and replace where usend with STRING_VERSION 2015-01-26 15:52:01 +01:00
AnHardt 8c792c7b22 Make STRING_VERSION and VERSION_STRING the same 2015-01-26 15:40:44 +01:00
Scott Lahteine a231764523 tweak tweak 2015-01-26 05:18:43 -08:00
Scott Lahteine acf4a12fc3 tweak 2015-01-26 05:17:08 -08:00
Scott Lahteine 74b40b039a Merge branch 'cleanup_pins' of https://github.com/thinkyhead/Marlin into cleanup_pins
Pull for divergence.
2015-01-26 05:09:33 -08:00
Scott Lahteine 812fafac80 Max endstop pins disabled by configuration
There’s no need to ask users to uncomment Max Endstop pins when they
have them. These will be set to -1 later if the endstop option is
disabled.
2015-01-26 05:08:41 -08:00
Scott Lahteine a0a97c9c4c cleanup 2015-01-26 05:08:40 -08:00
Scott Lahteine aa23e75eb8 Cleanup heading 2015-01-26 05:08:40 -08:00
Scott Lahteine 89282ebaa6 Split up pins to make it more manageable
Hopefully this is helpful to organization and future expansion….
2015-01-26 05:08:40 -08:00
Scott Lahteine b87ec5da73 Max endstop pins disabled by configuration
There’s no need to ask users to uncomment Max Endstop pins when they
have them. These will be set to -1 later if the endstop option is
disabled.
2015-01-25 20:08:51 -08:00
Scott Lahteine e5a7f34fa4 Add support for 4th extruder
#1405 includes some changes to pins.h for a 4th extruder. This commit
applies those changes. It also deals with a possible problem with
SENSITIVE_PINS.
2015-01-25 19:43:43 -08:00
Scott Lahteine 865ca0ef04 Merge pull request #1405 from MagoKimbra/4th-extruders
All the additions look proper. I can't think of any other extruder-count-related items that you might have missed. So, with some optimism, I will merge this for testing.
2015-01-25 19:30:51 -08:00
Scott Lahteine b51a583f08 cleanup 2015-01-25 19:20:25 -08:00
Scott Lahteine 5347ac2766 cleanup 2015-01-25 18:50:09 -08:00
Scott Lahteine b684f7e92b Cleanup heading 2015-01-25 18:42:16 -08:00
Scott Lahteine 86f1d1cfc3 Split up pins to make it more manageable
Hopefully this is helpful to organization and future expansion….
2015-01-25 18:40:00 -08:00
MagoKimbra 3021f7f743 Fix PID_dT
Add PID_dT in temeprature.cpp
2015-01-25 17:56:14 +01:00
Scott Lahteine 415d95a298 Merge pull request #1401 from thinkyhead/issue_1379_printrboard_lcd
Proposed fix to #1379. Printrboard I2C LCD support
2015-01-24 16:38:09 -08:00
Scott Lahteine a7b02975b7 No TEMP1 or TEMP2 pins for TEENSYLU || PRINTRBOARD
Pins 2 and 3 are probably general-use pins, since the filament sensor
uses pin 2.
2015-01-24 05:10:48 -08:00
Scott Lahteine 3ec0f7cfc0 Merge branch 'issue_1379_printrboard_lcd' of https://github.com/thinkyhead/Marlin into issue_1379_printrboard_lcd
Diverged from origin
2015-01-24 05:01:26 -08:00
Scott Lahteine 6723388f7f Proposed fix to #1379. Printrboard I2C LCD support 2015-01-24 05:01:02 -08:00
Scott Lahteine 09eff0c4db Merge branch 'rename_lastnr' of https://github.com/thinkyhead/Marlin into rename_lastnr
Diverged from origin
2015-01-24 04:58:11 -08:00
Scott Lahteine 03c9cb60e8 Rename lastnr to autostart_index and...
Replace instances of the number 13 with FILENAME_LENGTH where
appropriate.
2015-01-24 04:57:44 -08:00
MagoKimbra ef5959a705 Fix Temperature
Githun insert this line when i merge with actual Branch development...
2015-01-24 13:49:29 +01:00
MagoKimbra 3d4ee6c868 Merge branch '4th-extruders' of https://github.com/MagoKimbra/Marlin into 4th-extruders
Conflicts:
	Marlin/temperature.cpp
2015-01-24 13:41:15 +01:00
MagoKimbra 986e723eeb Add 4th extruder 2015-01-24 13:37:58 +01:00
Scott Lahteine 9552e59306 Merge pull request #1402 from thinkyhead/issue_1227_max6675_spi
Borrow from Ultimaker to fix MAX6675 SPI conflict
2015-01-24 04:06:42 -08:00
Scott Lahteine 49765fc75d Merge branch 'issue_1227_max6675_spi' of https://github.com/thinkyhead/Marlin into issue_1227_max6675_spi
Branches diverged
2015-01-24 03:50:04 -08:00
Scott Lahteine f16bdd2ff2 Borrow from Ultimaker to fix MAX6675 SPI conflict
Changes to temperature.cpp from Ultimaker fork, intended to address
#1226 and #1227
2015-01-24 03:49:15 -08:00
Scott Lahteine 1ed3913333 Rename lastnr to autostart_index and...
Replace instances of the number 13 with FILENAME_LENGTH where
appropriate.
2015-01-23 22:55:13 -08:00
Scott Lahteine 06c3b37933 Formatting cleanup of quiet sources
Formatting for code-folding plus minor style changes to less active
code.
2015-01-23 22:26:52 -08:00
Scott Lahteine 23fcd1ecb2 Merge pull request #1407 from thinkyhead/cleanup_marlinserial
Formatting cleanup of quiet sources
2015-01-23 21:33:43 -08:00
Scott Lahteine fd78902194 Formatting cleanup of quiet sources 2015-01-23 21:11:50 -08:00
Scott Lahteine 5c1814383a Merge pull request #1390 from floyd871/Development
Show Custom M_Code for Z-Probe Offset when entering M503
2015-01-23 20:08:23 -08:00
MagoKimbra 0ebf896070 Add 4th extruder 2015-01-23 23:13:06 +01:00
Michael Neumann a9d7ab9530 Update ConfigurationStore.cpp
Done
2015-01-23 21:05:27 +01:00
Scott Lahteine a244bcb953 Merge pull request #1403 from thinkyhead/issue_1356
Fix Issue #1356 – remove EXTRUDER1_Z_OFFSET
2015-01-23 10:51:39 -08:00
Scott Lahteine 3a9a3e5ed8 Fix Issue #1356 – remove EXTRUDER1_Z_OFFSET
This define is not used.
2015-01-23 10:51:06 -08:00
Scott Lahteine e770489f27 Borrow from Ultimaker to fix MAX6675 SPI conflict
Changes to temperature.cpp from Ultimaker fork, intended to address
#1226 and #1227
2015-01-23 10:37:39 -08:00
Scott Lahteine 54d5b52a2e Merge pull request #1399 from beanz/use-bed-defines-not-extruder-ones
Code wont compile with extruder but without bed runaway protection defined.
2015-01-23 08:36:25 -08:00
Mark Hindess 0ce252ba7a This ifdef is for bed code so should use bed constants for testing.
Without this fix, the code wont compile with extruder but without bed
runaway protection defined.
2015-01-23 16:30:13 +00:00
Scott Lahteine 0218ad45a1 Proposed fix to #1379. Printrboard I2C LCD support 2015-01-23 07:42:26 -08:00
Scott Lahteine 9040446780 Merge pull request #1395 from AnHardt/iss1394
removed function step_wait() from stepper.cpp
2015-01-23 06:58:10 -08:00
Scott Lahteine 25f79c5010 Merge pull request #1391 from CONSULitAS/Development-newBoard_K8200
Add: Board for Vellemann K8200 (derived from 3Drag)
2015-01-23 06:08:38 -08:00
Scott Lahteine 9ce75ab7de Merge pull request #1386 from roglio/Development
Fixing a build error for melzi and gfx display
2015-01-23 06:00:24 -08:00
Scott Lahteine 99e6ce901b Merge pull request #1393 from thinkyhead/issue_1385_timing
Add proper delay in stepper.cpp
2015-01-23 03:33:39 -08:00
Scott Lahteine 15a00a5a7c Add 1µs delay in other appropriate spots 2015-01-23 03:24:45 -08:00
AnHardt 23cb899c5a removed function step_wait() from stepper.cpp
removed function step_wait() from stepper.cpp because its used nowhere.
2015-01-21 16:30:45 +01:00
Scott Lahteine d9d4a78e0f Add proper delay in stepper.cpp
Issue #1385 describes a delay that the compiler is optimizing out and
this solution.
2015-01-21 01:51:29 -08:00
CONSULitAS d1322dafc9 Add: Example Configuration for Vellemann K8200 - based on new BOARD_K8200 #1391
# Add: Example Configuration for Vellemann K8200 - based on new
BOARD_K8200 #1391

* K8200: new folder in example_configurations for Vellemann K8200 (3Drag
clone - should work with 3Drag http://reprap.org/wiki/3drag, too. Please
report)
* K8200/Configuration.h/Configuration_adv.h: updated manually with
parameters form genuine Vellemann Firmware "firmware_k8200_marlinv2"
based on the recent development branch

I tested the changes on my K8200 with 20x4-LCD and Arduino 1.0.5 for
Windows (SD library added to IDE manually) - everything works well
2015-01-20 23:13:44 +01:00
CONSULitAS 3b50a5e2e6 Add: Board for Vellemann K8200 (derived from 3Drag)
## Add: Board for Vellemann K8200 (derived from 3Drag)

* Boards.h: updated comment for board 3Drag - K8200 removed
* Boards.h: added `BOARD_K8200` with ID 78

* language.h.: machine name and firmware URL for new board

* pins.h: added `K8200` to any `#if` with `3Drag` and corresponding
comments
2015-01-20 20:46:20 +01:00
Michael Neumann 2d454da3af Update ConfigurationStore.cpp
Show Custom M Code when entering M503
2015-01-20 16:21:44 +01:00
Scott Lahteine 4f35de991a Merge pull request #1383 from CONSULitAS/Development
Update Boards.h for Vellemann K8200 - comment only
2015-01-19 15:59:38 -08:00
Scott Lahteine 91f7cc2e6d Merge pull request #1380 from chertykov/Development
Remove hardcoded programmer option (-cwiring).
2015-01-19 15:43:14 -08:00
roglio 22571ca13d Revert "Configuration for Aurora Z605"
This reverts commit 935ee968a7.
2015-01-19 15:02:11 +01:00
roglio 935ee968a7 Configuration for Aurora Z605
Still not fine tuned but working.
2015-01-19 11:18:52 +01:00
roglio ccdbeda526 Fixing a build error for melzi and gfx display
When a melzi board and a full gfx are both selected, the build fails
blaming for some missing defines.

This is a fix for the issue: now my configuration works.
2015-01-19 10:43:26 +01:00
CONSULitAS e13f159343 Update Boards.h for Vellemann K8200 - comment only
## Update Boards.h for Vellemann K8200 - comment only

* Boards.h: updated comment for board 3Drag - K8200 uses same board
2015-01-19 00:53:17 +01:00
CONSULitAS 51c7f2fd5a Revert "## Add: Example Configuration for Vellemann K8200"
This reverts commit 5333590ac2.
2015-01-19 00:37:57 +01:00
CONSULitAS 5333590ac2 ## Add: Example Configuration for Vellemann K8200
* K8200: new folder in example_configurations for Vellemann K8200 (3Drag
clone - should work with 3Drag too, please report)

* K8200/language.h: updated machine name and URL for K8200

* K8200/Configuration.h/Configuration_adv.h: updated manually with
parameters
form genuine Vellemann Firmware "firmware_k8200_marlinv2" based on the
recent development branch

* K8200/files by Vellemann: added folder with original files from
Vellemann homepage, since there is no GitHub fork you could link to by
them

I tested the changes on my K8200 with 20x4-LCD and Arduino 1.0.5 for
Windows - everything works well
2015-01-19 00:28:55 +01:00
Denis Chertykov ba3ac40b9d Remove hardcoded programmer option (-cwiring). Use variable AVRDUDE_PROGRAMMER.
Change default value of AVRDUDE_PROGRAMMER to 'wiring'.
2015-01-18 20:18:43 +03:00
daid 993bcd370f Merge pull request #1373 from MarlinFirmware/revert-1350-Development
Revert "Reduce PROGMEM warnings"
2015-01-16 16:48:41 +01:00
daid 53f971095d Revert "Reduce PROGMEM warnings" 2015-01-16 16:48:22 +01:00
Bo Herrmannsen 5c7e38478b Merge pull request #1369 from PxT/patch-1
Update printrboard pin assignments
2015-01-16 15:35:42 +01:00
PxT 67b597ad46 Update printrboard pin assignments
Backported from Printrbot branch, allows the fan to work correctly.
2015-01-15 19:48:40 -08:00
Bo Herrmannsen 88fe6777bf Update README.md 2015-01-16 04:29:12 +01:00
galexander1 1a2f796dc7 Merge pull request #1368 from MarlinFirmware/revert-1357-SDlib
Revert "Move Sd library out into library"
2015-01-15 18:52:44 -05:00
galexander1 d4880a9e60 Revert "Move Sd library out into library" 2015-01-15 18:52:10 -05:00
Bo Herrmannsen ccdb086fc8 Merge pull request #1363 from PxT/patch-1
Fixes #1361
2015-01-15 10:57:44 +01:00
Bo Herrmannsen 5151db5c2f Merge pull request #1349 from msutas/patch-2
Improvement - G29 Option for Not Retracting Servo
2015-01-15 10:56:31 +01:00
Bo Herrmannsen 1746b2582b Merge pull request #1332 from Sniffle/Development
Rambo FAN_PIN documentation and servo support
2015-01-15 10:56:17 +01:00
Bo Herrmannsen 4b51b5a46d Merge pull request #1357 from odewdney/SDlib
Move Sd library out into library
2015-01-15 10:56:07 +01:00
Bo Herrmannsen f2cb4a3655 Merge pull request #1353 from thawkins/Development
fix avrdude upload in makefile
2015-01-15 10:55:33 +01:00
Bo Herrmannsen 2d398393bd Merge pull request #1359 from PxT/patch-2
Update GCodes.md
2015-01-15 10:54:44 +01:00
PxT 9fd4292923 Fixes #1361 2015-01-13 10:59:50 -08:00
PxT d4c8cfe1f2 Update GCodes.md
Removed remaining angle brackets which are not displayed properly in Github-flavored Markdown.
2015-01-13 09:23:13 -08:00
odewdney cf50c0eff8 Arduino.h case sensitive include 2015-01-13 14:30:28 +00:00
odewdney abdb974d7f Changed dir sep from windows to unix 2015-01-13 14:22:57 +00:00
odewdney db3b4d0c98 Add library to build 2015-01-13 14:19:20 +00:00
odewdney f84ff4ba7d Move SD Fat library out of main src 2015-01-13 13:31:55 +00:00
Bo Herrmannsen ab074dac17 Merge pull request #1344 from grob6000/independent_pid
Independent PID parameters for each extruder
2015-01-13 12:10:37 +01:00
Bo Herrmannsen d4a665694a Merge pull request #1350 from odewdney/Development
Reduce PROGMEM warnings
2015-01-13 11:26:50 +01:00
Bo Herrmannsen b6623a0d49 Merge pull request #1351 from PxT/patch-1
Update GCodes.md
2015-01-13 11:26:24 +01:00
odewdney 9d9c859ac1 First move of SdFat library 2015-01-13 08:04:32 +00:00
Tim Hawkins 5045d17a39 fix avrdude upload in makefile 2015-01-13 13:01:43 +08:00
PxT 848475a5b0 Update GCodes.md
Sort Gcodes numerically, other minor formatting changes
2015-01-12 13:28:31 -08:00
msutas 3a5a6f42fb Corrected the ABL grid option
G29 E was not retracting the probe on the last probe point when used with ABL grid. Corrected.
2015-01-12 11:07:46 +02:00
odewdney cd55a93a13 re-add blank line 2015-01-11 19:22:35 +00:00
odewdney 23bfe30036 moved include themister to temperature.c 2015-01-11 18:18:32 +00:00
odewdney 538859669d Removing compiler warnings for progmem 2015-01-11 18:14:21 +00:00
Bo Herrmannsen 46843bd927 adding back notes on servo power 2015-01-11 14:18:38 +01:00
Bo Herrmannsen d9cd8e9e69 starting to add back note on ramps servo power 2015-01-11 14:16:33 +01:00
grob6000 bf2c923db5 Make multiple PID parameters a config option
* Adds config parameter `PID_PARAMS_PER_EXTRUDER` - allows single PID
parameters to be used where this would be preferable (e.g. dual
identical extruders)
* When disabled, will use `float Kp, Ki, Kd, Kc;` as before.
Preprocessor macros used to switch between.
* ultralcd.cpp defines extra menus for extra parameters only where
required
* M301 reports `e:xx` only if independent pid parameters enabled
* EEPROM structure still leaves space for 3 extruders worth, when undef
will save single parameter to all extruder positions, but only read the
first
* Switching off saves approx 330 B with no LCD enabled, 2634B with LCD
(RRD) enabled: this is significant.
* LCD modifications should be tested.
2015-01-11 13:50:17 +11:00
grob6000 0877aa0fe0 Merge remote-tracking branch 'upstream/Development' into independent_pid 2015-01-11 11:32:58 +11:00
msutas e0beb98fd3 Improvement - G29 Option for Not Retracting Servo
This change introduces an improvement to G29 command on Marlin.

Auto bed leveling operation's reliability is based on the repeatability of the Z-probe switch and the servo. This change introduces an option to G29 command. When the G29 command is sent with an "e" option, during auto bed levelling the servo is not retracted between probes which decreases the bias on auto bed levelling resulting from servo.

G29 command does the auto bed probing as it is.

G29 E command engages the servo on first probing point, probes all points and retracts the servo after probing the last point.

Please comment your opinions, test on your printer and check the code on a programmer's perspective. (I am not a good programmer.)
2015-01-10 17:25:39 +02:00
Bo Herrmannsen 1d4af46496 Merge pull request #1348 from stv0g/LogoLCD
Adding new Marlin to splash screen
2015-01-10 16:08:03 +01:00
grob6000 7d32c7f36d Multiple PID parameter edit for ultralcd
* Depending on extruder count, will add menu items for ultralcd to edit
individual PID parameters for each extruder
* Added menu items to each language_xx.h
* Builds OK, but recommend testing with typical LCD
2015-01-11 01:14:02 +11:00
Steffen Vogel 69dc411ae0 Merge branch 'Development' of github.com:MarlinFirmware/Marlin into LogoLCD
Conflicts:
	Marlin/dogm_lcd_implementation.h
2015-01-10 14:57:11 +01:00
Steffen Vogel d74394369b Merge pull request #1343 from thinkyhead/dogm_progress_bar
DOGLCD and LCD_PROGRESS_BAR to coexist
2015-01-10 11:37:15 +01:00
grob6000 3e2af67ce3 Fix R-H compatibility
* R-H reads incorrect M301 line from EEPROM output if more than one is
present. Reverted to original output format, using only E0 value.
2015-01-10 16:44:28 +11:00
grob6000 37c7e8300f Independent PID parameters for each extruder
* Variables Kp, Ki, Kd, Kc now arrays of size EXTRUDERS
* M301 gains (optional, default=0) E parameter to define which
extruder's settings to modify. Tested, works with Repetier Host's EEPROM
config window, albeit only reads/updates settings for E0.
* All Kp, Ki, Kd, Kc parameters saved in EEPROM (version now v14), up to
3 extruders supported (same as Marlin in general)
2015-01-10 16:35:12 +11:00
Scott Lahteine 326b925557 DOGLCD and LCD_PROGRESS_BAR to coexist
Small changes (and formatting to confuse the diff’er) which first
allows DOGLCD and LCD_PROGRESS_BAR to be enabled in tandem, then a
#warning (rather than error) that the extra progress bar / message
options don’t apply to graphical displays at this time. This leaves
open perhaps combining the progress bar and message area in some future
(or forked custom) graphical LCD display arrangement (at which time the
relevant variables may be moved into ultralcd.cpp with externs in
ultralcd.h). I also added a conditional error that the progress bar and
the filament display may not work well together.
2015-01-09 18:16:56 -08:00
Steffen Vogel 6e8e9bb41e added link to IRC web chat, archive and mailing list 2015-01-09 22:28:47 +01:00
Bo Herrmannsen 5b4daf2669 removed hangout... only one asked for it 2015-01-09 22:08:36 +01:00
Erik van der Zalm 1aade4a8e2 Merge branch 'Development' of https://github.com/MarlinFirmware/Marlin into Development 2015-01-09 21:33:29 +01:00
Erik van der Zalm 8a2e84e3f1 Possible fix for FWRETRACT with 0 zlift. 2015-01-09 21:33:02 +01:00
Steffen Vogel 905aab3b85 added missing #endif 2015-01-09 20:23:38 +01:00
Steffen Vogel b9cf1465a7 updated LCD bouts with new strings and bitmaps
new version is pretty generic and should work in most scenarios
2015-01-09 18:49:59 +01:00
Steffen Vogel c7632be5cc added high and low resolutions version of splash screen logo (saving code size) 2015-01-09 18:49:24 +01:00
Steffen Vogel 8f0dba7cbf adding string for bouts splash string to config 2015-01-09 18:48:30 +01:00
Steffen Vogel eafa98e6f4 added two black/white versions of the Marlin Logo for the LCD
splashscreen
2015-01-09 17:52:23 +01:00
Bo Herrmannsen d94109e886 updated logo post and ver info 2015-01-09 15:51:15 +01:00
Bo Herrmannsen cd33b5b062 changed logo and ver info
logo is now 110 pixels wide and starts 9 pixels in from top left corner and also 9 pixels down from same corner... this will give a 9 pixel border all way round

ver info is placed centered and there is a 9 pixel from bottom of display to ver info
2015-01-09 15:44:47 +01:00
Bo Herrmannsen 9b6c1cfda6 removed unneeded lines in welcome msg 2015-01-09 15:20:41 +01:00
Bo Herrmannsen ffa09f86f4 moved ver info 5 spaces to the right 2015-01-09 13:31:23 +01:00
Alex Borro 2bbb68be8a Fix calculation of BAL grid fitting into the bed
The previous calc was wrong. Between N points there are only N-1 gaps,
not N.

So changing AUTO_BED_LEVELING_GRID_POINTS to
(AUTO_BED_LEVELING_GRID_POINTS-1)
2015-01-09 10:17:33 -02:00
Bo Herrmannsen 590caafa2d changed ver info 2015-01-09 13:17:08 +01:00
Bo Herrmannsen 3bb9b31515 changed boot logo a bit to test if fat wall goes away 2015-01-09 12:51:21 +01:00
Bo Herrmannsen 47881574ed Merge pull request #1336 from stv0g/Documentation
Documentation restructuring
2015-01-08 20:35:45 +01:00
Steffen Vogel 26337a56cc Merge branch 'Documentation' of github.com:stv0g/Marlin into Documentation 2015-01-08 20:02:56 +01:00
Steffen Vogel eaa462279e Merge branch 'Development' of github.com:MarlinFirmware/Marlin into Documentation
Conflicts:
	README.md
2015-01-08 20:02:40 +01:00
Steffen Vogel 6712179502 updated milestone link 2015-01-08 19:57:09 +01:00
Steffen Vogel 6dc9e87b68 added missing bracket 2015-01-08 19:55:33 +01:00
Steffen Vogel 38669a56cb updated credits 2015-01-08 19:54:46 +01:00
Steffen Vogel 49b759b804 added credits 2015-01-08 19:48:56 +01:00
Steffen Vogel 6388be0731 reformatting 2015-01-08 19:38:52 +01:00
Steffen Vogel c98d87935a reformatting 2015-01-08 19:37:36 +01:00
Steffen Vogel 11a42c3215 fixed formatting issue 2015-01-08 19:26:23 +01:00
Steffen Vogel d19ef56199 started hardware list 2015-01-08 19:21:57 +01:00
Steffen Vogel bc91167363 moved licence to Documentation (its linked from the frontpage) to get a cleaner top level dir 2015-01-08 18:59:40 +01:00
Steffen Vogel fd68d0074b added missing gcodes description 2015-01-08 18:59:40 +01:00
Steffen Vogel cf88d61c20 added links to reprap.org and the license 2015-01-08 18:59:40 +01:00
Steffen Vogel 4a1f34c522 added logo to README 2015-01-08 18:58:57 +01:00
Steffen Vogel e351eec169 added logo for GitHub Readme 2015-01-08 18:58:08 +01:00
Steffen Vogel 6f137bbe3e updated compilation/configuring instructions 2015-01-08 18:58:08 +01:00
Steffen Vogel 5db6ffc03e fixed line endings 2015-01-08 18:58:08 +01:00
Steffen Vogel abea094f90 fixed hyperlinks 2015-01-08 18:57:33 +01:00
Steffen Vogel 04eafe3d04 splitted huge README.md in several sections and moved them to the
Documentation directory
2015-01-08 18:55:32 +01:00
Erik van der Zalm a06700a14b Revert "issue 968 for dev branch" 2015-01-08 18:54:06 +01:00
andrewsil1 489b4fd3a5 Fix grammar/typos in new Configuration.h option
(For the SLOW_PWM_HEATERS option)
2015-01-08 18:54:06 +01:00
Bo Herrmannsen fdf9dbb6fe added link to google hangout 2015-01-08 18:54:06 +01:00
Todd Swindoll 506353892e Rambo Pin documentation and servo support
Updated pins reference and servo support.

cross referenced between Rambo 1.1, 1.2, and 1.3
2015-01-07 11:02:05 -06:00
Wurstnase 5de8cce7bf Merge pull request #2 from MarlinFirmware/development
Dev-Pull
2015-01-06 21:07:47 +01:00
odewdney 652895d656 try different proproc for CI failure 2015-01-04 11:15:23 +00:00
odewdney 39fae9e3a3 Fix progmem warning
Borrow code from https://github.com/arduino/Arduino/issues/1793
2015-01-03 21:30:16 +00:00
1030 changed files with 147958 additions and 444846 deletions
+20
View File
@@ -0,0 +1,20 @@
# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto
# Files with Unix line endings
*.c text eol=lf
*.cpp text eol=lf
*.h text eol=lf
*.ino text eol=lf
*.py text eol=lf
*.sh text eol=lf
*.scad text eol=lf
# Files with native line endings
# *.sln text
# Binary files
*.png binary
*.jpg binary
*.fon binary
Regular → Executable
+132 -2
View File
@@ -1,8 +1,138 @@
*.o
#
# Marlin 3D Printer Firmware
# Copyright (C) 2017 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
#
# Based on Sprinter and grbl.
# Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Our automatic versioning scheme generates the following file
# NEVER put it in the repository
_Version.h
#
# OS
#
applet/
*.DS_Store
#
# Misc
#
*~
*.orig
*.rej
*.bak
*.DS_Store
*.idea
*.s
*.i
*.ii
*.swp
tags
#
# C++
#
# Compiled Object files
*.slo
*.lo
*.o
*.obj
*.ino.cpp
# Precompiled Headers
*.gch
*.pch
# Compiled Dynamic libraries
*.so
*.dylib
*.dll
# Fortran module files
*.mod
*.smod
# Compiled Static libraries
*.lai
*.la
*.a
*.lib
# Executables
*.exe
*.out
*.app
#
# C
#
# Object files
*.o
*.ko
*.obj
*.elf
# Precompiled Headers
*.gch
*.pch
# Libraries
*.lib
*.a
*.la
*.lo
# Shared objects (inc. Windows DLLs)
*.dll
*.so
*.so.*
*.dylib
# Executables
*.exe
*.out
*.app
*.i*86
*.x86_64
*.hex
# Debug files
*.dSYM/
*.su
# PlatformIO files/dirs
.pio*
lib/readme.txt
#Visual Studio
*.sln
*.vcxproj
*.vcxproj.filters
Marlin/Release/
Marlin/Debug/
Marlin/__vm/
Marlin/.vs/
#cmake
CMakeLists.txt
Marlin/CMakeLists.txt
CMakeListsPrivate.txt
#CLion
cmake-build-*
+411 -146
View File
@@ -1,160 +1,425 @@
---
language: c
#
notifications:
email: false
#
before_install:
- pwd
- wget https://bootstrap.pypa.io/get-pip.py
- wget https://bintray.com/artifact/download/olikraus/u8glib/u8glib_arduino_v1.17.zip
#
# Fetch the tag information for the current branch
- git fetch origin --tags
#
# Publish the buildroot script folder
- chmod +x ${TRAVIS_BUILD_DIR}/buildroot/bin/*
- ln -s ${TRAVIS_BUILD_DIR}/buildroot/bin/ ~/bin
#
# Start fb X server
- "/sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_1.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :1 -ac -screen 0 1280x1024x16"
- sleep 3
- export DISPLAY=:1.0
#
install:
- sudo python get-pip.py
- sudo pip install ino
# add ppa for newer version of Arduino than available in ubuntu 12.04
- sudo add-apt-repository ppa:michael-gruz/elektronik -y
- sudo apt-get update -q
- sudo apt-get install arduino
#
# Install arduino 1.6.10
- wget http://downloads-02.arduino.cc/arduino-1.6.10-linux64.tar.xz
- tar xf arduino-1.6.10-linux64.tar.xz
- sudo mv arduino-1.6.10 /usr/local/share/arduino
- ln -s /usr/local/share/arduino/arduino ${TRAVIS_BUILD_DIR}/buildroot/bin/arduino
#
# Install: LiquidCrystal_I2C library
- git clone https://github.com/kiyoshigawa/LiquidCrystal_I2C.git
- mv LiquidCrystal_I2C/LiquidCrystal_I2C /usr/local/share/arduino/libraries/LiquidCrystal_I2C
#
# Install: LiquidTWI2 library
- git clone https://github.com/lincomatic/LiquidTWI2.git
- sudo mv LiquidTWI2 /usr/local/share/arduino/libraries/LiquidTWI2
#
# Install: Monochrome Graphics Library for LCDs and OLEDs
- git clone https://github.com/olikraus/U8glib_Arduino.git
- sudo mv U8glib_Arduino /usr/local/share/arduino/libraries/U8glib
#
# Install: L6470 Stepper Motor Driver library
# - git clone https://github.com/ameyer/Arduino-L6470.git
# - sudo mv Arduino-L6470/L6470 /usr/local/share/arduino/libraries/L6470
#
# Install: TMC26X Stepper Motor Controller library
# - git clone https://github.com/trinamic/TMC26XStepper.git
# - sudo mv TMC26XStepper /usr/local/share/arduino/libraries/TMC26XStepper
#
# Install: TMC2130 Stepper Motor Controller library
- git clone https://github.com/teemuatlut/TMC2130Stepper.git
- sudo mv TMC2130Stepper /usr/local/share/arduino/libraries/TMC2130Stepper
#
before_script:
# add U8glib, LiquidCrystal_I2C & LiquidTWI2 libraries
- sudo unzip u8glib_arduino_v1.17.zip -d /usr/share/arduino/libraries/
- cd /usr/share/arduino/libraries/
- sudo git clone https://github.com/kiyoshigawa/LiquidCrystal_I2C.git
- ls -la
- ls -la LiquidCrystal_I2C/
- sudo git clone https://github.com/lincomatic/LiquidTWI2.git
# remove Robot_Control library to stop compile error!
- sudo rm -rf /usr/share/arduino/libraries/Robot_Control
# change back to home directory for compiling
- cd $TRAVIS_BUILD_DIR
# ino needs files in src directory
- ln -s Marlin src
# remove Marlin.pde as it confuses ino after it finds Marlin.ino
- rm Marlin/Marlin.pde
#
# Change current working directory to the build dir
- cd ${TRAVIS_BUILD_DIR}
#
# Generate custom version include
- generate_version_header_for_marlin ${TRAVIS_BUILD_DIR}/Marlin
- cat ${TRAVIS_BUILD_DIR}/Marlin/_Version.h
#
script:
# build default config
- ino build -m mega2560
# backup configuration.h
#
# Backup Configuration.h, Configuration_adv.h, and pins_RAMPS.h
#
- cp Marlin/Configuration.h Marlin/Configuration.h.backup
- cp Marlin/Configuration_adv.h Marlin/Configuration_adv.h.backup
# change extruder numbers from 1 to 2
# commented out for the moment fails build but compiles fine in Arduino
#- sed -i 's/#define EXTRUDERS 1/#define EXTRUDERS 2/g' Marlin/Configuration.h
#- rm -rf .build/
#- ino build -m mega2560
# change extruder numbers from 2 to 3, needs to be a board with 3 extruders defined in pins.h
#- sed -i 's/#define MOTHERBOARD BOARD_ULTIMAKER/#define MOTHERBOARD BOARD_AZTEEG_X3_PRO/g' Marlin/Configuration.h
#- sed -i 's/#define EXTRUDERS 2/#define EXTRUDERS 3/g' Marlin/Configuration.h
#- rm -rf .build/
#- ino build -m mega2560
# enable PIDTEMPBED
- cp Marlin/Configuration.h.backup Marlin/Configuration.h
- sed -i 's/\/\/#define PIDTEMPBED/#define PIDTEMPBED/g' Marlin/Configuration.h
- rm -rf .build/
- ino build -m mega2560
# enable THERMAL RUNAWAY PROTECTION for extruders & bed
- cp Marlin/Configuration.h.backup Marlin/Configuration.h
- sed -i 's/\/\/#define THERMAL_RUNAWAY_PROTECTION_PERIOD/#define THERMAL_RUNAWAY_PROTECTION_PERIOD/g' Marlin/Configuration.h
- sed -i 's/\/\/#define THERMAL_RUNAWAY_PROTECTION_HYSTERESIS/#define THERMAL_RUNAWAY_PROTECTION_HYSTERESIS/g' Marlin/Configuration.h
- sed -i 's/\/\/#define THERMAL_RUNAWAY_PROTECTION_BED_PERIOD/#define THERMAL_RUNAWAY_PROTECTION_BED_PERIOD/g' Marlin/Configuration.h
- sed -i 's/\/\/#define THERMAL_RUNAWAY_PROTECTION_BED_HYSTERESIS/#define THERMAL_RUNAWAY_PROTECTION_BED_HYSTERESIS/g' Marlin/Configuration.h
- rm -rf .build/
- ino build -m mega2560
# enable AUTO_BED_LEVELING
- cp Marlin/Configuration.h.backup Marlin/Configuration.h
- sed -i 's/\/\/#define ENABLE_AUTO_BED_LEVELING/#define ENABLE_AUTO_BED_LEVELING/g' Marlin/Configuration.h
- rm -rf .build/
- ino build -m mega2560
# enable EEPROM_SETTINGS & EEPROM_CHITCHAT
- cp Marlin/Configuration.h.backup Marlin/Configuration.h
- sed -i 's/\/\/#define EEPROM_SETTINGS/#define EEPROM_SETTINGS/g' Marlin/Configuration.h
- sed -i 's/\/\/#define EEPROM_CHITCHAT/#define EEPROM_CHITCHAT/g' Marlin/Configuration.h
- rm -rf .build/
- ino build -m mega2560
### LCDS ###
# ULTIMAKERCONTROLLER
- cp Marlin/Configuration.h.backup Marlin/Configuration.h
- sed -i 's/\/\/#define ULTIMAKERCONTROLLER/#define ULTIMAKERCONTROLLER/g' Marlin/Configuration.h
- rm -rf .build/
- ino build -m mega2560
# MAKRPANEL
# Needs to use melzi and sanguino hardware
#- cp Marlin/Configuration.h.backup Marlin/Configuration.h
#- sed -i 's/\/\/#define MAKRPANEL/#define MAKRPANEL/g' Marlin/Configuration.h
#- rm -rf .build/
#- ino build -m mega2560
# REPRAP_DISCOUNT_SMART_CONTROLLER
- cp Marlin/Configuration.h.backup Marlin/Configuration.h
- sed -i 's/\/\/#define REPRAP_DISCOUNT_SMART_CONTROLLER/#define REPRAP_DISCOUNT_SMART_CONTROLLER/g' Marlin/Configuration.h
- rm -rf .build/
- ino build -m mega2560
# G3D_PANE
- cp Marlin/Configuration.h.backup Marlin/Configuration.h
- sed -i 's/\/\/#define G3D_PANEL/#define G3D_PANEL/g' Marlin/Configuration.h
- rm -rf .build/
- ino build -m mega2560
# REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
- cp Marlin/Configuration.h.backup Marlin/Configuration.h
- sed -i 's/\/\/#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER/#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER/g' Marlin/Configuration.h
- rm -rf .build/
- ino build -m mega2560
# REPRAPWORLD_KEYPAD
# Cant find configuration details to get it to compile
#- cp Marlin/Configuration.h.backup Marlin/Configuration.h
#- sed -i 's/\/\/#define ULTRA_LCD/#define ULTRA_LCD/g' Marlin/Configuration.h
#- sed -i 's/\/\/#define REPRAPWORLD_KEYPAD/#define REPRAPWORLD_KEYPAD/g' Marlin/Configuration.h
#- sed -i 's/\/\/#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0/#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0/g' Marlin/Configuration.h
#- rm -rf .build/
#- ino build -m mega2560
# RA_CONTROL_PANEL
- cp Marlin/Configuration.h.backup Marlin/Configuration.h
- sed -i 's/\/\/#define RA_CONTROL_PANEL/#define RA_CONTROL_PANEL/g' Marlin/Configuration.h
- rm -rf .build/
- ino build -m mega2560
### I2C PANELS ###
# LCD_I2C_SAINSMART_YWROBOT
# Failing at the moment needs different library
#- cp Marlin/Configuration.h.backup Marlin/Configuration.h
#- sed -i 's/\/\/#define LCD_I2C_SAINSMART_YWROBOT/#define LCD_I2C_SAINSMART_YWROBOT/g' Marlin/Configuration.h
#- rm -rf .build/
#- ino build -m mega2560
# LCD_I2C_PANELOLU2
- cp Marlin/Configuration.h.backup Marlin/Configuration.h
- sed -i 's/\/\/#define LCD_I2C_PANELOLU2/#define LCD_I2C_PANELOLU2/g' Marlin/Configuration.h
- rm -rf .build/
- ino build -m mega2560
# LCD_I2C_VIKI
- cp Marlin/Configuration.h.backup Marlin/Configuration.h
- sed -i 's/\/\/#define LCD_I2C_VIKI/#define LCD_I2C_VIKI/g' Marlin/Configuration.h
- rm -rf .build/
- ino build -m mega2560
- cp Marlin/pins_RAMPS.h Marlin/pins_RAMPS.h.backup
#
# Build with the default configurations
#
- build_marlin
#
# Test heated bed temperature sensor
#
- opt_set TEMP_SENSOR_BED 1
- build_marlin
#
# Test 2 extruders on basic RAMPS 1.4
#
- opt_set MOTHERBOARD BOARD_RAMPS_14_EEB
- opt_set EXTRUDERS 2
- opt_set TEMP_SENSOR_1 1
- build_marlin
#
# Test 5 extruders on AZTEEG_X3_PRO (can use any board with >=5 extruders defined)
# Include a test for LIN_ADVANCE here also
#
- opt_set MOTHERBOARD BOARD_AZTEEG_X3_PRO
- opt_set EXTRUDERS 5
- opt_set TEMP_SENSOR_1 1
- opt_set TEMP_SENSOR_2 5
- opt_set TEMP_SENSOR_3 20
- opt_set TEMP_SENSOR_4 999
- opt_set TEMP_SENSOR_BED 1
- opt_enable_adv LIN_ADVANCE
- build_marlin
#
# Test PIDTEMPBED
#
- restore_configs
- opt_set TEMP_SENSOR_BED 1
- opt_enable PIDTEMPBED
- build_marlin
#
# Test MAX6675
#
- restore_configs
- opt_set TEMP_SENSOR_0 -2
- build_marlin
#
# Test a "Fix Mounted" Probe along with Safe Homing
#
- restore_configs
- opt_enable FIX_MOUNTED_PROBE Z_SAFE_HOMING
- build_marlin
#
# ...with AUTO_BED_LEVELING_LINEAR, Z_MIN_PROBE_REPEATABILITY_TEST, and DEBUG_LEVELING_FEATURE
#
- opt_enable AUTO_BED_LEVELING_LINEAR Z_MIN_PROBE_REPEATABILITY_TEST DEBUG_LEVELING_FEATURE
- opt_set ABL_GRID_POINTS_X 16
- opt_set ABL_GRID_POINTS_Y 16
- build_marlin
#
# Test a simple build of AUTO_BED_LEVELING_UBL
#
- restore_configs
- opt_enable AUTO_BED_LEVELING_UBL UBL_G26_MESH_EDITING ENABLE_LEVELING_FADE_HEIGHT FIX_MOUNTED_PROBE EEPROM_SETTINGS G3D_PANEL
- opt_enable_adv CUSTOM_USER_MENUS
- build_marlin
#
# Test a Sled Z Probe
# ...with AUTO_BED_LEVELING_LINEAR, DEBUG_LEVELING_FEATURE, EEPROM_SETTINGS, and EEPROM_CHITCHAT
#
- restore_configs
- opt_enable Z_PROBE_SLED AUTO_BED_LEVELING_LINEAR DEBUG_LEVELING_FEATURE EEPROM_SETTINGS EEPROM_CHITCHAT
- build_marlin
#
# Test a Servo Probe
# ...with AUTO_BED_LEVELING_3POINT, DEBUG_LEVELING_FEATURE, EEPROM_SETTINGS, EEPROM_CHITCHAT, EXTENDED_CAPABILITIES_REPORT, and AUTO_REPORT_TEMPERATURES
#
- restore_configs
- opt_enable NUM_SERVOS Z_ENDSTOP_SERVO_NR Z_SERVO_ANGLES DEACTIVATE_SERVOS_AFTER_MOVE
- opt_enable AUTO_BED_LEVELING_3POINT DEBUG_LEVELING_FEATURE EEPROM_SETTINGS EEPROM_CHITCHAT
- opt_enable_adv EXTENDED_CAPABILITIES_REPORT AUTO_REPORT_TEMPERATURES AUTOTEMP
- build_marlin
#
# Test MESH_BED_LEVELING feature, with LCD
#
- restore_configs
- opt_enable MESH_BED_LEVELING MESH_G28_REST_ORIGIN LCD_BED_LEVELING ULTIMAKERCONTROLLER
- build_marlin
#
# Test PROBE_MANUALLY feature, with LCD support
#
- restore_configs
- opt_enable PROBE_MANUALLY AUTO_BED_LEVELING_BILINEAR LCD_BED_LEVELING ULTIMAKERCONTROLLER
- build_marlin
#
# Test EEPROM_SETTINGS, EEPROM_CHITCHAT, M100_FREE_MEMORY_WATCHER,
# INCH_MODE_SUPPORT, TEMPERATURE_UNITS_SUPPORT
#
- restore_configs
- opt_enable EEPROM_SETTINGS EEPROM_CHITCHAT M100_FREE_MEMORY_WATCHER M100_FREE_MEMORY_DUMPER M100_FREE_MEMORY_CORRUPTOR INCH_MODE_SUPPORT TEMPERATURE_UNITS_SUPPORT
- build_marlin
#
# Mixing Extruder with 5 steppers
#
- restore_configs
- opt_set MOTHERBOARD BOARD_AZTEEG_X3_PRO
- opt_enable MIXING_EXTRUDER
- opt_set MIXING_STEPPERS 5
- build_marlin
#
# Test DUAL_X_CARRIAGE
#
- restore_configs
- opt_set MOTHERBOARD BOARD_RUMBA
- opt_set EXTRUDERS 2
- opt_set TEMP_SENSOR_1 1
- opt_enable USE_XMAX_PLUG
- opt_enable_adv DUAL_X_CARRIAGE
- build_marlin
#
# Test SPEAKER with BOARD_BQ_ZUM_MEGA_3D and BQ_LCD_SMART_CONTROLLER
#
- restore_configs
- opt_set MOTHERBOARD BOARD_BQ_ZUM_MEGA_3D
- opt_set LCD_FEEDBACK_FREQUENCY_DURATION_MS 10
- opt_set LCD_FEEDBACK_FREQUENCY_HZ 100
- opt_enable BQ_LCD_SMART_CONTROLLER SPEAKER
#
# Test SWITCHING_EXTRUDER
#
- restore_configs
- opt_set MOTHERBOARD BOARD_RUMBA
- opt_set EXTRUDERS 2
- opt_enable NUM_SERVOS
- opt_set NUM_SERVOS 1
- opt_set TEMP_SENSOR_1 1
- opt_enable SWITCHING_EXTRUDER ULTIMAKERCONTROLLER
- build_marlin
#
# Test MINIRAMBO for PWM_MOTOR_CURRENT
#
- restore_configs
- opt_set MOTHERBOARD BOARD_MINIRAMBO
- build_marlin
#
# Test FILAMENT_CHANGE_FEATURE, PARK_HEAD_ON_PAUSE, and LCD_INFO_MENU
#
- restore_configs
- opt_enable ULTIMAKERCONTROLLER
- opt_enable_adv FILAMENT_CHANGE_FEATURE PARK_HEAD_ON_PAUSE LCD_INFO_MENU
- build_marlin
#
# Enable filament sensor
- cp Marlin/Configuration.h.backup Marlin/Configuration.h
- sed -i 's/\/\/#define FILAMENT_SENSOR/#define FILAMENT_SENSOR/g' Marlin/Configuration.h
- rm -rf .build/
- ino build -m mega2560
# Enable filament sensor with LCD display
- cp Marlin/Configuration.h.backup Marlin/Configuration.h
- sed -i 's/\/\/#define ULTIMAKERCONTROLLER/#define ULTIMAKERCONTROLLER/g' Marlin/Configuration.h
- sed -i 's/\/\/#define FILAMENT_SENSOR/#define FILAMENT_SENSOR/g' Marlin/Configuration.h
- sed -i 's/\/\/#define FILAMENT_LCD_DISPLAY/#define FILAMENT_LCD_DISPLAY/g' Marlin/Configuration.h
- rm -rf .build/
- ino build -m mega2560
#
- restore_configs
- opt_enable FILAMENT_WIDTH_SENSOR
- build_marlin
#
# Enable filament sensor with LCD display
#
- opt_enable ULTIMAKERCONTROLLER FILAMENT_LCD_DISPLAY
- build_marlin
#
# Enable BEZIER_CURVE_SUPPORT, EXPERIMENTAL_I2CBUS, and I2C_SLAVE_ADDRESS
#
- restore_configs
- opt_enable_adv BEZIER_CURVE_SUPPORT EXPERIMENTAL_I2CBUS
- opt_set_adv I2C_SLAVE_ADDRESS 63
- build_marlin
#
# Enable COREXY
#
- restore_configs
- opt_enable COREXY
- build_marlin
#
# Enable COREYX (swapped)
#
- restore_configs
- opt_enable COREYX
- build_marlin
#
# Enable Z_DUAL_STEPPER_DRIVERS, Z_DUAL_ENDSTOPS
#
- restore_configs
- opt_enable_adv Z_DUAL_STEPPER_DRIVERS Z_DUAL_ENDSTOPS
- pins_set RAMPS X_MAX_PIN -1
- opt_set_adv Z2_MAX_PIN 2
- build_marlin
#
# Test PRINTCOUNTER
#
- restore_configs
- opt_enable PRINTCOUNTER
- build_marlin
#
# Test NOZZLE_PARK_FEATURE
#
- restore_configs
- opt_enable NOZZLE_PARK_FEATURE
- build_marlin
#
# Test NOZZLE_CLEAN_FEATURE
#
- restore_configs
- opt_enable NOZZLE_CLEAN_FEATURE
- build_marlin
#
#
######## STANDARD LCD/PANELS ##############
#
# ULTRA_LCD
#
- restore_configs
- opt_enable ULTRA_LCD
- build_marlin
#
# DOGLCD
#
- restore_configs
- opt_enable DOGLCD
- build_marlin
#
# ULTIMAKERCONTROLLER
#
- restore_configs
- opt_enable ULTIMAKERCONTROLLER
- build_marlin
#
# MAKRPANEL
# Needs to use Melzi and Sanguino hardware
#
#- restore_configs
#- opt_enable MAKRPANEL
#- build_marlin
#
# REPRAP_DISCOUNT_SMART_CONTROLLER, SDSUPPORT, and BABYSTEPPING
#
- restore_configs
- opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT BABYSTEPPING
- build_marlin
#
# G3D_PANEL
#
- restore_configs
- opt_enable G3D_PANEL SDSUPPORT
- build_marlin
#
# Add SDCARD_SORT_ALPHA, test G3D_PANEL again
#
- opt_enable_adv SDCARD_SORT_ALPHA
- opt_set_adv SDSORT_GCODE true
- opt_set_adv SDSORT_USES_RAM true
- opt_set_adv SDSORT_USES_STACK true
- opt_set_adv SDSORT_CACHE_NAMES true
- build_marlin
#
# REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
#
- restore_configs
- opt_enable REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER SDSUPPORT
- build_marlin
#
# REPRAPWORLD_KEYPAD
#
# Cant find configuration details to get it to compile
#- restore_configs
#- opt_enable ULTRA_LCD REPRAPWORLD_KEYPAD REPRAPWORLD_KEYPAD_MOVE_STEP
#- build_marlin
#
# RA_CONTROL_PANEL
#
- restore_configs
- opt_enable RA_CONTROL_PANEL PINS_DEBUGGING
- build_marlin
#
######## I2C LCD/PANELS ##############
#
# !!!ATTENTION!!!
# Most I2C configurations are failing at the moment because they require
# a different Liquid Crystal library "LiquidTWI2".
#
# LCD_I2C_SAINSMART_YWROBOT
#
#- restore_configs
#- opt_enable LCD_I2C_SAINSMART_YWROBOT
#- build_marlin
#
# LCD_I2C_PANELOLU2
#
#- restore_configs
#- opt_enable LCD_I2C_PANELOLU2
#- build_marlin
#
# LCD_I2C_VIKI
#
#- restore_configs
#- opt_enable LCD_I2C_VIKI
#- build_marlin
#
# LCM1602
#
- restore_configs
- opt_enable LCM1602
- build_marlin
#
#
######## Example Configurations ##############
# Delta Config
- cp Marlin/example_configurations/delta/Configuration* Marlin/
- rm -rf .build/
- ino build -m mega2560
#
# BQ Hephestos 2
- restore_configs
- use_example_configs Hephestos_2
- build_marlin
#
# Delta Config (generic) + ABL bilinear + PROBE_MANUALLY
- restore_configs
- use_example_configs delta/generic
- opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER DELTA_CALIBRATION_MENU AUTO_BED_LEVELING_BILINEAR PROBE_MANUALLY
- build_marlin
#
# Delta Config (generic) + UBL + ALLEN_KEY + OLED_PANEL_TINYBOY2 + EEPROM_SETTINGS
#
- use_example_configs delta/generic
- opt_disable DISABLE_MIN_ENDSTOPS
- opt_enable AUTO_BED_LEVELING_UBL Z_PROBE_ALLEN_KEY EEPROM_SETTINGS EEPROM_CHITCHAT OLED_PANEL_TINYBOY2
- build_marlin
#
# Delta Config (FLSUN AC because it's complex)
#
- use_example_configs delta/FLSUN/auto_calibrate
- build_marlin
#
# Makibox Config need to check board type for Teensy++ 2.0
#- cp Marlin/example_configurations/makibox/Configuration* Marlin/
#- rm -rf .build/
#- ino build -m mega2560
#
#- use_example_configs makibox
#- build_marlin
#
# SCARA Config
- cp Marlin/example_configurations/SCARA/Configuration* Marlin/
- rm -rf .build/
- ino build -m mega2560
#
- use_example_configs SCARA
- opt_enable AUTO_BED_LEVELING_BILINEAR FIX_MOUNTED_PROBE USE_ZMIN_PLUG EEPROM_SETTINGS EEPROM_CHITCHAT ULTIMAKERCONTROLLER
- build_marlin
#
# TMC2130 Config
#
- restore_configs
- opt_enable_adv HAVE_TMC2130 X_IS_TMC2130 Y_IS_TMC2130 Z_IS_TMC2130
- build_marlin
- opt_enable_adv AUTOMATIC_CURRENT_CONTROL STEALTHCHOP HYBRID_THRESHOLD SENSORLESS_HOMING
- build_marlin
#
# tvrrug Config need to check board type for sanguino atmega644p
#- cp Marlin/example_configurations/tvrrug/Round2/Configuration* Marlin/
#- rm -rf .build/
#- ino build -m mega2560
#
#- use_example_configs tvrrug/Round2
#- build_marlin
#
#
######## Board Types #############
- sed -i 's/#define MOTHERBOARD BOARD_RAMPS_13_EFB/#define MOTHERBOARD BOARD_DUEMILANOVE_328P/g' Marlin/Configuration.h
- rm -rf .build/
- ino build -m atmega328
#
# To be added in nightly test branch
#
@@ -1,35 +0,0 @@
##############################################################
Generation_Series.name=Gen6 & Gen6 Deluxe
Generation_Series.upload.protocol=stk500
Generation_Series.upload.maximum_size=63488
Generation_Series.upload.speed=38400
Generation_Series.bootloader.low_fuses=0xFF
Generation_Series.bootloader.high_fuses=0xDC
Generation_Series.bootloader.extended_fuses=0xFD
Generation_Series.bootloader.path=atmega644p
Generation_Series.bootloader.file=ATmegaBOOT_644P.hex
Generation_Series.bootloader.unlock_bits=0x3F
Generation_Series.bootloader.lock_bits=0x0F
Generation_Series.build.mcu=atmega644p
Generation_Series.build.f_cpu=16000000L
Generation_Series.build.core=arduino
##############################################################
Sanguinololu.name=Sanguinololu 1.2 and above
Sanguinololu.upload.protocol=stk500
Sanguinololu.upload.maximum_size=63488
Sanguinololu.upload.speed=38400
Sanguinololu.bootloader.low_fuses=0xFF
Sanguinololu.bootloader.high_fuses=0xDC
Sanguinololu.bootloader.extended_fuses=0xFD
Sanguinololu.bootloader.path=atmega644p
Sanguinololu.bootloader.file=ATmegaBOOT_644P.hex
Sanguinololu.bootloader.unlock_bits=0x3F
Sanguinololu.bootloader.lock_bits=0x0F
Sanguinololu.build.mcu=atmega644p
Sanguinololu.build.f_cpu=16000000L
Sanguinololu.build.core=arduino
@@ -1,713 +0,0 @@
/**********************************************************/
/* Serial Bootloader for Atmel megaAVR Controllers */
/* */
/* tested with ATmega644 and ATmega644P */
/* should work with other mega's, see code for details */
/* */
/* ATmegaBOOT.c */
/* */
/* 20090131: Added 324P support from Alex Leone */
/* Marius Kintel */
/* 20080915: applied ADABoot mods for Sanguino 644P */
/* Brian Riley */
/* 20080711: hacked for Sanguino by Zach Smith */
/* and Justin Day */
/* 20070626: hacked for Arduino Diecimila (which auto- */
/* resets when a USB connection is made to it) */
/* by D. Mellis */
/* 20060802: hacked for Arduino by D. Cuartielles */
/* based on a previous hack by D. Mellis */
/* and D. Cuartielles */
/* */
/* Monitor and debug functions were added to the original */
/* code by Dr. Erik Lins, chip45.com. (See below) */
/* */
/* Thanks to Karl Pitrich for fixing a bootloader pin */
/* problem and more informative LED blinking! */
/* */
/* For the latest version see: */
/* http://www.chip45.com/ */
/* */
/* ------------------------------------------------------ */
/* */
/* based on stk500boot.c */
/* Copyright (c) 2003, Jason P. Kyle */
/* All rights reserved. */
/* see avr1.org for original file and information */
/* */
/* This program is free software; you can redistribute it */
/* and/or modify it under the terms of the GNU General */
/* Public License as published by the Free Software */
/* Foundation; either version 2 of the License, or */
/* (at your option) any later version. */
/* */
/* This program is distributed in the hope that it will */
/* be useful, but WITHOUT ANY WARRANTY; without even the */
/* implied warranty of MERCHANTABILITY or FITNESS FOR A */
/* PARTICULAR PURPOSE. See the GNU General Public */
/* License for more details. */
/* */
/* You should have received a copy of the GNU General */
/* Public License along with this program; if not, write */
/* to the Free Software Foundation, Inc., */
/* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
/* */
/* Licence can be viewed at */
/* http://www.fsf.org/licenses/gpl.txt */
/* */
/* Target = Atmel AVR m128,m64,m32,m16,m8,m162,m163,m169, */
/* m8515,m8535. ATmega161 has a very small boot block so */
/* isn't supported. */
/* */
/* Tested with m168 */
/**********************************************************/
/* $Id$ */
/* some includes */
#include <inttypes.h>
#include <avr/io.h>
#include <avr/pgmspace.h>
#include <avr/interrupt.h>
#include <avr/wdt.h>
#include <avr/boot.h>
#ifdef ADABOOT
#define NUM_LED_FLASHES 3
#define ADABOOT_VER 1
#endif
/* 20070707: hacked by David A. Mellis - after this many errors give up and launch application */
#define MAX_ERROR_COUNT 5
/* set the UART baud rate */
/* 20080711: hack by Zach Hoeken */
#define BAUD_RATE 38400
/* SW_MAJOR and MINOR needs to be updated from time to time to avoid warning message from AVR Studio */
/* never allow AVR Studio to do an update !!!! */
#define HW_VER 0x02
#define SW_MAJOR 0x01
#define SW_MINOR 0x10
/* onboard LED is used to indicate, that the bootloader was entered (3x flashing) */
/* if monitor functions are included, LED goes on after monitor was entered */
#define LED_DDR DDRB
#define LED_PORT PORTB
#define LED_PIN PINB
#define LED PINB0
/* define various device id's */
/* manufacturer byte is always the same */
#define SIG1 0x1E // Yep, Atmel is the only manufacturer of AVR micros. Single source :(
#if defined(__AVR_ATmega644P__)
#define SIG2 0x96
#define SIG3 0x0A
#elif defined(__AVR_ATmega644__)
#define SIG2 0x96
#define SIG3 0x09
#elif defined(__AVR_ATmega324P__)
#define SIG2 0x95
#define SIG3 0x08
#endif
#define PAGE_SIZE 0x080U //128 words
#define PAGE_SIZE_BYTES 0x100U //256 bytes
/* function prototypes */
void putch(char);
char getch(void);
void getNch(uint8_t);
void byte_response(uint8_t);
void nothing_response(void);
char gethex(void);
void puthex(char);
void flash_led(uint8_t);
/* some variables */
union address_union
{
uint16_t word;
uint8_t byte[2];
} address;
union length_union
{
uint16_t word;
uint8_t byte[2];
} length;
struct flags_struct
{
unsigned eeprom : 1;
unsigned rampz : 1;
} flags;
uint8_t buff[256];
uint8_t error_count = 0;
uint8_t sreg;
void (*app_start)(void) = 0x0000;
/* main program starts here */
int main(void)
{
uint8_t ch,ch2;
uint16_t w;
uint16_t i;
asm volatile("nop\n\t");
#ifdef ADABOOT // BBR/LF 10/8/2007 & 9/13/2008
ch = MCUSR;
MCUSR = 0;
WDTCSR |= _BV(WDCE) | _BV(WDE);
WDTCSR = 0;
// Check if the WDT was used to reset, in which case we dont bootload and skip straight to the code. woot.
if (! (ch & _BV(EXTRF))) // if it's a not an external reset...
app_start(); // skip bootloader
#endif
//initialize our serial port.
UBRR0L = (uint8_t)(F_CPU/(BAUD_RATE*16L)-1);
UBRR0H = (F_CPU/(BAUD_RATE*16L)-1) >> 8;
UCSR0B = (1<<RXEN0) | (1<<TXEN0);
UCSR0C = (1<<UCSZ00) | (1<<UCSZ01);
/* Enable internal pull-up resistor on pin D0 (RX), in order
to supress line noise that prevents the bootloader from
timing out (DAM: 20070509) */
DDRD &= ~_BV(PIND0);
PORTD |= _BV(PIND0);
/* set LED pin as output */
LED_DDR |= _BV(LED);
/* flash onboard LED to signal entering of bootloader */
/* ADABOOT will do two series of flashes. first 4 - signifying ADABOOT */
/* then a pause and another flash series signifying ADABOOT sub-version */
flash_led(NUM_LED_FLASHES);
#ifdef ADABOOT
flash_led(ADABOOT_VER); // BBR 9/13/2008
#endif
/* forever loop */
for (;;)
{
/* get character from UART */
ch = getch();
/* A bunch of if...else if... gives smaller code than switch...case ! */
/* Hello is anyone home ? */
if(ch=='0')
nothing_response();
/* Request programmer ID */
/* Not using PROGMEM string due to boot block in m128 being beyond 64kB boundry */
/* Would need to selectively manipulate RAMPZ, and it's only 9 characters anyway so who cares. */
else if(ch=='1')
{
if (getch() == ' ')
{
putch(0x14);
putch('A');
putch('V');
putch('R');
putch(' ');
putch('I');
putch('S');
putch('P');
putch(0x10);
}
else
{
if (++error_count == MAX_ERROR_COUNT)
app_start();
}
}
/* AVR ISP/STK500 board commands DON'T CARE so default nothing_response */
else if(ch=='@')
{
ch2 = getch();
if (ch2 > 0x85)
getch();
nothing_response();
}
/* AVR ISP/STK500 board requests */
else if(ch=='A')
{
ch2 = getch();
if(ch2 == 0x80)
byte_response(HW_VER); // Hardware version
else if(ch2==0x81)
byte_response(SW_MAJOR); // Software major version
else if(ch2==0x82)
byte_response(SW_MINOR); // Software minor version
else if(ch2==0x98)
byte_response(0x03); // Unknown but seems to be required by avr studio 3.56
else
byte_response(0x00); // Covers various unnecessary responses we don't care about
}
/* Device Parameters DON'T CARE, DEVICE IS FIXED */
else if(ch=='B')
{
getNch(20);
nothing_response();
}
/* Parallel programming stuff DON'T CARE */
else if(ch=='E')
{
getNch(5);
nothing_response();
}
/* Enter programming mode */
else if(ch=='P')
{
nothing_response();
}
/* Leave programming mode */
else if(ch=='Q')
{
nothing_response();
#ifdef ADABOOT
// autoreset via watchdog (sneaky!) BBR/LF 9/13/2008
WDTCSR = _BV(WDE);
while (1); // 16 ms
#endif
}
/* Erase device, don't care as we will erase one page at a time anyway. */
else if(ch=='R')
{
nothing_response();
}
/* Set address, little endian. EEPROM in bytes, FLASH in words */
/* Perhaps extra address bytes may be added in future to support > 128kB FLASH. */
/* This might explain why little endian was used here, big endian used everywhere else. */
else if(ch=='U')
{
address.byte[0] = getch();
address.byte[1] = getch();
nothing_response();
}
/* Universal SPI programming command, disabled. Would be used for fuses and lock bits. */
else if(ch=='V')
{
getNch(4);
byte_response(0x00);
}
/* Write memory, length is big endian and is in bytes */
else if(ch=='d')
{
length.byte[1] = getch();
length.byte[0] = getch();
flags.eeprom = 0;
if (getch() == 'E')
flags.eeprom = 1;
for (i=0; i<PAGE_SIZE; i++)
buff[i] = 0;
for (w = 0; w < length.word; w++)
{
// Store data in buffer, can't keep up with serial data stream whilst programming pages
buff[w] = getch();
}
if (getch() == ' ')
{
if (flags.eeprom)
{
//Write to EEPROM one byte at a time
for(w=0;w<length.word;w++)
{
while(EECR & (1<<EEPE));
EEAR = (uint16_t)(void *)address.word;
EEDR = buff[w];
EECR |= (1<<EEMPE);
EECR |= (1<<EEPE);
address.word++;
}
}
else
{
//address * 2 -> byte location
address.word = address.word << 1;
//Even up an odd number of bytes
if ((length.byte[0] & 0x01))
length.word++;
// HACKME: EEPE used to be EEWE
//Wait for previous EEPROM writes to complete
//while(bit_is_set(EECR,EEPE));
while(EECR & (1<<EEPE));
asm volatile(
"clr r17 \n\t" //page_word_count
"lds r30,address \n\t" //Address of FLASH location (in bytes)
"lds r31,address+1 \n\t"
"ldi r28,lo8(buff) \n\t" //Start of buffer array in RAM
"ldi r29,hi8(buff) \n\t"
"lds r24,length \n\t" //Length of data to be written (in bytes)
"lds r25,length+1 \n\t"
"length_loop: \n\t" //Main loop, repeat for number of words in block
"cpi r17,0x00 \n\t" //If page_word_count=0 then erase page
"brne no_page_erase \n\t"
"wait_spm1: \n\t"
"lds r16,%0 \n\t" //Wait for previous spm to complete
"andi r16,1 \n\t"
"cpi r16,1 \n\t"
"breq wait_spm1 \n\t"
"ldi r16,0x03 \n\t" //Erase page pointed to by Z
"sts %0,r16 \n\t"
"spm \n\t"
"wait_spm2: \n\t"
"lds r16,%0 \n\t" //Wait for previous spm to complete
"andi r16,1 \n\t"
"cpi r16,1 \n\t"
"breq wait_spm2 \n\t"
"ldi r16,0x11 \n\t" //Re-enable RWW section
"sts %0,r16 \n\t"
"spm \n\t"
"no_page_erase: \n\t"
"ld r0,Y+ \n\t" //Write 2 bytes into page buffer
"ld r1,Y+ \n\t"
"wait_spm3: \n\t"
"lds r16,%0 \n\t" //Wait for previous spm to complete
"andi r16,1 \n\t"
"cpi r16,1 \n\t"
"breq wait_spm3 \n\t"
"ldi r16,0x01 \n\t" //Load r0,r1 into FLASH page buffer
"sts %0,r16 \n\t"
"spm \n\t"
"inc r17 \n\t" //page_word_count++
"cpi r17,%1 \n\t"
"brlo same_page \n\t" //Still same page in FLASH
"write_page: \n\t"
"clr r17 \n\t" //New page, write current one first
"wait_spm4: \n\t"
"lds r16,%0 \n\t" //Wait for previous spm to complete
"andi r16,1 \n\t"
"cpi r16,1 \n\t"
"breq wait_spm4 \n\t"
"ldi r16,0x05 \n\t" //Write page pointed to by Z
"sts %0,r16 \n\t"
"spm \n\t"
"wait_spm5: \n\t"
"lds r16,%0 \n\t" //Wait for previous spm to complete
"andi r16,1 \n\t"
"cpi r16,1 \n\t"
"breq wait_spm5 \n\t"
"ldi r16,0x11 \n\t" //Re-enable RWW section
"sts %0,r16 \n\t"
"spm \n\t"
"same_page: \n\t"
"adiw r30,2 \n\t" //Next word in FLASH
"sbiw r24,2 \n\t" //length-2
"breq final_write \n\t" //Finished
"rjmp length_loop \n\t"
"final_write: \n\t"
"cpi r17,0 \n\t"
"breq block_done \n\t"
"adiw r24,2 \n\t" //length+2, fool above check on length after short page write
"rjmp write_page \n\t"
"block_done: \n\t"
"clr __zero_reg__ \n\t" //restore zero register
: "=m" (SPMCSR) : "M" (PAGE_SIZE) : "r0","r16","r17","r24","r25","r28","r29","r30","r31"
);
}
putch(0x14);
putch(0x10);
}
else
{
if (++error_count == MAX_ERROR_COUNT)
app_start();
}
}
/* Read memory block mode, length is big endian. */
else if(ch=='t')
{
length.byte[1] = getch();
length.byte[0] = getch();
if (getch() == 'E')
flags.eeprom = 1;
else
{
flags.eeprom = 0;
address.word = address.word << 1; // address * 2 -> byte location
}
// Command terminator
if (getch() == ' ')
{
putch(0x14);
for (w=0; w<length.word; w++)
{
// Can handle odd and even lengths okay
if (flags.eeprom)
{
// Byte access EEPROM read
while(EECR & (1<<EEPE));
EEAR = (uint16_t)(void *)address.word;
EECR |= (1<<EERE);
putch(EEDR);
address.word++;
}
else
{
if (!flags.rampz)
putch(pgm_read_byte_near(address.word));
address.word++;
}
}
putch(0x10);
}
}
/* Get device signature bytes */
else if(ch=='u')
{
if (getch() == ' ')
{
putch(0x14);
putch(SIG1);
putch(SIG2);
putch(SIG3);
putch(0x10);
}
else
{
if (++error_count == MAX_ERROR_COUNT)
app_start();
}
}
/* Read oscillator calibration byte */
else if(ch=='v')
byte_response(0x00);
else if (++error_count == MAX_ERROR_COUNT)
app_start();
}
/* end of forever loop */
}
char gethex(void)
{
char ah,al;
ah = getch();
putch(ah);
al = getch();
putch(al);
if(ah >= 'a')
ah = ah - 'a' + 0x0a;
else if(ah >= '0')
ah -= '0';
if(al >= 'a')
al = al - 'a' + 0x0a;
else if(al >= '0')
al -= '0';
return (ah << 4) + al;
}
void puthex(char ch)
{
char ah,al;
ah = (ch & 0xf0) >> 4;
if(ah >= 0x0a)
ah = ah - 0x0a + 'a';
else
ah += '0';
al = (ch & 0x0f);
if(al >= 0x0a)
al = al - 0x0a + 'a';
else
al += '0';
putch(ah);
putch(al);
}
void putch(char ch)
{
while (!(UCSR0A & _BV(UDRE0)));
UDR0 = ch;
}
char getch(void)
{
uint32_t count = 0;
#ifdef ADABOOT
LED_PORT &= ~_BV(LED); // toggle LED to show activity - BBR/LF 10/3/2007 & 9/13/2008
#endif
while(!(UCSR0A & _BV(RXC0)))
{
/* 20060803 DojoCorp:: Addon coming from the previous Bootloader*/
/* HACKME:: here is a good place to count times*/
count++;
if (count > MAX_TIME_COUNT)
app_start();
}
#ifdef ADABOOT
LED_PORT |= _BV(LED); // toggle LED to show activity - BBR/LF 10/3/2007 & 9/13/2008
#endif
return UDR0;
}
void getNch(uint8_t count)
{
uint8_t i;
for(i=0;i<count;i++)
{
while(!(UCSR0A & _BV(RXC0)));
UDR0;
}
}
void byte_response(uint8_t val)
{
if (getch() == ' ')
{
putch(0x14);
putch(val);
putch(0x10);
}
else
{
if (++error_count == MAX_ERROR_COUNT)
app_start();
}
}
void nothing_response(void)
{
if (getch() == ' ')
{
putch(0x14);
putch(0x10);
}
else
{
if (++error_count == MAX_ERROR_COUNT)
app_start();
}
}
#ifdef ADABOOT
void flash_led(uint8_t count)
{
/* flash onboard LED count times to signal entering of bootloader */
/* l needs to be volatile or the delay loops below might get */
/* optimized away if compiling with optimizations (DAM). */
volatile uint32_t l;
if (count == 0) {
count = ADABOOT;
}
int8_t i;
for (i = 0; i < count; ++i) {
LED_PORT |= _BV(LED); // LED on
for(l = 0; l < (F_CPU / 1000); ++l); // delay NGvalue was 1000 for both loops - BBR
LED_PORT &= ~_BV(LED); // LED off
for(l = 0; l < (F_CPU / 250); ++l); // delay asymmteric for ADA BOOT BBR
}
for(l = 0; l < (F_CPU / 100); ++l); // pause ADA BOOT BBR
}
#else
void flash_led(uint8_t count)
{
/* flash onboard LED three times to signal entering of bootloader */
/* l needs to be volatile or the delay loops below might get
optimized away if compiling with optimizations (DAM). */
volatile uint32_t l;
if (count == 0) {
count = 3;
}
int8_t i;
for (i = 0; i < count; ++i) {
LED_PORT |= _BV(LED);
for(l = 0; l < (F_CPU / 1000); ++l);
LED_PORT &= ~_BV(LED);
for(l = 0; l < (F_CPU / 1000); ++l);
}
}
#endif
/* end of file ATmegaBOOT.c */
@@ -1,121 +0,0 @@
:10F800000C943E7C0C945B7C0C945B7C0C945B7C39
:10F810000C945B7C0C945B7C0C945B7C0C945B7C0C
:10F820000C945B7C0C945B7C0C945B7C0C945B7CFC
:10F830000C945B7C0C945B7C0C945B7C0C945B7CEC
:10F840000C945B7C0C945B7C0C945B7C0C945B7CDC
:10F850000C945B7C0C945B7C0C945B7C0C945B7CCC
:10F860000C945B7C0C945B7C0C945B7C0C945B7CBC
:10F870000C945B7C0C945B7C0C945B7C11241FBE11
:10F88000CFEFD8E0DEBFCDBF11E0A0E0B1E0E6E60B
:10F89000FFEF02C005900D92A030B107D9F712E03A
:10F8A000A0E0B1E001C01D92A930B107E1F70E94CC
:10F8B000537D0C94B27F0C94007CCF93DF93CDB733
:10F8C000DEB724970FB6F894DEBF0FBECDBF8823F6
:10F8D00009F481E020E0482F55274115510509F42E
:10F8E0003DC0289A19821A821B821C820BC0898112
:10F8F0009A81AB81BC810196A11DB11D89839A8338
:10F90000AB83BC8389819A81AB81BC8180589E4343
:10F91000A040B04060F3289819821A821B821C8292
:10F920000BC089819A81AB81BC810196A11DB11D5B
:10F9300089839A83AB83BC8389819A81AB81BC81A3
:10F9400080509A4FA040B04060F32F5F822F9927DC
:10F9500087FD9095841795070CF4C3CF19821A82FE
:10F960001B821C8289819A81AB81BC818050914726
:10F97000A240B040A0F489819A81AB81BC810196FC
:10F98000A11DB11D89839A83AB83BC8389819A8130
:10F99000AB81BC8180509147A240B04060F3249677
:10F9A0000FB6F894DEBF0FBECDBFDF91CF910895A3
:10F9B000EF92FF920F931F93EE24FF248701289864
:10F9C0008091C00087FD17C00894E11CF11C011D47
:10F9D000111D81E0E81689E0F8068DE3080780E054
:10F9E000180770F3E0910001F091010109958091F1
:10F9F000C00087FFE9CF289A8091C600992787FD2C
:10FA000090951F910F91FF90EF900895982F8091FE
:10FA1000C00085FFFCCF9093C60008950E94D87C5B
:10FA2000803271F0809102018F5F809302018530F6
:10FA300009F00895E0910001F09101010995089500
:10FA400084E10E94067D80E10E94067D0895CF93A7
:10FA5000C82F0E94D87C803241F0809102018F5FD4
:10FA600080930201853081F40AC084E10E94067D02
:10FA70008C2F0E94067D80E10E94067D05C0E091EA
:10FA80000001F09101010995CF910895282F90E090
:10FA900007C08091C0008823E4F78091C6009F5F73
:10FAA0009217B8F30895CFEFD8E0DEBFCDBF0000C6
:10FAB00094B714BE809160008861809360001092BA
:10FAC000600091FF74C189E18093C4001092C50069
:10FAD00088E18093C10086E08093C2005098589AD4
:10FAE000209A83E00E945D7C81E00E945D7C0E9400
:10FAF000D87C8033B9F18133C1F1803409F456C028
:10FB0000813409F45CC0823409F46EC0853409F490
:10FB100071C0803539F1813509F4F3C0823511F1B6
:10FB2000853509F4D3C0863509F4CBC0843609F491
:10FB300065C0843709F4EBC0853709F4D2C0863735
:10FB400009F44AC0809102018F5F809302018530E1
:10FB500071F6E0910001F091010109950E94D87CB5
:10FB6000803349F60E940E7DC2CF0E94D87CC82FF8
:10FB7000803241F784E10E94067D81E40E94067D87
:10FB800086E50E94067D82E50E94067D8C2F0E94FC
:10FB9000067D89E40E94067D83E50E94067D80E55E
:10FBA0000E94067D80E10E94067DA1CF0E94D87C44
:10FBB0008638C0F20E94D87C0E940E7D98CF0E94A9
:10FBC000D87C803809F407C1813809F400C1823833
:10FBD00009F4F9C0883921F080E00E94277D87CFA1
:10FBE00083E00E94277D83CF84E10E94467D0E94AE
:10FBF0000E7D7DCF85E00E94467DF9CF0E94D87CA6
:10FC0000809306020E94D87C8093050280910802AE
:10FC10008E7F809308020E94D87C853409F44BC003
:10FC2000E5E0F1E0119281E0E438F807D9F3D0F390
:10FC3000C0E0D0E0809105029091060218161906E6
:10FC400078F405E011E00E94D87CF80181938F01DF
:10FC500021968091050290910602C817D90798F362
:10FC60000E94D87C803209F06DCF8091080280FF1D
:10FC7000B6C0C0E0D0E02091050230910602121615
:10FC80001306B8F4E0910301F0910401A5E0B1E09E
:10FC9000F999FECFF2BDE1BD8D9180BDFA9AF99A36
:10FCA00031962196C217D30798F3F0930401E0939D
:10FCB000030184E175CF809108028160809308027E
:10FCC000AFCF84E00E94467D80E087CF0E94D87C41
:10FCD000809303010E94D87C809304010E940E7DD2
:10FCE00006CF0E94D87C803209F02CCF84E10E949C
:10FCF000067D8EE10E94067D85E90E94067D88E0F2
:10FD00004FCF0E940E7D88E080936000FFCF0E945D
:10FD1000D87C809306020E94D87C809305020E94C2
:10FD2000D87C853409F449C0809108028E7F809385
:10FD300008028091030190910401880F991F90930C
:10FD40000401809303010E94D87C803209F0CFCE59
:10FD500084E10E94067DC0E0D0E020910502309150
:10FD600006021216130608F01DCFE0910301F09170
:10FD700004018091080280FF96C0F999FECFF2BD80
:10FD8000E1BDF89A80B50E94067DE0910301F091F3
:10FD900004013196F0930401E093030120910502E0
:10FDA000309106022196C217D30718F3FBCEE091DB
:10FDB0000001F0910101099586CE809108028160D1
:10FDC00080930802C0CF80E10E94277D90CE81E021
:10FDD0000E94277D8CCE82E00E94277D88CE809174
:10FDE000030190910401880F991F9093040180935F
:10FDF00003018091050280FF09C080910502909166
:10FE0000060201969093060280930502F999FECFAF
:10FE10001127E0910301F0910401C5E0D1E0809148
:10FE2000050290910602103091F400915700017084
:10FE30000130D9F303E000935700E8950091570093
:10FE400001700130D9F301E100935700E895099062
:10FE500019900091570001700130D9F301E000932F
:10FE60005700E8951395103898F011270091570026
:10FE700001700130D9F305E000935700E895009137
:10FE8000570001700130D9F301E100935700E89564
:10FE90003296029709F0C7CF103011F00296E5CFE5
:10FEA000112484E17DCE869580FF06C03196F093C3
:10FEB0000401E093030176CF84910E94067D209196
:10FEC000050230910602E0910301F0910401EECFAA
:10FED0001F93CF930E94D87CC82F0E94067D0E945A
:10FEE000D87C182F0E94067DC1362CF0C7551136DC
:10FEF0003CF0175508C0C033D4F3C0531136CCF7CB
:10FF000010330CF01053C295C07FC10F8C2F99276E
:10FF100087FD9095CF911F910895CF93282F992712
:10FF200087FD9095807F907095958795959587959D
:10FF300095958795959587958A303CF0895AC22F7B
:10FF4000CF70CA303CF0C95A06C0805DC22FCF7056
:10FF5000CA30CCF7C05D0E94067D8C2F0E94067DC2
:06FF6000CF910895FFCFD0
:040000030000F80001
:00000001FF
@@ -1,120 +0,0 @@
:10F800000C94387C0C94557C0C94557C0C94557C51
:10F810000C94557C0C94557C0C94557C0C94557C24
:10F820000C94557C0C94557C0C94557C0C94557C14
:10F830000C94557C0C94557C0C94557C0C94557C04
:10F840000C94557C0C94557C0C94557C0C94557CF4
:10F850000C94557C0C94557C0C94557C0C94557CE4
:10F860000C94557C0C94557C0C94557C0C94557CD4
:10F8700011241FBECFEFD0E1DEBFCDBF11E0A0E06D
:10F88000B1E0EAE5FFEF02C005900D92A030B107AC
:10F89000D9F712E0A0E0B1E001C01D92A930B10794
:10F8A000E1F70E944D7D0C94AC7F0C94007CCF93CB
:10F8B000DF93CDB7DEB724970FB6F894DEBF0FBE47
:10F8C000CDBF882309F481E020E0482F552741155A
:10F8D000510509F43DC0289A19821A821B821C82A4
:10F8E0000BC089819A81AB81BC810196A11DB11D9C
:10F8F00089839A83AB83BC8389819A81AB81BC81E4
:10F9000080589E43A040B04060F3289819821A8224
:10F910001B821C820BC089819A81AB81BC810196BC
:10F92000A11DB11D89839A83AB83BC8389819A8190
:10F93000AB81BC8180509A4FA040B04060F32F5FF4
:10F94000822F992787FD9095841795070CF4C3CFD4
:10F9500019821A821B821C8289819A81AB81BC81A7
:10F9600080509147A240B040A0F489819A81AB8138
:10F97000BC810196A11DB11D89839A83AB83BC8391
:10F9800089819A81AB81BC8180509147A240B0406F
:10F9900060F324960FB6F894DEBF0FBECDBFDF91A3
:10F9A000CF910895EF92FF920F931F93EE24FF24BF
:10F9B000870128988091C00087FD17C00894E11C3A
:10F9C000F11C011D111D81E0E81689E0F8068DE3A8
:10F9D000080780E0180770F3E0910001F091010141
:10F9E00009958091C00087FFE9CF289A8091C600D1
:10F9F000992787FD90951F910F91FF90EF900895A3
:10FA0000982F8091C00085FFFCCF9093C600089589
:10FA10000E94D27C803271F0809102018F5F8093CE
:10FA20000201853009F00895E0910001F091010193
:10FA30000995089584E10E94007D80E10E94007D87
:10FA40000895CF93C82F0E94D27C803241F08091DC
:10FA500002018F5F80930201853081F40AC084E146
:10FA60000E94007D8C2F0E94007D80E10E94007D1D
:10FA700005C0E0910001F09101010995CF91089531
:10FA8000282F90E007C08091C0008823E4F7809180
:10FA9000C6009F5F9217B8F30895CFEFD0E1DEBFA5
:10FAA000CDBF000094B714BE809160008861809340
:10FAB00060001092600091FF74C189E18093C400DE
:10FAC0001092C50088E18093C10086E08093C20057
:10FAD0005098589A209A83E00E94577C81E00E94B7
:10FAE000577C0E94D27C8033B9F18133C1F18034DC
:10FAF00009F456C0813409F45CC0823409F46EC044
:10FB0000853409F471C0803539F1813509F4F3C0C9
:10FB1000823511F1853509F4D3C0863509F4CBC09F
:10FB2000843609F465C0843709F4EBC0853709F4DD
:10FB3000D2C0863709F44AC0809102018F5F80935A
:10FB40000201853071F6E0910001F0910101099503
:10FB50000E94D27C803349F60E94087DC2CF0E9469
:10FB6000D27CC82F803241F784E10E94007D81E47D
:10FB70000E94007D86E50E94007D82E50E94007D56
:10FB80008C2F0E94007D89E40E94007D83E50E9405
:10FB9000007D80E50E94007D80E10E94007DA1CF74
:10FBA0000E94D27C8638C0F20E94D27C0E94087DDE
:10FBB00098CF0E94D27C803809F407C1813809F4BB
:10FBC00000C1823809F4F9C0883921F080E00E9430
:10FBD000217D87CF83E00E94217D83CF84E10E9435
:10FBE000407D0E94087D7DCF85E00E94407DF9CF59
:10FBF0000E94D27C809306020E94D27C80930502F0
:10FC0000809108028E7F809308020E94D27C853406
:10FC100009F44BC0E5E0F1E0119281E0E438F80727
:10FC2000D9F3D0F3C0E0D0E08091050290910602B4
:10FC30001816190678F405E011E00E94D27CF8014C
:10FC400081938F0121968091050290910602C81739
:10FC5000D90798F30E94D27C803209F06DCF809151
:10FC6000080280FFB6C0C0E0D0E0209105023091CC
:10FC7000060212161306B8F4E0910301F091040194
:10FC8000A5E0B1E0F999FECFF2BDE1BD8D9180BD57
:10FC9000FA9AF99A31962196C217D30798F3F093FE
:10FCA0000401E093030184E175CF80910802816033
:10FCB00080930802AFCF84E00E94407D80E087CF30
:10FCC0000E94D27C809303010E94D27C8093040125
:10FCD0000E94087D06CF0E94D27C803209F02CCF92
:10FCE00084E10E94007D8EE10E94007D86E90E94F1
:10FCF000007D89E04FCF0E94087D88E080936000FE
:10FD0000FFCF0E94D27C809306020E94D27C809317
:10FD100005020E94D27C853409F449C08091080212
:10FD20008E7F809308028091030190910401880FD7
:10FD3000991F90930401809303010E94D27C80322A
:10FD400009F0CFCE84E10E94007DC0E0D0E0209198
:10FD50000502309106021216130608F01DCFE0913D
:10FD60000301F09104018091080280FF96C0F99987
:10FD7000FECFF2BDE1BDF89A80B50E94007DE09112
:10FD80000301F09104013196F0930401E093030123
:10FD900020910502309106022196C217D30718F36D
:10FDA000FBCEE0910001F0910101099586CE809192
:10FDB0000802816080930802C0CF80E10E94217D0B
:10FDC00090CE81E00E94217D8CCE82E00E94217D38
:10FDD00088CE8091030190910401880F991F909320
:10FDE0000401809303018091050280FF09C0809186
:10FDF00005029091060201969093060280930502F7
:10FE0000F999FECF1127E0910301F0910401C5E0BB
:10FE1000D1E08091050290910602103091F400919A
:10FE2000570001700130D9F303E000935700E895C3
:10FE30000091570001700130D9F301E100935700A0
:10FE4000E895099019900091570001700130D9F39D
:10FE500001E000935700E8951395103898F01127AA
:10FE60000091570001700130D9F305E0009357006D
:10FE7000E8950091570001700130D9F301E100933A
:10FE80005700E8953296029709F0C7CF103011F06D
:10FE90000296E5CF112484E17DCE869580FF06C0D1
:10FEA0003196F0930401E093030176CF84910E9490
:10FEB000007D2091050230910602E0910301F0914E
:10FEC0000401EECF1F93CF930E94D27CC82F0E94D3
:10FED000007D0E94D27C182F0E94007DC1362CF03C
:10FEE000C75511363CF0175508C0C033D4F3C05382
:10FEF0001136CCF710330CF01053C295C07FC10FF0
:10FF00008C2F992787FD9095CF911F910895CF93BE
:10FF1000282F992787FD9095807F907095958795DC
:10FF20009595879595958795959587958A303CF019
:10FF3000895AC22FCF70CA303CF0C95A06C0805DC2
:10FF4000C22FCF70CA30CCF7C05D0E94007D8C2FCD
:0AFF50000E94007DCF910895FFCFBD
:040000030000F80001
:00000001FF
@@ -1,121 +0,0 @@
:10F800000C943E7C0C945B7C0C945B7C0C945B7C39
:10F810000C945B7C0C945B7C0C945B7C0C945B7C0C
:10F820000C945B7C0C945B7C0C945B7C0C945B7CFC
:10F830000C945B7C0C945B7C0C945B7C0C945B7CEC
:10F840000C945B7C0C945B7C0C945B7C0C945B7CDC
:10F850000C945B7C0C945B7C0C945B7C0C945B7CCC
:10F860000C945B7C0C945B7C0C945B7C0C945B7CBC
:10F870000C945B7C0C945B7C0C945B7C11241FBE11
:10F88000CFEFD0E1DEBFCDBF11E0A0E0B1E0E6E612
:10F89000FFEF02C005900D92A030B107D9F712E03A
:10F8A000A0E0B1E001C01D92A930B107E1F70E94CC
:10F8B000537D0C94B27F0C94007CCF93DF93CDB733
:10F8C000DEB724970FB6F894DEBF0FBECDBF8823F6
:10F8D00009F481E020E0482F55274115510509F42E
:10F8E0003DC0289A19821A821B821C820BC0898112
:10F8F0009A81AB81BC810196A11DB11D89839A8338
:10F90000AB83BC8389819A81AB81BC8180589E4343
:10F91000A040B04060F3289819821A821B821C8292
:10F920000BC089819A81AB81BC810196A11DB11D5B
:10F9300089839A83AB83BC8389819A81AB81BC81A3
:10F9400080509A4FA040B04060F32F5F822F9927DC
:10F9500087FD9095841795070CF4C3CF19821A82FE
:10F960001B821C8289819A81AB81BC818050914726
:10F97000A240B040A0F489819A81AB81BC810196FC
:10F98000A11DB11D89839A83AB83BC8389819A8130
:10F99000AB81BC8180509147A240B04060F3249677
:10F9A0000FB6F894DEBF0FBECDBFDF91CF910895A3
:10F9B000EF92FF920F931F93EE24FF248701289864
:10F9C0008091C00087FD17C00894E11CF11C011D47
:10F9D000111D81E0E81689E0F8068DE3080780E054
:10F9E000180770F3E0910001F091010109958091F1
:10F9F000C00087FFE9CF289A8091C600992787FD2C
:10FA000090951F910F91FF90EF900895982F8091FE
:10FA1000C00085FFFCCF9093C60008950E94D87C5B
:10FA2000803271F0809102018F5F809302018530F6
:10FA300009F00895E0910001F09101010995089500
:10FA400084E10E94067D80E10E94067D0895CF93A7
:10FA5000C82F0E94D87C803241F0809102018F5FD4
:10FA600080930201853081F40AC084E10E94067D02
:10FA70008C2F0E94067D80E10E94067D05C0E091EA
:10FA80000001F09101010995CF910895282F90E090
:10FA900007C08091C0008823E4F78091C6009F5F73
:10FAA0009217B8F30895CFEFD0E1DEBFCDBF0000CD
:10FAB00094B714BE809160008861809360001092BA
:10FAC000600091FF74C189E18093C4001092C50069
:10FAD00088E18093C10086E08093C2005098589AD4
:10FAE000209A83E00E945D7C81E00E945D7C0E9400
:10FAF000D87C8033B9F18133C1F1803409F456C028
:10FB0000813409F45CC0823409F46EC0853409F490
:10FB100071C0803539F1813509F4F3C0823511F1B6
:10FB2000853509F4D3C0863509F4CBC0843609F491
:10FB300065C0843709F4EBC0853709F4D2C0863735
:10FB400009F44AC0809102018F5F809302018530E1
:10FB500071F6E0910001F091010109950E94D87CB5
:10FB6000803349F60E940E7DC2CF0E94D87CC82FF8
:10FB7000803241F784E10E94067D81E40E94067D87
:10FB800086E50E94067D82E50E94067D8C2F0E94FC
:10FB9000067D89E40E94067D83E50E94067D80E55E
:10FBA0000E94067D80E10E94067DA1CF0E94D87C44
:10FBB0008638C0F20E94D87C0E940E7D98CF0E94A9
:10FBC000D87C803809F407C1813809F400C1823833
:10FBD00009F4F9C0883921F080E00E94277D87CFA1
:10FBE00083E00E94277D83CF84E10E94467D0E94AE
:10FBF0000E7D7DCF85E00E94467DF9CF0E94D87CA6
:10FC0000809306020E94D87C8093050280910802AE
:10FC10008E7F809308020E94D87C853409F44BC003
:10FC2000E5E0F1E0119281E0E438F807D9F3D0F390
:10FC3000C0E0D0E0809105029091060218161906E6
:10FC400078F405E011E00E94D87CF80181938F01DF
:10FC500021968091050290910602C817D90798F362
:10FC60000E94D87C803209F06DCF8091080280FF1D
:10FC7000B6C0C0E0D0E02091050230910602121615
:10FC80001306B8F4E0910301F0910401A5E0B1E09E
:10FC9000F999FECFF2BDE1BD8D9180BDFA9AF99A36
:10FCA00031962196C217D30798F3F0930401E0939D
:10FCB000030184E175CF809108028160809308027E
:10FCC000AFCF84E00E94467D80E087CF0E94D87C41
:10FCD000809303010E94D87C809304010E940E7DD2
:10FCE00006CF0E94D87C803209F02CCF84E10E949C
:10FCF000067D8EE10E94067D86E90E94067D8AE0EF
:10FD00004FCF0E940E7D88E080936000FFCF0E945D
:10FD1000D87C809306020E94D87C809305020E94C2
:10FD2000D87C853409F449C0809108028E7F809385
:10FD300008028091030190910401880F991F90930C
:10FD40000401809303010E94D87C803209F0CFCE59
:10FD500084E10E94067DC0E0D0E020910502309150
:10FD600006021216130608F01DCFE0910301F09170
:10FD700004018091080280FF96C0F999FECFF2BD80
:10FD8000E1BDF89A80B50E94067DE0910301F091F3
:10FD900004013196F0930401E093030120910502E0
:10FDA000309106022196C217D30718F3FBCEE091DB
:10FDB0000001F0910101099586CE809108028160D1
:10FDC00080930802C0CF80E10E94277D90CE81E021
:10FDD0000E94277D8CCE82E00E94277D88CE809174
:10FDE000030190910401880F991F9093040180935F
:10FDF00003018091050280FF09C080910502909166
:10FE0000060201969093060280930502F999FECFAF
:10FE10001127E0910301F0910401C5E0D1E0809148
:10FE2000050290910602103091F400915700017084
:10FE30000130D9F303E000935700E8950091570093
:10FE400001700130D9F301E100935700E895099062
:10FE500019900091570001700130D9F301E000932F
:10FE60005700E8951395103898F011270091570026
:10FE700001700130D9F305E000935700E895009137
:10FE8000570001700130D9F301E100935700E89564
:10FE90003296029709F0C7CF103011F00296E5CFE5
:10FEA000112484E17DCE869580FF06C03196F093C3
:10FEB0000401E093030176CF84910E94067D209196
:10FEC000050230910602E0910301F0910401EECFAA
:10FED0001F93CF930E94D87CC82F0E94067D0E945A
:10FEE000D87C182F0E94067DC1362CF0C7551136DC
:10FEF0003CF0175508C0C033D4F3C0531136CCF7CB
:10FF000010330CF01053C295C07FC10F8C2F99276E
:10FF100087FD9095CF911F910895CF93282F992712
:10FF200087FD9095807F907095958795959587959D
:10FF300095958795959587958A303CF0895AC22F7B
:10FF4000CF70CA303CF0C95A06C0805DC22FCF7056
:10FF5000CA30CCF7C05D0E94067D8C2F0E94067DC2
:06FF6000CF910895FFCFD0
:040000030000F80001
:00000001FF
@@ -1,56 +0,0 @@
# Makefile for ATmegaBOOT
# E.Lins, 18.7.2005
# $Id$
# program name should not be changed...
PROGRAM = ATmegaBOOT_644P
# enter the target CPU frequency
AVR_FREQ = 16000000L
MCU_TARGET = atmega644p
LDSECTION = --section-start=.text=0xF800
OBJ = $(PROGRAM).o
OPTIMIZE = -O2
DEFS =
LIBS =
CC = avr-gcc
# Override is only needed by avr-lib build system.
override CFLAGS = -g -Wall $(OPTIMIZE) -mmcu=$(MCU_TARGET) -DF_CPU=$(AVR_FREQ) $(DEFS)
override LDFLAGS = -Wl,$(LDSECTION)
#override LDFLAGS = -Wl,-Map,$(PROGRAM).map,$(LDSECTION)
OBJCOPY = avr-objcopy
OBJDUMP = avr-objdump
all: CFLAGS += '-DMAX_TIME_COUNT=8000000L>>1' -DADABOOT
all: $(PROGRAM).hex
$(PROGRAM).hex: $(PROGRAM).elf
$(OBJCOPY) -j .text -j .data -O ihex $< $@
$(PROGRAM).elf: $(OBJ)
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS)
$(OBJ): ATmegaBOOT.c
avr-gcc $(CFLAGS) $(LDFLAGS) -c -g -O2 -Wall -mmcu=$(MCU_TARGET) ATmegaBOOT.c -o $(PROGRAM).o
%.lst: %.elf
$(OBJDUMP) -h -S $< > $@
%.srec: %.elf
$(OBJCOPY) -j .text -j .data -O srec $< $@
%.bin: %.elf
$(OBJCOPY) -j .text -j .data -O binary $< $@
clean:
rm -rf *.o *.elf *.lst *.map *.sym *.lss *.eep *.srec *.bin *.hex
@@ -1,3 +0,0 @@
Note: This bootloader support ATmega644, ATmega644P and ATmega324P.
To build, set PROGRAM and MCU_TARGET in the Makefile according to your target device.
@@ -1 +0,0 @@
#include "WProgram.h"
@@ -1,202 +0,0 @@
/*
HardwareSerial.cpp - Hardware serial library for Wiring
Copyright (c) 2006 Nicholas Zambetti. All right reserved.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Modified 23 November 2006 by David A. Mellis
Modified 28 September 2010 by Mark Sproul
*/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <inttypes.h>
#include "wiring.h"
#include "wiring_private.h"
// this next line disables the entire HardwareSerial.cpp,
// this is so I can support Attiny series and any other chip without a uart
#if defined(UBRRH) || defined(UBRR0H) || defined(UBRR1H) || defined(UBRR2H) || defined(UBRR3H)
#include "HardwareSerial.h"
// Define constants and variables for buffering incoming serial data. We're
// using a ring buffer (I think), in which rx_buffer_head is the index of the
// location to which to write the next incoming character and rx_buffer_tail
// is the index of the location from which to read.
#define RX_BUFFER_SIZE 128
struct ring_buffer
{
unsigned char buffer[RX_BUFFER_SIZE];
int head;
int tail;
};
ring_buffer rx_buffer = { { 0 }, 0, 0 };
inline void store_char(unsigned char c, ring_buffer *rx_buffer)
{
int i = (unsigned int)(rx_buffer->head + 1) & (RX_BUFFER_SIZE -1);
// if we should be storing the received character into the location
// just before the tail (meaning that the head would advance to the
// current location of the tail), we're about to overflow the buffer
// and so we don't write the character or advance the head.
if (i != rx_buffer->tail) {
rx_buffer->buffer[rx_buffer->head] = c;
rx_buffer->head = i;
}
}
// fixed by Mark Sproul this is on the 644/644p
//SIGNAL(SIG_USART_RECV)
SIGNAL(USART0_RX_vect)
{
unsigned char c = UDR0;
store_char(c, &rx_buffer);
}
// Constructors ////////////////////////////////////////////////////////////////
HardwareSerial::HardwareSerial(ring_buffer *rx_buffer,
volatile uint8_t *ubrrh, volatile uint8_t *ubrrl,
volatile uint8_t *ucsra, volatile uint8_t *ucsrb,
volatile uint8_t *udr,
uint8_t rxen, uint8_t txen, uint8_t rxcie, uint8_t udre, uint8_t u2x)
{
_rx_buffer = rx_buffer;
_ubrrh = ubrrh;
_ubrrl = ubrrl;
_ucsra = ucsra;
_ucsrb = ucsrb;
_udr = udr;
_rxen = rxen;
_txen = txen;
_rxcie = rxcie;
_udre = udre;
_u2x = u2x;
}
// Public Methods //////////////////////////////////////////////////////////////
void HardwareSerial::begin(long baud)
{
uint16_t baud_setting;
bool use_u2x = true;
#if F_CPU == 16000000UL
// hardcoded exception for compatibility with the bootloader shipped
// with the Duemilanove and previous boards and the firmware on the 8U2
// on the Uno and Mega 2560.
if (baud == 57600) {
use_u2x = false;
}
#endif
if (use_u2x) {
*_ucsra = 1 << _u2x;
baud_setting = (F_CPU / 4 / baud - 1) / 2;
} else {
*_ucsra = 0;
baud_setting = (F_CPU / 8 / baud - 1) / 2;
}
// assign the baud_setting, a.k.a. ubbr (USART Baud Rate Register)
*_ubrrh = baud_setting >> 8;
*_ubrrl = baud_setting;
sbi(*_ucsrb, _rxen);
sbi(*_ucsrb, _txen);
sbi(*_ucsrb, _rxcie);
}
void HardwareSerial::end()
{
cbi(*_ucsrb, _rxen);
cbi(*_ucsrb, _txen);
cbi(*_ucsrb, _rxcie);
}
int HardwareSerial::available(void)
{
return (unsigned int)(RX_BUFFER_SIZE + _rx_buffer->head - _rx_buffer->tail) & (RX_BUFFER_SIZE-1);
}
int HardwareSerial::peek(void)
{
if (_rx_buffer->head == _rx_buffer->tail) {
return -1;
} else {
return _rx_buffer->buffer[_rx_buffer->tail];
}
}
int HardwareSerial::read(void)
{
// if the head isn't ahead of the tail, we don't have any characters
if (_rx_buffer->head == _rx_buffer->tail) {
return -1;
} else {
unsigned char c = _rx_buffer->buffer[_rx_buffer->tail];
_rx_buffer->tail = (unsigned int)(_rx_buffer->tail + 1) & (RX_BUFFER_SIZE-1);
return c;
}
}
void HardwareSerial::flush()
{
// don't reverse this or there may be problems if the RX interrupt
// occurs after reading the value of rx_buffer_head but before writing
// the value to rx_buffer_tail; the previous value of rx_buffer_head
// may be written to rx_buffer_tail, making it appear as if the buffer
// don't reverse this or there may be problems if the RX interrupt
// occurs after reading the value of rx_buffer_head but before writing
// the value to rx_buffer_tail; the previous value of rx_buffer_head
// may be written to rx_buffer_tail, making it appear as if the buffer
// were full, not empty.
_rx_buffer->head = _rx_buffer->tail;
}
//
// Drakelive 2012-09-04
//
#if ARDUINO >= 100
size_t HardwareSerial::write(uint8_t c)
{
while (!((*_ucsra) & (1 << _udre)))
;
*_udr = c;
}
#else
void HardwareSerial::write(uint8_t c)
{
while (!((*_ucsra) & (1 << _udre)))
;
*_udr = c;
}
#endif
// Drakelive 2012-09-04
// Preinstantiate Objects //////////////////////////////////////////////////////
HardwareSerial Serial(&rx_buffer, &UBRR0H, &UBRR0L, &UCSR0A, &UCSR0B, &UDR0, RXEN0, TXEN0, RXCIE0, UDRE0, U2X0);
#endif // whole file
@@ -1,87 +0,0 @@
/*
HardwareSerial.h - Hardware serial library for Wiring
Copyright (c) 2006 Nicholas Zambetti. All right reserved.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Modified 28 September 2010 by Mark Sproul
*/
#ifndef HardwareSerial_h
#define HardwareSerial_h
#include <inttypes.h>
#include "Stream.h"
struct ring_buffer;
class HardwareSerial : public Stream
{
private:
ring_buffer *_rx_buffer;
volatile uint8_t *_ubrrh;
volatile uint8_t *_ubrrl;
volatile uint8_t *_ucsra;
volatile uint8_t *_ucsrb;
volatile uint8_t *_udr;
uint8_t _rxen;
uint8_t _txen;
uint8_t _rxcie;
uint8_t _udre;
uint8_t _u2x;
public:
HardwareSerial(ring_buffer *rx_buffer,
volatile uint8_t *ubrrh, volatile uint8_t *ubrrl,
volatile uint8_t *ucsra, volatile uint8_t *ucsrb,
volatile uint8_t *udr,
uint8_t rxen, uint8_t txen, uint8_t rxcie, uint8_t udre, uint8_t u2x);
void begin(long);
void end();
virtual int available(void);
virtual int peek(void);
virtual int read(void);
virtual void flush(void);
//
// Drakelive 2012-09-04
//
#if ARDUINO >= 100
virtual size_t write(uint8_t);
#else
virtual void write(uint8_t);
#endif
// Drakelive 2012-09-04
using Print::write; // pull in write(str) and write(buf, size) from Print
};
#if defined(UBRRH) || defined(UBRR0H)
extern HardwareSerial Serial;
#elif defined(USBCON)
#include "usb_api.h"
#endif
#if defined(UBRR1H)
extern HardwareSerial Serial1;
#endif
#if defined(UBRR2H)
extern HardwareSerial Serial2;
#endif
#if defined(UBRR3H)
extern HardwareSerial Serial3;
#endif
#endif
@@ -1,220 +0,0 @@
/*
Print.cpp - Base class that provides print() and println()
Copyright (c) 2008 David A. Mellis. All right reserved.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Modified 23 November 2006 by David A. Mellis
*/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include "wiring.h"
#include "Print.h"
// Public Methods //////////////////////////////////////////////////////////////
/* default implementation: may be overridden */
void Print::write(const char *str)
{
while (*str)
write(*str++);
}
/* default implementation: may be overridden */
void Print::write(const uint8_t *buffer, size_t size)
{
while (size--)
write(*buffer++);
}
void Print::print(const String &s)
{
for (int i = 0; i < s.length(); i++) {
write(s[i]);
}
}
void Print::print(const char str[])
{
write(str);
}
void Print::print(char c, int base)
{
print((long) c, base);
}
void Print::print(unsigned char b, int base)
{
print((unsigned long) b, base);
}
void Print::print(int n, int base)
{
print((long) n, base);
}
void Print::print(unsigned int n, int base)
{
print((unsigned long) n, base);
}
void Print::print(long n, int base)
{
if (base == 0) {
write(n);
} else if (base == 10) {
if (n < 0) {
print('-');
n = -n;
}
printNumber(n, 10);
} else {
printNumber(n, base);
}
}
void Print::print(unsigned long n, int base)
{
if (base == 0) write(n);
else printNumber(n, base);
}
void Print::print(double n, int digits)
{
printFloat(n, digits);
}
void Print::println(void)
{
print('\r');
print('\n');
}
void Print::println(const String &s)
{
print(s);
println();
}
void Print::println(const char c[])
{
print(c);
println();
}
void Print::println(char c, int base)
{
print(c, base);
println();
}
void Print::println(unsigned char b, int base)
{
print(b, base);
println();
}
void Print::println(int n, int base)
{
print(n, base);
println();
}
void Print::println(unsigned int n, int base)
{
print(n, base);
println();
}
void Print::println(long n, int base)
{
print(n, base);
println();
}
void Print::println(unsigned long n, int base)
{
print(n, base);
println();
}
void Print::println(double n, int digits)
{
print(n, digits);
println();
}
// Private Methods /////////////////////////////////////////////////////////////
void Print::printNumber(unsigned long n, uint8_t base)
{
unsigned char buf[8 * sizeof(long)]; // Assumes 8-bit chars.
unsigned long i = 0;
if (n == 0) {
print('0');
return;
}
while (n > 0) {
buf[i++] = n % base;
n /= base;
}
for (; i > 0; i--)
print((char) (buf[i - 1] < 10 ?
'0' + buf[i - 1] :
'A' + buf[i - 1] - 10));
}
void Print::printFloat(double number, uint8_t digits)
{
// Handle negative numbers
if (number < 0.0)
{
print('-');
number = -number;
}
// Round correctly so that print(1.999, 2) prints as "2.00"
double rounding = 0.5;
for (uint8_t i=0; i<digits; ++i)
rounding /= 10.0;
number += rounding;
// Extract the integer part of the number and print it
unsigned long int_part = (unsigned long)number;
double remainder = number - (double)int_part;
print(int_part);
// Print the decimal point, but only if there are digits beyond
if (digits > 0)
print(".");
// Extract digits from the remainder one at a time
while (digits-- > 0)
{
remainder *= 10.0;
int toPrint = int(remainder);
print(toPrint);
remainder -= toPrint;
}
}
@@ -1,77 +0,0 @@
/*
Print.h - Base class that provides print() and println()
Copyright (c) 2008 David A. Mellis. All right reserved.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef Print_h
#define Print_h
#include <inttypes.h>
#include <stdio.h> // for size_t
#include "WString.h"
#define DEC 10
#define HEX 16
#define OCT 8
#define BIN 2
#define BYTE 0
class Print
{
private:
void printNumber(unsigned long, uint8_t);
void printFloat(double, uint8_t);
public:
//
// Drakelive 2012-09-04
//
#if ARDUINO >= 100
virtual size_t write(uint8_t) = 0;
#else
virtual void write(uint8_t) = 0;
#endif
// Drakelive 2012-09-04
virtual void write(const char *str);
virtual void write(const uint8_t *buffer, size_t size);
void print(const String &);
void print(const char[]);
void print(char, int = BYTE);
void print(unsigned char, int = BYTE);
void print(int, int = DEC);
void print(unsigned int, int = DEC);
void print(long, int = DEC);
void print(unsigned long, int = DEC);
void print(double, int = 2);
void println(const String &s);
void println(const char[]);
void println(char, int = BYTE);
void println(unsigned char, int = BYTE);
void println(int, int = DEC);
void println(unsigned int, int = DEC);
void println(long, int = DEC);
void println(unsigned long, int = DEC);
void println(double, int = 2);
void println(void);
};
#endif
@@ -1,35 +0,0 @@
/*
Stream.h - base class for character-based streams.
Copyright (c) 2010 David A. Mellis. All right reserved.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef Stream_h
#define Stream_h
#include <inttypes.h>
#include "Print.h"
class Stream : public Print
{
public:
virtual int available() = 0;
virtual int read() = 0;
virtual int peek() = 0;
virtual void flush() = 0;
};
#endif
@@ -1,601 +0,0 @@
/* Tone.cpp
A Tone Generator Library
Written by Brett Hagman
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Version Modified By Date Comments
------- ----------- -------- --------
0001 B Hagman 09/08/02 Initial coding
0002 B Hagman 09/08/18 Multiple pins
0003 B Hagman 09/08/18 Moved initialization from constructor to begin()
0004 B Hagman 09/09/26 Fixed problems with ATmega8
0005 B Hagman 09/11/23 Scanned prescalars for best fit on 8 bit timers
09/11/25 Changed pin toggle method to XOR
09/11/25 Fixed timer0 from being excluded
0006 D Mellis 09/12/29 Replaced objects with functions
0007 M Sproul 10/08/29 Changed #ifdefs from cpu to register
*************************************************/
#include <avr/interrupt.h>
#include <avr/pgmspace.h>
#include "wiring.h"
#include "pins_arduino.h"
#if defined(__AVR_ATmega8__) || defined(__AVR_ATmega128__)
#define TCCR2A TCCR2
#define TCCR2B TCCR2
#define COM2A1 COM21
#define COM2A0 COM20
#define OCR2A OCR2
#define TIMSK2 TIMSK
#define OCIE2A OCIE2
#define TIMER2_COMPA_vect TIMER2_COMP_vect
#define TIMSK1 TIMSK
#endif
// timerx_toggle_count:
// > 0 - duration specified
// = 0 - stopped
// < 0 - infinitely (until stop() method called, or new play() called)
#if !defined(__AVR_ATmega8__)
volatile long timer0_toggle_count;
volatile uint8_t *timer0_pin_port;
volatile uint8_t timer0_pin_mask;
#endif
volatile long timer1_toggle_count;
volatile uint8_t *timer1_pin_port;
volatile uint8_t timer1_pin_mask;
volatile long timer2_toggle_count;
volatile uint8_t *timer2_pin_port;
volatile uint8_t timer2_pin_mask;
#if defined(TIMSK3)
volatile long timer3_toggle_count;
volatile uint8_t *timer3_pin_port;
volatile uint8_t timer3_pin_mask;
#endif
#if defined(TIMSK4)
volatile long timer4_toggle_count;
volatile uint8_t *timer4_pin_port;
volatile uint8_t timer4_pin_mask;
#endif
#if defined(TIMSK5)
volatile long timer5_toggle_count;
volatile uint8_t *timer5_pin_port;
volatile uint8_t timer5_pin_mask;
#endif
// MLS: This does not make sense, the 3 options are the same
#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
#define AVAILABLE_TONE_PINS 1
const uint8_t PROGMEM tone_pin_to_timer_PGM[] = { 2 /*, 3, 4, 5, 1, 0 */ };
static uint8_t tone_pins[AVAILABLE_TONE_PINS] = { 255 /*, 255, 255, 255, 255, 255 */ };
#elif defined(__AVR_ATmega8__)
#define AVAILABLE_TONE_PINS 1
const uint8_t PROGMEM tone_pin_to_timer_PGM[] = { 2 /*, 1 */ };
static uint8_t tone_pins[AVAILABLE_TONE_PINS] = { 255 /*, 255 */ };
#else
#define AVAILABLE_TONE_PINS 1
// Leave timer 0 to last.
const uint8_t PROGMEM tone_pin_to_timer_PGM[] = { 2 /*, 1, 0 */ };
static uint8_t tone_pins[AVAILABLE_TONE_PINS] = { 255 /*, 255, 255 */ };
#endif
static int8_t toneBegin(uint8_t _pin)
{
int8_t _timer = -1;
// if we're already using the pin, the timer should be configured.
for (int i = 0; i < AVAILABLE_TONE_PINS; i++) {
if (tone_pins[i] == _pin) {
return pgm_read_byte(tone_pin_to_timer_PGM + i);
}
}
// search for an unused timer.
for (int i = 0; i < AVAILABLE_TONE_PINS; i++) {
if (tone_pins[i] == 255) {
tone_pins[i] = _pin;
_timer = pgm_read_byte(tone_pin_to_timer_PGM + i);
break;
}
}
if (_timer != -1)
{
// Set timer specific stuff
// All timers in CTC mode
// 8 bit timers will require changing prescalar values,
// whereas 16 bit timers are set to either ck/1 or ck/64 prescalar
switch (_timer)
{
#if defined(TCCR0A) && defined(TCCR0B)
case 0:
// 8 bit timer
TCCR0A = 0;
TCCR0B = 0;
bitWrite(TCCR0A, WGM01, 1);
bitWrite(TCCR0B, CS00, 1);
timer0_pin_port = portOutputRegister(digitalPinToPort(_pin));
timer0_pin_mask = digitalPinToBitMask(_pin);
break;
#endif
#if defined(TCCR1A) && defined(TCCR1B) && defined(WGM12)
case 1:
// 16 bit timer
TCCR1A = 0;
TCCR1B = 0;
bitWrite(TCCR1B, WGM12, 1);
bitWrite(TCCR1B, CS10, 1);
timer1_pin_port = portOutputRegister(digitalPinToPort(_pin));
timer1_pin_mask = digitalPinToBitMask(_pin);
break;
#endif
#if defined(TCCR2A) && defined(TCCR2B)
case 2:
// 8 bit timer
TCCR2A = 0;
TCCR2B = 0;
bitWrite(TCCR2A, WGM21, 1);
bitWrite(TCCR2B, CS20, 1);
timer2_pin_port = portOutputRegister(digitalPinToPort(_pin));
timer2_pin_mask = digitalPinToBitMask(_pin);
break;
#endif
#if defined(TCCR3A) && defined(TCCR3B) && defined(TIMSK3)
case 3:
// 16 bit timer
TCCR3A = 0;
TCCR3B = 0;
bitWrite(TCCR3B, WGM32, 1);
bitWrite(TCCR3B, CS30, 1);
timer3_pin_port = portOutputRegister(digitalPinToPort(_pin));
timer3_pin_mask = digitalPinToBitMask(_pin);
break;
#endif
#if defined(TCCR4A) && defined(TCCR4B) && defined(TIMSK4)
case 4:
// 16 bit timer
TCCR4A = 0;
TCCR4B = 0;
#if defined(WGM42)
bitWrite(TCCR4B, WGM42, 1);
#elif defined(CS43)
#warning this may not be correct
// atmega32u4
bitWrite(TCCR4B, CS43, 1);
#endif
bitWrite(TCCR4B, CS40, 1);
timer4_pin_port = portOutputRegister(digitalPinToPort(_pin));
timer4_pin_mask = digitalPinToBitMask(_pin);
break;
#endif
#if defined(TCCR5A) && defined(TCCR5B) && defined(TIMSK5)
case 5:
// 16 bit timer
TCCR5A = 0;
TCCR5B = 0;
bitWrite(TCCR5B, WGM52, 1);
bitWrite(TCCR5B, CS50, 1);
timer5_pin_port = portOutputRegister(digitalPinToPort(_pin));
timer5_pin_mask = digitalPinToBitMask(_pin);
break;
#endif
}
}
return _timer;
}
// frequency (in hertz) and duration (in milliseconds).
void tone(uint8_t _pin, unsigned int frequency, unsigned long duration)
{
uint8_t prescalarbits = 0b001;
long toggle_count = 0;
uint32_t ocr = 0;
int8_t _timer;
_timer = toneBegin(_pin);
if (_timer >= 0)
{
// Set the pinMode as OUTPUT
pinMode(_pin, OUTPUT);
// if we are using an 8 bit timer, scan through prescalars to find the best fit
if (_timer == 0 || _timer == 2)
{
ocr = F_CPU / frequency / 2 - 1;
prescalarbits = 0b001; // ck/1: same for both timers
if (ocr > 255)
{
ocr = F_CPU / frequency / 2 / 8 - 1;
prescalarbits = 0b010; // ck/8: same for both timers
if (_timer == 2 && ocr > 255)
{
ocr = F_CPU / frequency / 2 / 32 - 1;
prescalarbits = 0b011;
}
if (ocr > 255)
{
ocr = F_CPU / frequency / 2 / 64 - 1;
prescalarbits = _timer == 0 ? 0b011 : 0b100;
if (_timer == 2 && ocr > 255)
{
ocr = F_CPU / frequency / 2 / 128 - 1;
prescalarbits = 0b101;
}
if (ocr > 255)
{
ocr = F_CPU / frequency / 2 / 256 - 1;
prescalarbits = _timer == 0 ? 0b100 : 0b110;
if (ocr > 255)
{
// can't do any better than /1024
ocr = F_CPU / frequency / 2 / 1024 - 1;
prescalarbits = _timer == 0 ? 0b101 : 0b111;
}
}
}
}
#if defined(TCCR0B)
if (_timer == 0)
{
TCCR0B = prescalarbits;
}
else
#endif
#if defined(TCCR2B)
{
TCCR2B = prescalarbits;
}
#else
{
// dummy place holder to make the above ifdefs work
}
#endif
}
else
{
// two choices for the 16 bit timers: ck/1 or ck/64
ocr = F_CPU / frequency / 2 - 1;
prescalarbits = 0b001;
if (ocr > 0xffff)
{
ocr = F_CPU / frequency / 2 / 64 - 1;
prescalarbits = 0b011;
}
if (_timer == 1)
{
#if defined(TCCR1B)
TCCR1B = (TCCR1B & 0b11111000) | prescalarbits;
#endif
}
#if defined(TCCR3B)
else if (_timer == 3)
TCCR3B = (TCCR3B & 0b11111000) | prescalarbits;
#endif
#if defined(TCCR4B)
else if (_timer == 4)
TCCR4B = (TCCR4B & 0b11111000) | prescalarbits;
#endif
#if defined(TCCR5B)
else if (_timer == 5)
TCCR5B = (TCCR5B & 0b11111000) | prescalarbits;
#endif
}
// Calculate the toggle count
if (duration > 0)
{
toggle_count = 2 * frequency * duration / 1000;
}
else
{
toggle_count = -1;
}
// Set the OCR for the given timer,
// set the toggle count,
// then turn on the interrupts
switch (_timer)
{
#if defined(OCR0A) && defined(TIMSK0) && defined(OCIE0A)
case 0:
OCR0A = ocr;
timer0_toggle_count = toggle_count;
bitWrite(TIMSK0, OCIE0A, 1);
break;
#endif
case 1:
#if defined(OCR1A) && defined(TIMSK1) && defined(OCIE1A)
OCR1A = ocr;
timer1_toggle_count = toggle_count;
bitWrite(TIMSK1, OCIE1A, 1);
#elif defined(OCR1A) && defined(TIMSK) && defined(OCIE1A)
// this combination is for at least the ATmega32
OCR1A = ocr;
timer1_toggle_count = toggle_count;
bitWrite(TIMSK, OCIE1A, 1);
#endif
break;
#if defined(OCR2A) && defined(TIMSK2) && defined(OCIE2A)
case 2:
OCR2A = ocr;
timer2_toggle_count = toggle_count;
bitWrite(TIMSK2, OCIE2A, 1);
break;
#endif
#if defined(TIMSK3)
case 3:
OCR3A = ocr;
timer3_toggle_count = toggle_count;
bitWrite(TIMSK3, OCIE3A, 1);
break;
#endif
#if defined(TIMSK4)
case 4:
OCR4A = ocr;
timer4_toggle_count = toggle_count;
bitWrite(TIMSK4, OCIE4A, 1);
break;
#endif
#if defined(OCR5A) && defined(TIMSK5) && defined(OCIE5A)
case 5:
OCR5A = ocr;
timer5_toggle_count = toggle_count;
bitWrite(TIMSK5, OCIE5A, 1);
break;
#endif
}
}
}
// XXX: this function only works properly for timer 2 (the only one we use
// currently). for the others, it should end the tone, but won't restore
// proper PWM functionality for the timer.
void disableTimer(uint8_t _timer)
{
switch (_timer)
{
case 0:
#if defined(TIMSK0)
TIMSK0 = 0;
#elif defined(TIMSK)
TIMSK = 0; // atmega32
#endif
break;
#if defined(TIMSK1) && defined(OCIE1A)
case 1:
bitWrite(TIMSK1, OCIE1A, 0);
break;
#endif
case 2:
#if defined(TIMSK2) && defined(OCIE2A)
bitWrite(TIMSK2, OCIE2A, 0); // disable interrupt
#endif
#if defined(TCCR2A) && defined(WGM20)
TCCR2A = (1 << WGM20);
#endif
#if defined(TCCR2B) && defined(CS22)
TCCR2B = (TCCR2B & 0b11111000) | (1 << CS22);
#endif
#if defined(OCR2A)
OCR2A = 0;
#endif
break;
#if defined(TIMSK3)
case 3:
TIMSK3 = 0;
break;
#endif
#if defined(TIMSK4)
case 4:
TIMSK4 = 0;
break;
#endif
#if defined(TIMSK5)
case 5:
TIMSK5 = 0;
break;
#endif
}
}
void noTone(uint8_t _pin)
{
int8_t _timer = -1;
for (int i = 0; i < AVAILABLE_TONE_PINS; i++) {
if (tone_pins[i] == _pin) {
_timer = pgm_read_byte(tone_pin_to_timer_PGM + i);
tone_pins[i] = 255;
}
}
disableTimer(_timer);
digitalWrite(_pin, 0);
}
#if 0
#if !defined(__AVR_ATmega8__)
ISR(TIMER0_COMPA_vect)
{
if (timer0_toggle_count != 0)
{
// toggle the pin
*timer0_pin_port ^= timer0_pin_mask;
if (timer0_toggle_count > 0)
timer0_toggle_count--;
}
else
{
disableTimer(0);
*timer0_pin_port &= ~(timer0_pin_mask); // keep pin low after stop
}
}
#endif
ISR(TIMER1_COMPA_vect)
{
if (timer1_toggle_count != 0)
{
// toggle the pin
*timer1_pin_port ^= timer1_pin_mask;
if (timer1_toggle_count > 0)
timer1_toggle_count--;
}
else
{
disableTimer(1);
*timer1_pin_port &= ~(timer1_pin_mask); // keep pin low after stop
}
}
#endif
ISR(TIMER2_COMPA_vect)
{
if (timer2_toggle_count != 0)
{
// toggle the pin
*timer2_pin_port ^= timer2_pin_mask;
if (timer2_toggle_count > 0)
timer2_toggle_count--;
}
else
{
// need to call noTone() so that the tone_pins[] entry is reset, so the
// timer gets initialized next time we call tone().
// XXX: this assumes timer 2 is always the first one used.
noTone(tone_pins[0]);
// disableTimer(2);
// *timer2_pin_port &= ~(timer2_pin_mask); // keep pin low after stop
}
}
//#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
#if 0
ISR(TIMER3_COMPA_vect)
{
if (timer3_toggle_count != 0)
{
// toggle the pin
*timer3_pin_port ^= timer3_pin_mask;
if (timer3_toggle_count > 0)
timer3_toggle_count--;
}
else
{
disableTimer(3);
*timer3_pin_port &= ~(timer3_pin_mask); // keep pin low after stop
}
}
ISR(TIMER4_COMPA_vect)
{
if (timer4_toggle_count != 0)
{
// toggle the pin
*timer4_pin_port ^= timer4_pin_mask;
if (timer4_toggle_count > 0)
timer4_toggle_count--;
}
else
{
disableTimer(4);
*timer4_pin_port &= ~(timer4_pin_mask); // keep pin low after stop
}
}
ISR(TIMER5_COMPA_vect)
{
if (timer5_toggle_count != 0)
{
// toggle the pin
*timer5_pin_port ^= timer5_pin_mask;
if (timer5_toggle_count > 0)
timer5_toggle_count--;
}
else
{
disableTimer(5);
*timer5_pin_port &= ~(timer5_pin_mask); // keep pin low after stop
}
}
#endif
@@ -1,168 +0,0 @@
/*
WCharacter.h - Character utility functions for Wiring & Arduino
Copyright (c) 2010 Hernando Barragan. All right reserved.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef Character_h
#define Character_h
#include <ctype.h>
// WCharacter.h prototypes
inline boolean isAlphaNumeric(int c) __attribute__((always_inline));
inline boolean isAlpha(int c) __attribute__((always_inline));
inline boolean isAscii(int c) __attribute__((always_inline));
inline boolean isWhitespace(int c) __attribute__((always_inline));
inline boolean isControl(int c) __attribute__((always_inline));
inline boolean isDigit(int c) __attribute__((always_inline));
inline boolean isGraph(int c) __attribute__((always_inline));
inline boolean isLowerCase(int c) __attribute__((always_inline));
inline boolean isPrintable(int c) __attribute__((always_inline));
inline boolean isPunct(int c) __attribute__((always_inline));
inline boolean isSpace(int c) __attribute__((always_inline));
inline boolean isUpperCase(int c) __attribute__((always_inline));
inline boolean isHexadecimalDigit(int c) __attribute__((always_inline));
inline int toAscii(int c) __attribute__((always_inline));
inline int toLowerCase(int c) __attribute__((always_inline));
inline int toUpperCase(int c)__attribute__((always_inline));
// Checks for an alphanumeric character.
// It is equivalent to (isalpha(c) || isdigit(c)).
inline boolean isAlphaNumeric(int c)
{
return ( isalnum(c) == 0 ? false : true);
}
// Checks for an alphabetic character.
// It is equivalent to (isupper(c) || islower(c)).
inline boolean isAlpha(int c)
{
return ( isalpha(c) == 0 ? false : true);
}
// Checks whether c is a 7-bit unsigned char value
// that fits into the ASCII character set.
inline boolean isAscii(int c)
{
return ( isascii (c) == 0 ? false : true);
}
// Checks for a blank character, that is, a space or a tab.
inline boolean isWhitespace(int c)
{
return ( isblank (c) == 0 ? false : true);
}
// Checks for a control character.
inline boolean isControl(int c)
{
return ( iscntrl (c) == 0 ? false : true);
}
// Checks for a digit (0 through 9).
inline boolean isDigit(int c)
{
return ( isdigit (c) == 0 ? false : true);
}
// Checks for any printable character except space.
inline boolean isGraph(int c)
{
return ( isgraph (c) == 0 ? false : true);
}
// Checks for a lower-case character.
inline boolean isLowerCase(int c)
{
return (islower (c) == 0 ? false : true);
}
// Checks for any printable character including space.
inline boolean isPrintable(int c)
{
return ( isprint (c) == 0 ? false : true);
}
// Checks for any printable character which is not a space
// or an alphanumeric character.
inline boolean isPunct(int c)
{
return ( ispunct (c) == 0 ? false : true);
}
// Checks for white-space characters. For the avr-libc library,
// these are: space, formfeed ('\f'), newline ('\n'), carriage
// return ('\r'), horizontal tab ('\t'), and vertical tab ('\v').
inline boolean isSpace(int c)
{
return ( isspace (c) == 0 ? false : true);
}
// Checks for an uppercase letter.
inline boolean isUpperCase(int c)
{
return ( isupper (c) == 0 ? false : true);
}
// Checks for a hexadecimal digits, i.e. one of 0 1 2 3 4 5 6 7
// 8 9 a b c d e f A B C D E F.
inline boolean isHexadecimalDigit(int c)
{
return ( isxdigit (c) == 0 ? false : true);
}
// Converts c to a 7-bit unsigned char value that fits into the
// ASCII character set, by clearing the high-order bits.
inline int toAscii(int c)
{
return toascii (c);
}
// Warning:
// Many people will be unhappy if you use this function.
// This function will convert accented letters into random
// characters.
// Converts the letter c to lower case, if possible.
inline int toLowerCase(int c)
{
return tolower (c);
}
// Converts the letter c to upper case, if possible.
inline int toUpperCase(int c)
{
return toupper (c);
}
#endif
@@ -1 +0,0 @@
#include "wiring.h"
@@ -1,249 +0,0 @@
/* -*- mode: jde; c-basic-offset: 2; indent-tabs-mode: nil -*- */
/*
Part of the Wiring project - http://wiring.uniandes.edu.co
Copyright (c) 2004-05 Hernando Barragan
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General
Public License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA
Modified 24 November 2006 by David A. Mellis
Modified 1 August 2010 by Mark Sproul
*/
#include <inttypes.h>
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/pgmspace.h>
#include <stdio.h>
#include "WConstants.h"
#include "wiring_private.h"
volatile static voidFuncPtr intFunc[EXTERNAL_NUM_INTERRUPTS];
// volatile static voidFuncPtr twiIntFunc;
void attachInterrupt(uint8_t interruptNum, void (*userFunc)(void), int mode) {
if(interruptNum < EXTERNAL_NUM_INTERRUPTS) {
intFunc[interruptNum] = userFunc;
// Configure the interrupt mode (trigger on low input, any change, rising
// edge, or falling edge). The mode constants were chosen to correspond
// to the configuration bits in the hardware register, so we simply shift
// the mode into place.
// Enable the interrupt.
switch (interruptNum) {
#if defined(EICRA) && defined(EICRB) && defined(EIMSK)
case 2:
EICRA = (EICRA & ~((1 << ISC00) | (1 << ISC01))) | (mode << ISC00);
EIMSK |= (1 << INT0);
break;
case 3:
EICRA = (EICRA & ~((1 << ISC10) | (1 << ISC11))) | (mode << ISC10);
EIMSK |= (1 << INT1);
break;
case 4:
EICRA = (EICRA & ~((1 << ISC20) | (1 << ISC21))) | (mode << ISC20);
EIMSK |= (1 << INT2);
break;
case 5:
EICRA = (EICRA & ~((1 << ISC30) | (1 << ISC31))) | (mode << ISC30);
EIMSK |= (1 << INT3);
break;
case 0:
EICRB = (EICRB & ~((1 << ISC40) | (1 << ISC41))) | (mode << ISC40);
EIMSK |= (1 << INT4);
break;
case 1:
EICRB = (EICRB & ~((1 << ISC50) | (1 << ISC51))) | (mode << ISC50);
EIMSK |= (1 << INT5);
break;
case 6:
EICRB = (EICRB & ~((1 << ISC60) | (1 << ISC61))) | (mode << ISC60);
EIMSK |= (1 << INT6);
break;
case 7:
EICRB = (EICRB & ~((1 << ISC70) | (1 << ISC71))) | (mode << ISC70);
EIMSK |= (1 << INT7);
break;
#else
case 0:
#if defined(EICRA) && defined(ISC00) && defined(EIMSK)
EICRA = (EICRA & ~((1 << ISC00) | (1 << ISC01))) | (mode << ISC00);
EIMSK |= (1 << INT0);
#elif defined(MCUCR) && defined(ISC00) && defined(GICR)
MCUCR = (MCUCR & ~((1 << ISC00) | (1 << ISC01))) | (mode << ISC00);
GICR |= (1 << INT0);
#elif defined(MCUCR) && defined(ISC00) && defined(GIMSK)
MCUCR = (MCUCR & ~((1 << ISC00) | (1 << ISC01))) | (mode << ISC00);
GIMSK |= (1 << INT0);
#else
#error attachInterrupt not finished for this CPU (case 0)
#endif
break;
case 1:
#if defined(EICRA) && defined(ISC10) && defined(ISC11) && defined(EIMSK)
EICRA = (EICRA & ~((1 << ISC10) | (1 << ISC11))) | (mode << ISC10);
EIMSK |= (1 << INT1);
#elif defined(MCUCR) && defined(ISC10) && defined(ISC11) && defined(GICR)
MCUCR = (MCUCR & ~((1 << ISC10) | (1 << ISC11))) | (mode << ISC10);
GICR |= (1 << INT1);
#elif defined(MCUCR) && defined(ISC10) && defined(GIMSK) && defined(GIMSK)
MCUCR = (MCUCR & ~((1 << ISC10) | (1 << ISC11))) | (mode << ISC10);
GIMSK |= (1 << INT1);
#else
#warning attachInterrupt may need some more work for this cpu (case 1)
#endif
break;
#endif
}
}
}
void detachInterrupt(uint8_t interruptNum) {
if(interruptNum < EXTERNAL_NUM_INTERRUPTS) {
// Disable the interrupt. (We can't assume that interruptNum is equal
// to the number of the EIMSK bit to clear, as this isn't true on the
// ATmega8. There, INT0 is 6 and INT1 is 7.)
switch (interruptNum) {
#if defined(EICRA) && defined(EICRB) && defined(EIMSK)
case 2:
EIMSK &= ~(1 << INT0);
break;
case 3:
EIMSK &= ~(1 << INT1);
break;
case 4:
EIMSK &= ~(1 << INT2);
break;
case 5:
EIMSK &= ~(1 << INT3);
break;
case 0:
EIMSK &= ~(1 << INT4);
break;
case 1:
EIMSK &= ~(1 << INT5);
break;
case 6:
EIMSK &= ~(1 << INT6);
break;
case 7:
EIMSK &= ~(1 << INT7);
break;
#else
case 0:
#if defined(EIMSK) && defined(INT0)
EIMSK &= ~(1 << INT0);
#elif defined(GICR) && defined(ISC00)
GICR &= ~(1 << INT0); // atmega32
#elif defined(GIMSK) && defined(INT0)
GIMSK &= ~(1 << INT0);
#else
#error detachInterrupt not finished for this cpu
#endif
break;
case 1:
#if defined(EIMSK) && defined(INT1)
EIMSK &= ~(1 << INT1);
#elif defined(GICR) && defined(INT1)
GICR &= ~(1 << INT1); // atmega32
#elif defined(GIMSK) && defined(INT1)
GIMSK &= ~(1 << INT1);
#else
#warning detachInterrupt may need some more work for this cpu (case 1)
#endif
break;
#endif
}
intFunc[interruptNum] = 0;
}
}
/*
void attachInterruptTwi(void (*userFunc)(void) ) {
twiIntFunc = userFunc;
}
*/
#if defined(EICRA) && defined(EICRB)
SIGNAL(INT0_vect) {
if(intFunc[EXTERNAL_INT_2])
intFunc[EXTERNAL_INT_2]();
}
SIGNAL(INT1_vect) {
if(intFunc[EXTERNAL_INT_3])
intFunc[EXTERNAL_INT_3]();
}
SIGNAL(INT2_vect) {
if(intFunc[EXTERNAL_INT_4])
intFunc[EXTERNAL_INT_4]();
}
SIGNAL(INT3_vect) {
if(intFunc[EXTERNAL_INT_5])
intFunc[EXTERNAL_INT_5]();
}
SIGNAL(INT4_vect) {
if(intFunc[EXTERNAL_INT_0])
intFunc[EXTERNAL_INT_0]();
}
SIGNAL(INT5_vect) {
if(intFunc[EXTERNAL_INT_1])
intFunc[EXTERNAL_INT_1]();
}
SIGNAL(INT6_vect) {
if(intFunc[EXTERNAL_INT_6])
intFunc[EXTERNAL_INT_6]();
}
SIGNAL(INT7_vect) {
if(intFunc[EXTERNAL_INT_7])
intFunc[EXTERNAL_INT_7]();
}
#else
SIGNAL(INT0_vect) {
if(intFunc[EXTERNAL_INT_0])
intFunc[EXTERNAL_INT_0]();
}
SIGNAL(INT1_vect) {
if(intFunc[EXTERNAL_INT_1])
intFunc[EXTERNAL_INT_1]();
}
#endif
/*
SIGNAL(SIG_2WIRE_SERIAL) {
if(twiIntFunc)
twiIntFunc();
}
*/
@@ -1,60 +0,0 @@
/* -*- mode: jde; c-basic-offset: 2; indent-tabs-mode: nil -*- */
/*
Part of the Wiring project - http://wiring.org.co
Copyright (c) 2004-06 Hernando Barragan
Modified 13 August 2006, David A. Mellis for Arduino - http://www.arduino.cc/
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General
Public License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA
$Id$
*/
extern "C" {
#include "stdlib.h"
}
void randomSeed(unsigned int seed)
{
if (seed != 0) {
srandom(seed);
}
}
long random(long howbig)
{
if (howbig == 0) {
return 0;
}
return random() % howbig;
}
long random(long howsmall, long howbig)
{
if (howsmall >= howbig) {
return howsmall;
}
long diff = howbig - howsmall;
return random(diff) + howsmall;
}
long map(long x, long in_min, long in_max, long out_min, long out_max)
{
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}
unsigned int makeWord(unsigned int w) { return w; }
unsigned int makeWord(unsigned char h, unsigned char l) { return (h << 8) | l; }
@@ -1,63 +0,0 @@
#ifndef WProgram_h
#define WProgram_h
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <avr/interrupt.h>
#include "wiring.h"
#ifdef __cplusplus
#include "WCharacter.h"
#include "WString.h"
#include "HardwareSerial.h"
uint16_t makeWord(uint16_t w);
uint16_t makeWord(byte h, byte l);
#define word(...) makeWord(__VA_ARGS__)
unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout = 1000000L);
void tone(uint8_t _pin, unsigned int frequency, unsigned long duration = 0);
void noTone(uint8_t _pin);
// WMath prototypes
long random(long);
long random(long, long);
void randomSeed(unsigned int);
long map(long, long, long, long, long);
#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
const static uint8_t A0 = 54;
const static uint8_t A1 = 55;
const static uint8_t A2 = 56;
const static uint8_t A3 = 57;
const static uint8_t A4 = 58;
const static uint8_t A5 = 59;
const static uint8_t A6 = 60;
const static uint8_t A7 = 61;
const static uint8_t A8 = 62;
const static uint8_t A9 = 63;
const static uint8_t A10 = 64;
const static uint8_t A11 = 65;
const static uint8_t A12 = 66;
const static uint8_t A13 = 67;
const static uint8_t A14 = 68;
const static uint8_t A15 = 69;
#else
const static uint8_t A0 = 14;
const static uint8_t A1 = 15;
const static uint8_t A2 = 16;
const static uint8_t A3 = 17;
const static uint8_t A4 = 18;
const static uint8_t A5 = 19;
const static uint8_t A6 = 20;
const static uint8_t A7 = 21;
#endif
#endif
#endif
@@ -1,443 +0,0 @@
/*
WString.cpp - String library for Wiring & Arduino
Copyright (c) 2009-10 Hernando Barragan. All rights reserved.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include <stdlib.h>
#include "WProgram.h"
#include "WString.h"
String::String( const char *value )
{
if ( value == NULL )
value = "";
getBuffer( _length = strlen( value ) );
if ( _buffer != NULL )
strcpy( _buffer, value );
}
String::String( const String &value )
{
getBuffer( _length = value._length );
if ( _buffer != NULL )
strcpy( _buffer, value._buffer );
}
String::String( const char value )
{
_length = 1;
getBuffer(1);
if ( _buffer != NULL ) {
_buffer[0] = value;
_buffer[1] = 0;
}
}
String::String( const unsigned char value )
{
_length = 1;
getBuffer(1);
if ( _buffer != NULL) {
_buffer[0] = value;
_buffer[1] = 0;
}
}
String::String( const int value, const int base )
{
char buf[33];
itoa((signed long)value, buf, base);
getBuffer( _length = strlen(buf) );
if ( _buffer != NULL )
strcpy( _buffer, buf );
}
String::String( const unsigned int value, const int base )
{
char buf[33];
ultoa((unsigned long)value, buf, base);
getBuffer( _length = strlen(buf) );
if ( _buffer != NULL )
strcpy( _buffer, buf );
}
String::String( const long value, const int base )
{
char buf[33];
ltoa(value, buf, base);
getBuffer( _length = strlen(buf) );
if ( _buffer != NULL )
strcpy( _buffer, buf );
}
String::String( const unsigned long value, const int base )
{
char buf[33];
ultoa(value, buf, 10);
getBuffer( _length = strlen(buf) );
if ( _buffer != NULL )
strcpy( _buffer, buf );
}
char String::charAt( unsigned int loc ) const
{
return operator[]( loc );
}
void String::setCharAt( unsigned int loc, const char aChar )
{
if(_buffer == NULL) return;
if(_length > loc) {
_buffer[loc] = aChar;
}
}
int String::compareTo( const String &s2 ) const
{
return strcmp( _buffer, s2._buffer );
}
const String & String::concat( const String &s2 )
{
return (*this) += s2;
}
const String & String::operator=( const String &rhs )
{
if ( this == &rhs )
return *this;
if ( rhs._length > _length )
{
free(_buffer);
getBuffer( rhs._length );
}
if ( _buffer != NULL ) {
_length = rhs._length;
strcpy( _buffer, rhs._buffer );
}
return *this;
}
//const String & String::operator+=( const char aChar )
//{
// if ( _length == _capacity )
// doubleBuffer();
//
// _buffer[ _length++ ] = aChar;
// _buffer[ _length ] = '\0';
// return *this;
//}
const String & String::operator+=( const String &other )
{
_length += other._length;
if ( _length > _capacity )
{
char *temp = (char *)realloc(_buffer, _length + 1);
if ( temp != NULL ) {
_buffer = temp;
_capacity = _length;
} else {
_length -= other._length;
return *this;
}
}
strcat( _buffer, other._buffer );
return *this;
}
int String::operator==( const String &rhs ) const
{
return ( _length == rhs._length && strcmp( _buffer, rhs._buffer ) == 0 );
}
int String::operator!=( const String &rhs ) const
{
return ( _length != rhs.length() || strcmp( _buffer, rhs._buffer ) != 0 );
}
int String::operator<( const String &rhs ) const
{
return strcmp( _buffer, rhs._buffer ) < 0;
}
int String::operator>( const String &rhs ) const
{
return strcmp( _buffer, rhs._buffer ) > 0;
}
int String::operator<=( const String &rhs ) const
{
return strcmp( _buffer, rhs._buffer ) <= 0;
}
int String::operator>=( const String & rhs ) const
{
return strcmp( _buffer, rhs._buffer ) >= 0;
}
char & String::operator[]( unsigned int index )
{
static char dummy_writable_char;
if (index >= _length || !_buffer) {
dummy_writable_char = 0;
return dummy_writable_char;
}
return _buffer[ index ];
}
char String::operator[]( unsigned int index ) const
{
// need to check for valid index, to do later
return _buffer[ index ];
}
boolean String::endsWith( const String &s2 ) const
{
if ( _length < s2._length )
return 0;
return strcmp( &_buffer[ _length - s2._length], s2._buffer ) == 0;
}
boolean String::equals( const String &s2 ) const
{
return ( _length == s2._length && strcmp( _buffer,s2._buffer ) == 0 );
}
boolean String::equalsIgnoreCase( const String &s2 ) const
{
if ( this == &s2 )
return true; //1;
else if ( _length != s2._length )
return false; //0;
return strcmp(toLowerCase()._buffer, s2.toLowerCase()._buffer) == 0;
}
String String::replace( char findChar, char replaceChar )
{
if ( _buffer == NULL ) return *this;
String theReturn = _buffer;
char* temp = theReturn._buffer;
while( (temp = strchr( temp, findChar )) != 0 )
*temp = replaceChar;
return theReturn;
}
String String::replace( const String& match, const String& replace )
{
if ( _buffer == NULL ) return *this;
String temp = _buffer, newString;
int loc;
while ( (loc = temp.indexOf( match )) != -1 )
{
newString += temp.substring( 0, loc );
newString += replace;
temp = temp.substring( loc + match._length );
}
newString += temp;
return newString;
}
int String::indexOf( char temp ) const
{
return indexOf( temp, 0 );
}
int String::indexOf( char ch, unsigned int fromIndex ) const
{
if ( fromIndex >= _length )
return -1;
const char* temp = strchr( &_buffer[fromIndex], ch );
if ( temp == NULL )
return -1;
return temp - _buffer;
}
int String::indexOf( const String &s2 ) const
{
return indexOf( s2, 0 );
}
int String::indexOf( const String &s2, unsigned int fromIndex ) const
{
if ( fromIndex >= _length )
return -1;
const char *theFind = strstr( &_buffer[ fromIndex ], s2._buffer );
if ( theFind == NULL )
return -1;
return theFind - _buffer; // pointer subtraction
}
int String::lastIndexOf( char theChar ) const
{
return lastIndexOf( theChar, _length - 1 );
}
int String::lastIndexOf( char ch, unsigned int fromIndex ) const
{
if ( fromIndex >= _length )
return -1;
char tempchar = _buffer[fromIndex + 1];
_buffer[fromIndex + 1] = '\0';
char* temp = strrchr( _buffer, ch );
_buffer[fromIndex + 1] = tempchar;
if ( temp == NULL )
return -1;
return temp - _buffer;
}
int String::lastIndexOf( const String &s2 ) const
{
return lastIndexOf( s2, _length - s2._length );
}
int String::lastIndexOf( const String &s2, unsigned int fromIndex ) const
{
// check for empty strings
if ( s2._length == 0 || s2._length - 1 > fromIndex || fromIndex >= _length )
return -1;
// matching first character
char temp = s2[ 0 ];
for ( int i = fromIndex; i >= 0; i-- )
{
if ( _buffer[ i ] == temp && (*this).substring( i, i + s2._length ).equals( s2 ) )
return i;
}
return -1;
}
boolean String::startsWith( const String &s2 ) const
{
if ( _length < s2._length )
return 0;
return startsWith( s2, 0 );
}
boolean String::startsWith( const String &s2, unsigned int offset ) const
{
if ( offset > _length - s2._length )
return 0;
return strncmp( &_buffer[offset], s2._buffer, s2._length ) == 0;
}
String String::substring( unsigned int left ) const
{
return substring( left, _length );
}
String String::substring( unsigned int left, unsigned int right ) const
{
if ( left > right )
{
int temp = right;
right = left;
left = temp;
}
if ( right > _length )
{
right = _length;
}
char temp = _buffer[ right ]; // save the replaced character
_buffer[ right ] = '\0';
String outPut = ( _buffer + left ); // pointer arithmetic
_buffer[ right ] = temp; //restore character
return outPut;
}
String String::toLowerCase() const
{
String temp = _buffer;
for ( unsigned int i = 0; i < _length; i++ )
temp._buffer[ i ] = (char)tolower( temp._buffer[ i ] );
return temp;
}
String String::toUpperCase() const
{
String temp = _buffer;
for ( unsigned int i = 0; i < _length; i++ )
temp._buffer[ i ] = (char)toupper( temp._buffer[ i ] );
return temp;
}
String String::trim() const
{
if ( _buffer == NULL ) return *this;
String temp = _buffer;
unsigned int i,j;
for ( i = 0; i < _length; i++ )
{
if ( !isspace(_buffer[i]) )
break;
}
for ( j = temp._length - 1; j > i; j-- )
{
if ( !isspace(_buffer[j]) )
break;
}
return temp.substring( i, j + 1);
}
void String::getBytes(unsigned char *buf, unsigned int bufsize)
{
if (!bufsize || !buf) return;
unsigned int len = bufsize - 1;
if (len > _length) len = _length;
strncpy((char *)buf, _buffer, len);
buf[len] = 0;
}
void String::toCharArray(char *buf, unsigned int bufsize)
{
if (!bufsize || !buf) return;
unsigned int len = bufsize - 1;
if (len > _length) len = _length;
strncpy(buf, _buffer, len);
buf[len] = 0;
}
long String::toInt() {
return atol(_buffer);
}
@@ -1,112 +0,0 @@
/*
WString.h - String library for Wiring & Arduino
Copyright (c) 2009-10 Hernando Barragan. All right reserved.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef String_h
#define String_h
//#include "WProgram.h"
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
class String
{
public:
// constructors
String( const char *value = "" );
String( const String &value );
String( const char );
String( const unsigned char );
String( const int, const int base=10);
String( const unsigned int, const int base=10 );
String( const long, const int base=10 );
String( const unsigned long, const int base=10 );
~String() { free(_buffer); _length = _capacity = 0;} //added _length = _capacity = 0;
// operators
const String & operator = ( const String &rhs );
const String & operator +=( const String &rhs );
//const String & operator +=( const char );
int operator ==( const String &rhs ) const;
int operator !=( const String &rhs ) const;
int operator < ( const String &rhs ) const;
int operator > ( const String &rhs ) const;
int operator <=( const String &rhs ) const;
int operator >=( const String &rhs ) const;
char operator []( unsigned int index ) const;
char& operator []( unsigned int index );
//operator const char *() const { return _buffer; }
// general methods
char charAt( unsigned int index ) const;
int compareTo( const String &anotherString ) const;
unsigned char endsWith( const String &suffix ) const;
unsigned char equals( const String &anObject ) const;
unsigned char equalsIgnoreCase( const String &anotherString ) const;
int indexOf( char ch ) const;
int indexOf( char ch, unsigned int fromIndex ) const;
int indexOf( const String &str ) const;
int indexOf( const String &str, unsigned int fromIndex ) const;
int lastIndexOf( char ch ) const;
int lastIndexOf( char ch, unsigned int fromIndex ) const;
int lastIndexOf( const String &str ) const;
int lastIndexOf( const String &str, unsigned int fromIndex ) const;
const unsigned int length( ) const { return _length; }
void setCharAt(unsigned int index, const char ch);
unsigned char startsWith( const String &prefix ) const;
unsigned char startsWith( const String &prefix, unsigned int toffset ) const;
String substring( unsigned int beginIndex ) const;
String substring( unsigned int beginIndex, unsigned int endIndex ) const;
String toLowerCase( ) const;
String toUpperCase( ) const;
String trim( ) const;
void getBytes(unsigned char *buf, unsigned int bufsize);
void toCharArray(char *buf, unsigned int bufsize);
long toInt( );
const String& concat( const String &str );
String replace( char oldChar, char newChar );
String replace( const String& match, const String& replace );
friend String operator + ( String lhs, const String &rhs );
protected:
char *_buffer; // the actual char array
unsigned int _capacity; // the array length minus one (for the '\0')
unsigned int _length; // the String length (not counting the '\0')
void getBuffer(unsigned int maxStrLen);
private:
};
// allocate buffer space
inline void String::getBuffer(unsigned int maxStrLen)
{
_capacity = maxStrLen;
_buffer = (char *) malloc(_capacity + 1);
if (_buffer == NULL) _length = _capacity = 0;
}
inline String operator+( String lhs, const String &rhs )
{
return lhs += rhs;
}
#endif
@@ -1,515 +0,0 @@
#ifndef Binary_h
#define Binary_h
#define B0 0
#define B00 0
#define B000 0
#define B0000 0
#define B00000 0
#define B000000 0
#define B0000000 0
#define B00000000 0
#define B1 1
#define B01 1
#define B001 1
#define B0001 1
#define B00001 1
#define B000001 1
#define B0000001 1
#define B00000001 1
#define B10 2
#define B010 2
#define B0010 2
#define B00010 2
#define B000010 2
#define B0000010 2
#define B00000010 2
#define B11 3
#define B011 3
#define B0011 3
#define B00011 3
#define B000011 3
#define B0000011 3
#define B00000011 3
#define B100 4
#define B0100 4
#define B00100 4
#define B000100 4
#define B0000100 4
#define B00000100 4
#define B101 5
#define B0101 5
#define B00101 5
#define B000101 5
#define B0000101 5
#define B00000101 5
#define B110 6
#define B0110 6
#define B00110 6
#define B000110 6
#define B0000110 6
#define B00000110 6
#define B111 7
#define B0111 7
#define B00111 7
#define B000111 7
#define B0000111 7
#define B00000111 7
#define B1000 8
#define B01000 8
#define B001000 8
#define B0001000 8
#define B00001000 8
#define B1001 9
#define B01001 9
#define B001001 9
#define B0001001 9
#define B00001001 9
#define B1010 10
#define B01010 10
#define B001010 10
#define B0001010 10
#define B00001010 10
#define B1011 11
#define B01011 11
#define B001011 11
#define B0001011 11
#define B00001011 11
#define B1100 12
#define B01100 12
#define B001100 12
#define B0001100 12
#define B00001100 12
#define B1101 13
#define B01101 13
#define B001101 13
#define B0001101 13
#define B00001101 13
#define B1110 14
#define B01110 14
#define B001110 14
#define B0001110 14
#define B00001110 14
#define B1111 15
#define B01111 15
#define B001111 15
#define B0001111 15
#define B00001111 15
#define B10000 16
#define B010000 16
#define B0010000 16
#define B00010000 16
#define B10001 17
#define B010001 17
#define B0010001 17
#define B00010001 17
#define B10010 18
#define B010010 18
#define B0010010 18
#define B00010010 18
#define B10011 19
#define B010011 19
#define B0010011 19
#define B00010011 19
#define B10100 20
#define B010100 20
#define B0010100 20
#define B00010100 20
#define B10101 21
#define B010101 21
#define B0010101 21
#define B00010101 21
#define B10110 22
#define B010110 22
#define B0010110 22
#define B00010110 22
#define B10111 23
#define B010111 23
#define B0010111 23
#define B00010111 23
#define B11000 24
#define B011000 24
#define B0011000 24
#define B00011000 24
#define B11001 25
#define B011001 25
#define B0011001 25
#define B00011001 25
#define B11010 26
#define B011010 26
#define B0011010 26
#define B00011010 26
#define B11011 27
#define B011011 27
#define B0011011 27
#define B00011011 27
#define B11100 28
#define B011100 28
#define B0011100 28
#define B00011100 28
#define B11101 29
#define B011101 29
#define B0011101 29
#define B00011101 29
#define B11110 30
#define B011110 30
#define B0011110 30
#define B00011110 30
#define B11111 31
#define B011111 31
#define B0011111 31
#define B00011111 31
#define B100000 32
#define B0100000 32
#define B00100000 32
#define B100001 33
#define B0100001 33
#define B00100001 33
#define B100010 34
#define B0100010 34
#define B00100010 34
#define B100011 35
#define B0100011 35
#define B00100011 35
#define B100100 36
#define B0100100 36
#define B00100100 36
#define B100101 37
#define B0100101 37
#define B00100101 37
#define B100110 38
#define B0100110 38
#define B00100110 38
#define B100111 39
#define B0100111 39
#define B00100111 39
#define B101000 40
#define B0101000 40
#define B00101000 40
#define B101001 41
#define B0101001 41
#define B00101001 41
#define B101010 42
#define B0101010 42
#define B00101010 42
#define B101011 43
#define B0101011 43
#define B00101011 43
#define B101100 44
#define B0101100 44
#define B00101100 44
#define B101101 45
#define B0101101 45
#define B00101101 45
#define B101110 46
#define B0101110 46
#define B00101110 46
#define B101111 47
#define B0101111 47
#define B00101111 47
#define B110000 48
#define B0110000 48
#define B00110000 48
#define B110001 49
#define B0110001 49
#define B00110001 49
#define B110010 50
#define B0110010 50
#define B00110010 50
#define B110011 51
#define B0110011 51
#define B00110011 51
#define B110100 52
#define B0110100 52
#define B00110100 52
#define B110101 53
#define B0110101 53
#define B00110101 53
#define B110110 54
#define B0110110 54
#define B00110110 54
#define B110111 55
#define B0110111 55
#define B00110111 55
#define B111000 56
#define B0111000 56
#define B00111000 56
#define B111001 57
#define B0111001 57
#define B00111001 57
#define B111010 58
#define B0111010 58
#define B00111010 58
#define B111011 59
#define B0111011 59
#define B00111011 59
#define B111100 60
#define B0111100 60
#define B00111100 60
#define B111101 61
#define B0111101 61
#define B00111101 61
#define B111110 62
#define B0111110 62
#define B00111110 62
#define B111111 63
#define B0111111 63
#define B00111111 63
#define B1000000 64
#define B01000000 64
#define B1000001 65
#define B01000001 65
#define B1000010 66
#define B01000010 66
#define B1000011 67
#define B01000011 67
#define B1000100 68
#define B01000100 68
#define B1000101 69
#define B01000101 69
#define B1000110 70
#define B01000110 70
#define B1000111 71
#define B01000111 71
#define B1001000 72
#define B01001000 72
#define B1001001 73
#define B01001001 73
#define B1001010 74
#define B01001010 74
#define B1001011 75
#define B01001011 75
#define B1001100 76
#define B01001100 76
#define B1001101 77
#define B01001101 77
#define B1001110 78
#define B01001110 78
#define B1001111 79
#define B01001111 79
#define B1010000 80
#define B01010000 80
#define B1010001 81
#define B01010001 81
#define B1010010 82
#define B01010010 82
#define B1010011 83
#define B01010011 83
#define B1010100 84
#define B01010100 84
#define B1010101 85
#define B01010101 85
#define B1010110 86
#define B01010110 86
#define B1010111 87
#define B01010111 87
#define B1011000 88
#define B01011000 88
#define B1011001 89
#define B01011001 89
#define B1011010 90
#define B01011010 90
#define B1011011 91
#define B01011011 91
#define B1011100 92
#define B01011100 92
#define B1011101 93
#define B01011101 93
#define B1011110 94
#define B01011110 94
#define B1011111 95
#define B01011111 95
#define B1100000 96
#define B01100000 96
#define B1100001 97
#define B01100001 97
#define B1100010 98
#define B01100010 98
#define B1100011 99
#define B01100011 99
#define B1100100 100
#define B01100100 100
#define B1100101 101
#define B01100101 101
#define B1100110 102
#define B01100110 102
#define B1100111 103
#define B01100111 103
#define B1101000 104
#define B01101000 104
#define B1101001 105
#define B01101001 105
#define B1101010 106
#define B01101010 106
#define B1101011 107
#define B01101011 107
#define B1101100 108
#define B01101100 108
#define B1101101 109
#define B01101101 109
#define B1101110 110
#define B01101110 110
#define B1101111 111
#define B01101111 111
#define B1110000 112
#define B01110000 112
#define B1110001 113
#define B01110001 113
#define B1110010 114
#define B01110010 114
#define B1110011 115
#define B01110011 115
#define B1110100 116
#define B01110100 116
#define B1110101 117
#define B01110101 117
#define B1110110 118
#define B01110110 118
#define B1110111 119
#define B01110111 119
#define B1111000 120
#define B01111000 120
#define B1111001 121
#define B01111001 121
#define B1111010 122
#define B01111010 122
#define B1111011 123
#define B01111011 123
#define B1111100 124
#define B01111100 124
#define B1111101 125
#define B01111101 125
#define B1111110 126
#define B01111110 126
#define B1111111 127
#define B01111111 127
#define B10000000 128
#define B10000001 129
#define B10000010 130
#define B10000011 131
#define B10000100 132
#define B10000101 133
#define B10000110 134
#define B10000111 135
#define B10001000 136
#define B10001001 137
#define B10001010 138
#define B10001011 139
#define B10001100 140
#define B10001101 141
#define B10001110 142
#define B10001111 143
#define B10010000 144
#define B10010001 145
#define B10010010 146
#define B10010011 147
#define B10010100 148
#define B10010101 149
#define B10010110 150
#define B10010111 151
#define B10011000 152
#define B10011001 153
#define B10011010 154
#define B10011011 155
#define B10011100 156
#define B10011101 157
#define B10011110 158
#define B10011111 159
#define B10100000 160
#define B10100001 161
#define B10100010 162
#define B10100011 163
#define B10100100 164
#define B10100101 165
#define B10100110 166
#define B10100111 167
#define B10101000 168
#define B10101001 169
#define B10101010 170
#define B10101011 171
#define B10101100 172
#define B10101101 173
#define B10101110 174
#define B10101111 175
#define B10110000 176
#define B10110001 177
#define B10110010 178
#define B10110011 179
#define B10110100 180
#define B10110101 181
#define B10110110 182
#define B10110111 183
#define B10111000 184
#define B10111001 185
#define B10111010 186
#define B10111011 187
#define B10111100 188
#define B10111101 189
#define B10111110 190
#define B10111111 191
#define B11000000 192
#define B11000001 193
#define B11000010 194
#define B11000011 195
#define B11000100 196
#define B11000101 197
#define B11000110 198
#define B11000111 199
#define B11001000 200
#define B11001001 201
#define B11001010 202
#define B11001011 203
#define B11001100 204
#define B11001101 205
#define B11001110 206
#define B11001111 207
#define B11010000 208
#define B11010001 209
#define B11010010 210
#define B11010011 211
#define B11010100 212
#define B11010101 213
#define B11010110 214
#define B11010111 215
#define B11011000 216
#define B11011001 217
#define B11011010 218
#define B11011011 219
#define B11011100 220
#define B11011101 221
#define B11011110 222
#define B11011111 223
#define B11100000 224
#define B11100001 225
#define B11100010 226
#define B11100011 227
#define B11100100 228
#define B11100101 229
#define B11100110 230
#define B11100111 231
#define B11101000 232
#define B11101001 233
#define B11101010 234
#define B11101011 235
#define B11101100 236
#define B11101101 237
#define B11101110 238
#define B11101111 239
#define B11110000 240
#define B11110001 241
#define B11110010 242
#define B11110011 243
#define B11110100 244
#define B11110101 245
#define B11110110 246
#define B11110111 247
#define B11111000 248
#define B11111001 249
#define B11111010 250
#define B11111011 251
#define B11111100 252
#define B11111101 253
#define B11111110 254
#define B11111111 255
#endif
@@ -1,14 +0,0 @@
#include <WProgram.h>
int main(void)
{
init();
setup();
for (;;)
loop();
return 0;
}
@@ -1,200 +0,0 @@
/*
pins_arduino.c - pin definitions for the Arduino board
Part of Arduino / Wiring Lite
Copyright (c) 2005 David A. Mellis
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General
Public License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA
$Id: pins_arduino.c 254 2007-04-20 23:17:38Z mellis $
*/
#include <avr/io.h>
#include "wiring_private.h"
#include "pins_arduino.h"
// On the Sanguino board, digital pins are also used
// for the analog output (software PWM). Analog input
// pins are a separate set.
// ATMEL ATMEGA644P / SANGUINO
//
// +---\/---+
// INT0 (D 0) PB0 1| |40 PA0 (AI 0 / D31)
// INT1 (D 1) PB1 2| |39 PA1 (AI 1 / D30)
// INT2 (D 2) PB2 3| |38 PA2 (AI 2 / D29)
// PWM (D 3) PB3 4| |37 PA3 (AI 3 / D28)
// PWM (D 4) PB4 5| |36 PA4 (AI 4 / D27)
// MOSI (D 5) PB5 6| |35 PA5 (AI 5 / D26)
// MISO (D 6) PB6 7| |34 PA6 (AI 6 / D25)
// SCK (D 7) PB7 8| |33 PA7 (AI 7 / D24)
// RST 9| |32 AREF
// VCC 10| |31 GND
// GND 11| |30 AVCC
// XTAL2 12| |29 PC7 (D 23)
// XTAL1 13| |28 PC6 (D 22)
// RX0 (D 8) PD0 14| |27 PC5 (D 21) TDI
// TX0 (D 9) PD1 15| |26 PC4 (D 20) TDO
// RX1 (D 10) PD2 16| |25 PC3 (D 19) TMS
// TX1 (D 11) PD3 17| |24 PC2 (D 18) TCK
// PWM (D 12) PD4 18| |23 PC1 (D 17) SDA
// PWM (D 13) PD5 19| |22 PC0 (D 16) SCL
// PWM (D 14) PD6 20| |21 PD7 (D 15) PWM
// +--------+
//
#define PA 1
#define PB 2
#define PC 3
#define PD 4
// these arrays map port names (e.g. port B) to the
// appropriate addresses for various functions (e.g. reading
// and writing)
const uint8_t PROGMEM port_to_mode_PGM[] =
{
NOT_A_PORT,
(uint8_t) (uint16_t) &DDRA,
(uint8_t) (uint16_t) &DDRB,
(uint8_t) (uint16_t) &DDRC,
(uint8_t) (uint16_t) &DDRD,
};
const uint8_t PROGMEM port_to_output_PGM[] =
{
NOT_A_PORT,
(uint8_t) (uint16_t) &PORTA,
(uint8_t) (uint16_t) &PORTB,
(uint8_t) (uint16_t) &PORTC,
(uint8_t) (uint16_t) &PORTD,
};
const uint8_t PROGMEM port_to_input_PGM[] =
{
NOT_A_PORT,
(uint8_t) (uint16_t) &PINA,
(uint8_t) (uint16_t) &PINB,
(uint8_t) (uint16_t) &PINC,
(uint8_t) (uint16_t) &PIND,
};
const uint8_t PROGMEM digital_pin_to_port_PGM[] =
{
PB, /* 0 */
PB,
PB,
PB,
PB,
PB,
PB,
PB,
PD, /* 8 */
PD,
PD,
PD,
PD,
PD,
PD,
PD,
PC, /* 16 */
PC,
PC,
PC,
PC,
PC,
PC,
PC,
PA, /* 24 */
PA,
PA,
PA,
PA,
PA,
PA,
PA /* 31 */
};
const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] =
{
_BV(0), /* 0, port B */
_BV(1),
_BV(2),
_BV(3),
_BV(4),
_BV(5),
_BV(6),
_BV(7),
_BV(0), /* 8, port D */
_BV(1),
_BV(2),
_BV(3),
_BV(4),
_BV(5),
_BV(6),
_BV(7),
_BV(0), /* 16, port C */
_BV(1),
_BV(2),
_BV(3),
_BV(4),
_BV(5),
_BV(6),
_BV(7),
_BV(7), /* 24, port A */
_BV(6),
_BV(5),
_BV(4),
_BV(3),
_BV(2),
_BV(1),
_BV(0)
};
const uint8_t PROGMEM digital_pin_to_timer_PGM[] =
{
NOT_ON_TIMER, /* 0 - PB0 */
NOT_ON_TIMER, /* 1 - PB1 */
NOT_ON_TIMER, /* 2 - PB2 */
TIMER0A, /* 3 - PB3 */
TIMER0B, /* 4 - PB4 */
NOT_ON_TIMER, /* 5 - PB5 */
NOT_ON_TIMER, /* 6 - PB6 */
NOT_ON_TIMER, /* 7 - PB7 */
NOT_ON_TIMER, /* 8 - PD0 */
NOT_ON_TIMER, /* 9 - PD1 */
NOT_ON_TIMER, /* 10 - PD2 */
NOT_ON_TIMER, /* 11 - PD3 */
TIMER1B, /* 12 - PD4 */
TIMER1A, /* 13 - PD5 */
TIMER2B, /* 14 - PD6 */
TIMER2A, /* 15 - PD7 */
NOT_ON_TIMER, /* 16 - PC0 */
NOT_ON_TIMER, /* 17 - PC1 */
NOT_ON_TIMER, /* 18 - PC2 */
NOT_ON_TIMER, /* 19 - PC3 */
NOT_ON_TIMER, /* 20 - PC4 */
NOT_ON_TIMER, /* 21 - PC5 */
NOT_ON_TIMER, /* 22 - PC6 */
NOT_ON_TIMER, /* 23 - PC7 */
NOT_ON_TIMER, /* 24 - PA0 */
NOT_ON_TIMER, /* 25 - PA1 */
NOT_ON_TIMER, /* 26 - PA2 */
NOT_ON_TIMER, /* 27 - PA3 */
NOT_ON_TIMER, /* 28 - PA4 */
NOT_ON_TIMER, /* 29 - PA5 */
NOT_ON_TIMER, /* 30 - PA6 */
NOT_ON_TIMER /* 31 - PA7 */
};
@@ -1,65 +0,0 @@
/*
pins_arduino.h - Pin definition functions for Arduino
Part of Arduino - http://www.arduino.cc/
Copyright (c) 2007 David A. Mellis
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General
Public License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA
$Id: wiring.h 249 2007-02-03 16:52:51Z mellis $
*/
#ifndef Pins_Arduino_h
#define Pins_Arduino_h
#include <avr/pgmspace.h>
#define NOT_A_PIN 0
#define NOT_A_PORT 0
#define NOT_ON_TIMER 0
#define TIMER0A 1
#define TIMER0B 2
#define TIMER1A 3
#define TIMER1B 4
#define TIMER2 5
#define TIMER2A 6
#define TIMER2B 7
extern const uint8_t PROGMEM port_to_mode_PGM[];
extern const uint8_t PROGMEM port_to_input_PGM[];
extern const uint8_t PROGMEM port_to_output_PGM[];
extern const uint8_t PROGMEM digital_pin_to_port_PGM[];
extern const uint8_t PROGMEM digital_pin_to_bit_PGM[];
extern const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[];
extern const uint8_t PROGMEM digital_pin_to_timer_PGM[];
// Get the bit location within the hardware port of the given virtual pin.
// This comes from the pins_*.c file for the active board configuration.
//
// These perform slightly better as macros compared to inline functions
//
#define digitalPinToPort(P) ( pgm_read_byte( digital_pin_to_port_PGM + (P) ) )
#define digitalPinToBitMask(P) ( pgm_read_byte( digital_pin_to_bit_mask_PGM + (P) ) )
#define digitalPinToTimer(P) ( pgm_read_byte( digital_pin_to_timer_PGM + (P) ) )
#define analogInPinToBit(P) (P)
#define portOutputRegister(P) ( (volatile uint8_t *)( (uint16_t) pgm_read_byte( port_to_output_PGM + (P))) )
#define portInputRegister(P) ( (volatile uint8_t *)( (uint16_t) pgm_read_byte( port_to_input_PGM + (P))) )
#define portModeRegister(P) ( (volatile uint8_t *)( (uint16_t) pgm_read_byte( port_to_mode_PGM + (P))) )
#endif
@@ -1,289 +0,0 @@
/*
wiring.c - Partial implementation of the Wiring API for the ATmega8.
Part of Arduino - http://www.arduino.cc/
Copyright (c) 2005-2006 David A. Mellis
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General
Public License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA
$Id$
*/
#include "wiring_private.h"
// the prescaler is set so that timer0 ticks every 64 clock cycles, and the
// the overflow handler is called every 256 ticks.
#define MICROSECONDS_PER_TIMER0_OVERFLOW (clockCyclesToMicroseconds(64 * 256))
// the whole number of milliseconds per timer0 overflow
#define MILLIS_INC (MICROSECONDS_PER_TIMER0_OVERFLOW / 1000)
// the fractional number of milliseconds per timer0 overflow. we shift right
// by three to fit these numbers into a byte. (for the clock speeds we care
// about - 8 and 16 MHz - this doesn't lose precision.)
#define FRACT_INC ((MICROSECONDS_PER_TIMER0_OVERFLOW % 1000) >> 3)
#define FRACT_MAX (1000 >> 3)
volatile unsigned long timer0_overflow_count = 0;
volatile unsigned long timer0_millis = 0;
static unsigned char timer0_fract = 0;
SIGNAL(TIMER0_OVF_vect)
{
// copy these to local variables so they can be stored in registers
// (volatile variables must be read from memory on every access)
unsigned long m = timer0_millis;
unsigned char f = timer0_fract;
m += MILLIS_INC;
f += FRACT_INC;
if (f >= FRACT_MAX) {
f -= FRACT_MAX;
m += 1;
}
timer0_fract = f;
timer0_millis = m;
timer0_overflow_count++;
}
unsigned long millis()
{
unsigned long m;
uint8_t oldSREG = SREG;
// disable interrupts while we read timer0_millis or we might get an
// inconsistent value (e.g. in the middle of a write to timer0_millis)
cli();
m = timer0_millis;
SREG = oldSREG;
return m;
}
unsigned long micros() {
unsigned long m;
uint8_t oldSREG = SREG, t;
cli();
m = timer0_overflow_count;
#if defined(TCNT0)
t = TCNT0;
#elif defined(TCNT0L)
t = TCNT0L;
#else
#error TIMER 0 not defined
#endif
#ifdef TIFR0
if ((TIFR0 & _BV(TOV0)) && (t < 255))
m++;
#else
if ((TIFR & _BV(TOV0)) && (t < 255))
m++;
#endif
SREG = oldSREG;
return ((m << 8) + t) * (64 / clockCyclesPerMicrosecond());
}
void delay(unsigned long ms)
{
uint16_t start = (uint16_t)micros();
while (ms > 0) {
if (((uint16_t)micros() - start) >= 1000) {
ms--;
start += 1000;
}
}
}
/* Delay for the given number of microseconds. Assumes a 8 or 16 MHz clock. */
void delayMicroseconds(unsigned int us)
{
// calling avrlib's delay_us() function with low values (e.g. 1 or
// 2 microseconds) gives delays longer than desired.
//delay_us(us);
#if F_CPU >= 16000000L
// for the 16 MHz clock on most Arduino boards
// for a one-microsecond delay, simply return. the overhead
// of the function call yields a delay of approximately 1 1/8 us.
if (--us == 0)
return;
// the following loop takes a quarter of a microsecond (4 cycles)
// per iteration, so execute it four times for each microsecond of
// delay requested.
us <<= 2;
// account for the time taken in the preceeding commands.
us -= 2;
#else
// for the 8 MHz internal clock on the ATmega168
// for a one- or two-microsecond delay, simply return. the overhead of
// the function calls takes more than two microseconds. can't just
// subtract two, since us is unsigned; we'd overflow.
if (--us == 0)
return;
if (--us == 0)
return;
// the following loop takes half of a microsecond (4 cycles)
// per iteration, so execute it twice for each microsecond of
// delay requested.
us <<= 1;
// partially compensate for the time taken by the preceeding commands.
// we can't subtract any more than this or we'd overflow w/ small delays.
us--;
#endif
// busy wait
__asm__ __volatile__ (
"1: sbiw %0,1" "\n\t" // 2 cycles
"brne 1b" : "=w" (us) : "0" (us) // 2 cycles
);
}
void init()
{
// this needs to be called before setup() or some functions won't
// work there
sei();
// on the ATmega168, timer 0 is also used for fast hardware pwm
// (using phase-correct PWM would mean that timer 0 overflowed half as often
// resulting in different millis() behavior on the ATmega8 and ATmega168)
#if defined(TCCR0A) && defined(WGM01)
sbi(TCCR0A, WGM01);
sbi(TCCR0A, WGM00);
#endif
// set timer 0 prescale factor to 64
#if defined(__AVR_ATmega128__)
// CPU specific: different values for the ATmega128
sbi(TCCR0, CS02);
#elif defined(TCCR0) && defined(CS01) && defined(CS00)
// this combination is for the standard atmega8
sbi(TCCR0, CS01);
sbi(TCCR0, CS00);
#elif defined(TCCR0B) && defined(CS01) && defined(CS00)
// this combination is for the standard 168/328/1280/2560
sbi(TCCR0B, CS01);
sbi(TCCR0B, CS00);
#elif defined(TCCR0A) && defined(CS01) && defined(CS00)
// this combination is for the __AVR_ATmega645__ series
sbi(TCCR0A, CS01);
sbi(TCCR0A, CS00);
#else
#error Timer 0 prescale factor 64 not set correctly
#endif
// enable timer 0 overflow interrupt
#if defined(TIMSK) && defined(TOIE0)
sbi(TIMSK, TOIE0);
#elif defined(TIMSK0) && defined(TOIE0)
sbi(TIMSK0, TOIE0);
#else
#error Timer 0 overflow interrupt not set correctly
#endif
// timers 1 and 2 are used for phase-correct hardware pwm
// this is better for motors as it ensures an even waveform
// note, however, that fast pwm mode can achieve a frequency of up
// 8 MHz (with a 16 MHz clock) at 50% duty cycle
TCCR1B = 0;
// set timer 1 prescale factor to 64
#if defined(TCCR1B) && defined(CS11) && defined(CS10)
sbi(TCCR1B, CS11);
sbi(TCCR1B, CS10);
#elif defined(TCCR1) && defined(CS11) && defined(CS10)
sbi(TCCR1, CS11);
sbi(TCCR1, CS10);
#endif
// put timer 1 in 8-bit phase correct pwm mode
#if defined(TCCR1A) && defined(WGM10)
sbi(TCCR1A, WGM10);
#elif defined(TCCR1)
#warning this needs to be finished
#endif
// set timer 2 prescale factor to 64
#if defined(TCCR2) && defined(CS22)
sbi(TCCR2, CS22);
#elif defined(TCCR2B) && defined(CS22)
sbi(TCCR2B, CS22);
#else
#warning Timer 2 not finished (may not be present on this CPU)
#endif
// configure timer 2 for phase correct pwm (8-bit)
#if defined(TCCR2) && defined(WGM20)
sbi(TCCR2, WGM20);
#elif defined(TCCR2A) && defined(WGM20)
sbi(TCCR2A, WGM20);
#else
#warning Timer 2 not finished (may not be present on this CPU)
#endif
#if defined(TCCR3B) && defined(CS31) && defined(WGM30)
sbi(TCCR3B, CS31); // set timer 3 prescale factor to 64
sbi(TCCR3B, CS30);
sbi(TCCR3A, WGM30); // put timer 3 in 8-bit phase correct pwm mode
#endif
#if defined(TCCR4B) && defined(CS41) && defined(WGM40)
sbi(TCCR4B, CS41); // set timer 4 prescale factor to 64
sbi(TCCR4B, CS40);
sbi(TCCR4A, WGM40); // put timer 4 in 8-bit phase correct pwm mode
#endif
#if defined(TCCR5B) && defined(CS51) && defined(WGM50)
sbi(TCCR5B, CS51); // set timer 5 prescale factor to 64
sbi(TCCR5B, CS50);
sbi(TCCR5A, WGM50); // put timer 5 in 8-bit phase correct pwm mode
#endif
#if defined(ADCSRA)
// set a2d prescale factor to 128
// 16 MHz / 128 = 125 KHz, inside the desired 50-200 KHz range.
// XXX: this will not work properly for other clock speeds, and
// this code should use F_CPU to determine the prescale factor.
sbi(ADCSRA, ADPS2);
sbi(ADCSRA, ADPS1);
sbi(ADCSRA, ADPS0);
// enable a2d conversions
sbi(ADCSRA, ADEN);
#endif
// the bootloader connects pins 0 and 1 to the USART; disconnect them
// here so they can be used as normal digital i/o; they will be
// reconnected in Serial.begin()
#if defined(UCSRB)
UCSRB = 0;
#elif defined(UCSR0B)
UCSR0B = 0;
#endif
}
@@ -1,136 +0,0 @@
/*
wiring.h - Partial implementation of the Wiring API for the ATmega8.
Part of Arduino - http://www.arduino.cc/
Copyright (c) 2005-2006 David A. Mellis
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General
Public License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA
$Id$
*/
#ifndef Wiring_h
#define Wiring_h
#include <math.h>
#include <avr/io.h>
#include <stdlib.h>
#include "binary.h"
#ifdef __cplusplus
extern "C"{
#endif
#define HIGH 0x1
#define LOW 0x0
#define INPUT 0x0
#define OUTPUT 0x1
#define true 0x1
#define false 0x0
#define PI 3.1415926535897932384626433832795
#define HALF_PI 1.5707963267948966192313216916398
#define TWO_PI 6.283185307179586476925286766559
#define DEG_TO_RAD 0.017453292519943295769236907684886
#define RAD_TO_DEG 57.295779513082320876798154814105
#define SERIAL 0x0
#define DISPLAY 0x1
#define LSBFIRST 0
#define MSBFIRST 1
#define CHANGE 1
#define FALLING 2
#define RISING 3
#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
#define INTERNAL1V1 2
#define INTERNAL2V56 3
#else
#define INTERNAL 3
#endif
#define DEFAULT 1
#define EXTERNAL 0
// undefine stdlib's abs if encountered
#ifdef abs
#undef abs
#endif
#define min(a,b) ((a)<(b)?(a):(b))
#define max(a,b) ((a)>(b)?(a):(b))
#define abs(x) ((x)>0?(x):-(x))
#define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt)))
#define round(x) ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))
#define radians(deg) ((deg)*DEG_TO_RAD)
#define degrees(rad) ((rad)*RAD_TO_DEG)
#define sq(x) ((x)*(x))
#define interrupts() sei()
#define noInterrupts() cli()
#define clockCyclesPerMicrosecond() ( F_CPU / 1000000L )
#define clockCyclesToMicroseconds(a) ( ((a) * 1000L) / (F_CPU / 1000L) )
#define microsecondsToClockCycles(a) ( ((a) * (F_CPU / 1000L)) / 1000L )
#define lowByte(w) ((uint8_t) ((w) & 0xff))
#define highByte(w) ((uint8_t) ((w) >> 8))
#define bitRead(value, bit) (((value) >> (bit)) & 0x01)
#define bitSet(value, bit) ((value) |= (1UL << (bit)))
#define bitClear(value, bit) ((value) &= ~(1UL << (bit)))
#define bitWrite(value, bit, bitvalue) (bitvalue ? bitSet(value, bit) : bitClear(value, bit))
typedef unsigned int word;
#define bit(b) (1UL << (b))
typedef uint8_t boolean;
typedef uint8_t byte;
void init(void);
void pinMode(uint8_t, uint8_t);
void digitalWrite(uint8_t, uint8_t);
int digitalRead(uint8_t);
int analogRead(uint8_t);
void analogReference(uint8_t mode);
void analogWrite(uint8_t, int);
unsigned long millis(void);
unsigned long micros(void);
void delay(unsigned long);
void delayMicroseconds(unsigned int us);
unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout);
void shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val);
uint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder);
void attachInterrupt(uint8_t, void (*)(void), int mode);
void detachInterrupt(uint8_t);
void setup(void);
void loop(void);
#ifdef __cplusplus
} // extern "C"
#endif
#endif
@@ -1,259 +0,0 @@
/*
wiring_analog.c - analog input and output
Part of Arduino - http://www.arduino.cc/
Copyright (c) 2005-2006 David A. Mellis
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General
Public License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA
Modified 28 September 2010 by Mark Sproul
$Id: wiring.c 248 2007-02-03 15:36:30Z mellis $
*/
#include "wiring_private.h"
#include "pins_arduino.h"
uint8_t analog_reference = DEFAULT;
void analogReference(uint8_t mode)
{
// can't actually set the register here because the default setting
// will connect AVCC and the AREF pin, which would cause a short if
// there's something connected to AREF.
analog_reference = mode;
}
int analogRead(uint8_t pin)
{
uint8_t low, high;
#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
if (pin >= 54) pin -= 54; // allow for channel or pin numbers
#else
if (pin >= 14) pin -= 14; // allow for channel or pin numbers
#endif
#if defined(ADCSRB) && defined(MUX5)
// the MUX5 bit of ADCSRB selects whether we're reading from channels
// 0 to 7 (MUX5 low) or 8 to 15 (MUX5 high).
ADCSRB = (ADCSRB & ~(1 << MUX5)) | (((pin >> 3) & 0x01) << MUX5);
#endif
// set the analog reference (high two bits of ADMUX) and select the
// channel (low 4 bits). this also sets ADLAR (left-adjust result)
// to 0 (the default).
#if defined(ADMUX)
ADMUX = (analog_reference << 6) | (pin & 0x07);
#endif
// without a delay, we seem to read from the wrong channel
//delay(1);
#if defined(ADCSRA) && defined(ADCL)
// start the conversion
sbi(ADCSRA, ADSC);
// ADSC is cleared when the conversion finishes
while (bit_is_set(ADCSRA, ADSC));
// we have to read ADCL first; doing so locks both ADCL
// and ADCH until ADCH is read. reading ADCL second would
// cause the results of each conversion to be discarded,
// as ADCL and ADCH would be locked when it completed.
low = ADCL;
high = ADCH;
#else
// we dont have an ADC, return 0
low = 0;
high = 0;
#endif
// combine the two bytes
return (high << 8) | low;
}
// Right now, PWM output only works on the pins with
// hardware support. These are defined in the appropriate
// pins_*.c file. For the rest of the pins, we default
// to digital output.
void analogWrite(uint8_t pin, int val)
{
// We need to make sure the PWM output is enabled for those pins
// that support it, as we turn it off when digitally reading or
// writing with them. Also, make sure the pin is in output mode
// for consistenty with Wiring, which doesn't require a pinMode
// call for the analog output pins.
pinMode(pin, OUTPUT);
if (val == 0)
{
digitalWrite(pin, LOW);
}
else if (val == 255)
{
digitalWrite(pin, HIGH);
}
else
{
switch(digitalPinToTimer(pin))
{
// XXX fix needed for atmega8
#if defined(TCCR0) && defined(COM00) && !defined(__AVR_ATmega8__)
case TIMER0A:
// connect pwm to pin on timer 0
sbi(TCCR0, COM00);
OCR0 = val; // set pwm duty
break;
#endif
#if defined(TCCR0A) && defined(COM0A1)
case TIMER0A:
// connect pwm to pin on timer 0, channel A
sbi(TCCR0A, COM0A1);
OCR0A = val; // set pwm duty
break;
#endif
#if defined(TCCR0A) && defined(COM0B1)
case TIMER0B:
// connect pwm to pin on timer 0, channel B
sbi(TCCR0A, COM0B1);
OCR0B = val; // set pwm duty
break;
#endif
#if defined(TCCR1A) && defined(COM1A1)
case TIMER1A:
// connect pwm to pin on timer 1, channel A
sbi(TCCR1A, COM1A1);
OCR1A = val; // set pwm duty
break;
#endif
#if defined(TCCR1A) && defined(COM1B1)
case TIMER1B:
// connect pwm to pin on timer 1, channel B
sbi(TCCR1A, COM1B1);
OCR1B = val; // set pwm duty
break;
#endif
#if defined(TCCR2) && defined(COM21)
case TIMER2:
// connect pwm to pin on timer 2
sbi(TCCR2, COM21);
OCR2 = val; // set pwm duty
break;
#endif
#if defined(TCCR2A) && defined(COM2A1)
case TIMER2A:
// connect pwm to pin on timer 2, channel A
sbi(TCCR2A, COM2A1);
OCR2A = val; // set pwm duty
break;
#endif
#if defined(TCCR2A) && defined(COM2B1)
case TIMER2B:
// connect pwm to pin on timer 2, channel B
sbi(TCCR2A, COM2B1);
OCR2B = val; // set pwm duty
break;
#endif
#if defined(TCCR3A) && defined(COM3A1)
case TIMER3A:
// connect pwm to pin on timer 3, channel A
sbi(TCCR3A, COM3A1);
OCR3A = val; // set pwm duty
break;
#endif
#if defined(TCCR3A) && defined(COM3B1)
case TIMER3B:
// connect pwm to pin on timer 3, channel B
sbi(TCCR3A, COM3B1);
OCR3B = val; // set pwm duty
break;
#endif
#if defined(TCCR3A) && defined(COM3C1)
case TIMER3C:
// connect pwm to pin on timer 3, channel C
sbi(TCCR3A, COM3C1);
OCR3C = val; // set pwm duty
break;
#endif
#if defined(TCCR4A) && defined(COM4A1)
case TIMER4A:
// connect pwm to pin on timer 4, channel A
sbi(TCCR4A, COM4A1);
OCR4A = val; // set pwm duty
break;
#endif
#if defined(TCCR4A) && defined(COM4B1)
case TIMER4B:
// connect pwm to pin on timer 4, channel B
sbi(TCCR4A, COM4B1);
OCR4B = val; // set pwm duty
break;
#endif
#if defined(TCCR4A) && defined(COM4C1)
case TIMER4C:
// connect pwm to pin on timer 4, channel C
sbi(TCCR4A, COM4C1);
OCR4C = val; // set pwm duty
break;
#endif
#if defined(TCCR5A) && defined(COM5A1)
case TIMER5A:
// connect pwm to pin on timer 5, channel A
sbi(TCCR5A, COM5A1);
OCR5A = val; // set pwm duty
break;
#endif
#if defined(TCCR5A) && defined(COM5B1)
case TIMER5B:
// connect pwm to pin on timer 5, channel B
sbi(TCCR5A, COM5B1);
OCR5B = val; // set pwm duty
break;
#endif
#if defined(TCCR5A) && defined(COM5C1)
case TIMER5C:
// connect pwm to pin on timer 5, channel C
sbi(TCCR5A, COM5C1);
OCR5C = val; // set pwm duty
break;
#endif
case NOT_ON_TIMER:
default:
if (val < 128) {
digitalWrite(pin, LOW);
} else {
digitalWrite(pin, HIGH);
}
}
}
}
@@ -1,166 +0,0 @@
/*
wiring_digital.c - digital input and output functions
Part of Arduino - http://www.arduino.cc/
Copyright (c) 2005-2006 David A. Mellis
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General
Public License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA
Modified 28 September 2010 by Mark Sproul
$Id: wiring.c 248 2007-02-03 15:36:30Z mellis $
*/
#include "wiring_private.h"
#include "pins_arduino.h"
void pinMode(uint8_t pin, uint8_t mode)
{
uint8_t bit = digitalPinToBitMask(pin);
uint8_t port = digitalPinToPort(pin);
volatile uint8_t *reg;
if (port == NOT_A_PIN) return;
// JWS: can I let the optimizer do this?
reg = portModeRegister(port);
if (mode == INPUT) {
uint8_t oldSREG = SREG;
cli();
*reg &= ~bit;
SREG = oldSREG;
} else {
uint8_t oldSREG = SREG;
cli();
*reg |= bit;
SREG = oldSREG;
}
}
// Forcing this inline keeps the callers from having to push their own stuff
// on the stack. It is a good performance win and only takes 1 more byte per
// user than calling. (It will take more bytes on the 168.)
//
// But shouldn't this be moved into pinMode? Seems silly to check and do on
// each digitalread or write.
//
// Mark Sproul:
// - Removed inline. Save 170 bytes on atmega1280
// - changed to a switch statment; added 32 bytes but much easier to read and maintain.
// - Added more #ifdefs, now compiles for atmega645
//
//static inline void turnOffPWM(uint8_t timer) __attribute__ ((always_inline));
//static inline void turnOffPWM(uint8_t timer)
static void turnOffPWM(uint8_t timer)
{
switch (timer)
{
#if defined(TCCR1A) && defined(COM1A1)
case TIMER1A: cbi(TCCR1A, COM1A1); break;
#endif
#if defined(TCCR1A) && defined(COM1B1)
case TIMER1B: cbi(TCCR1A, COM1B1); break;
#endif
#if defined(TCCR2) && defined(COM21)
case TIMER2: cbi(TCCR2, COM21); break;
#endif
#if defined(TCCR0A) && defined(COM0A1)
case TIMER0A: cbi(TCCR0A, COM0A1); break;
#endif
#if defined(TIMER0B) && defined(COM0B1)
case TIMER0B: cbi(TCCR0A, COM0B1); break;
#endif
#if defined(TCCR2A) && defined(COM2A1)
case TIMER2A: cbi(TCCR2A, COM2A1); break;
#endif
#if defined(TCCR2A) && defined(COM2B1)
case TIMER2B: cbi(TCCR2A, COM2B1); break;
#endif
#if defined(TCCR3A) && defined(COM3A1)
case TIMER3A: cbi(TCCR3A, COM3A1); break;
#endif
#if defined(TCCR3A) && defined(COM3B1)
case TIMER3B: cbi(TCCR3A, COM3B1); break;
#endif
#if defined(TCCR3A) && defined(COM3C1)
case TIMER3C: cbi(TCCR3A, COM3C1); break;
#endif
#if defined(TCCR4A) && defined(COM4A1)
case TIMER4A: cbi(TCCR4A, COM4A1); break;
#endif
#if defined(TCCR4A) && defined(COM4B1)
case TIMER4B: cbi(TCCR4A, COM4B1); break;
#endif
#if defined(TCCR4A) && defined(COM4C1)
case TIMER4C: cbi(TCCR4A, COM4C1); break;
#endif
#if defined(TCCR5A)
case TIMER5A: cbi(TCCR5A, COM5A1); break;
case TIMER5B: cbi(TCCR5A, COM5B1); break;
case TIMER5C: cbi(TCCR5A, COM5C1); break;
#endif
}
}
void digitalWrite(uint8_t pin, uint8_t val)
{
uint8_t timer = digitalPinToTimer(pin);
uint8_t bit = digitalPinToBitMask(pin);
uint8_t port = digitalPinToPort(pin);
volatile uint8_t *out;
if (port == NOT_A_PIN) return;
// If the pin that support PWM output, we need to turn it off
// before doing a digital write.
if (timer != NOT_ON_TIMER) turnOffPWM(timer);
out = portOutputRegister(port);
if (val == LOW) {
uint8_t oldSREG = SREG;
cli();
*out &= ~bit;
SREG = oldSREG;
} else {
uint8_t oldSREG = SREG;
cli();
*out |= bit;
SREG = oldSREG;
}
}
int digitalRead(uint8_t pin)
{
uint8_t timer = digitalPinToTimer(pin);
uint8_t bit = digitalPinToBitMask(pin);
uint8_t port = digitalPinToPort(pin);
if (port == NOT_A_PIN) return LOW;
// If the pin that support PWM output, we need to turn it off
// before getting a digital reading.
if (timer != NOT_ON_TIMER) turnOffPWM(timer);
if (*portInputRegister(port) & bit) return HIGH;
return LOW;
}
@@ -1,68 +0,0 @@
/*
wiring_private.h - Internal header file.
Part of Arduino - http://www.arduino.cc/
Copyright (c) 2005-2006 David A. Mellis
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General
Public License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA
$Id: wiring.h 239 2007-01-12 17:58:39Z mellis $
*/
#ifndef WiringPrivate_h
#define WiringPrivate_h
#include <math.h>
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include <stdio.h>
#include <stdarg.h>
#include "wiring.h"
#ifdef __cplusplus
extern "C"{
#endif
#ifndef cbi
#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
#endif
#ifndef sbi
#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))
#endif
#define EXTERNAL_INT_0 0
#define EXTERNAL_INT_1 1
#define EXTERNAL_INT_2 2
#define EXTERNAL_INT_3 3
#define EXTERNAL_INT_4 4
#define EXTERNAL_INT_5 5
#define EXTERNAL_INT_6 6
#define EXTERNAL_INT_7 7
#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
#define EXTERNAL_NUM_INTERRUPTS 8
#else
#define EXTERNAL_NUM_INTERRUPTS 2
#endif
typedef void (*voidFuncPtr)(void);
#ifdef __cplusplus
} // extern "C"
#endif
#endif
@@ -1,69 +0,0 @@
/*
wiring_pulse.c - pulseIn() function
Part of Arduino - http://www.arduino.cc/
Copyright (c) 2005-2006 David A. Mellis
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General
Public License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA
$Id: wiring.c 248 2007-02-03 15:36:30Z mellis $
*/
#include "wiring_private.h"
#include "pins_arduino.h"
/* Measures the length (in microseconds) of a pulse on the pin; state is HIGH
* or LOW, the type of pulse to measure. Works on pulses from 2-3 microseconds
* to 3 minutes in length, but must be called at least a few dozen microseconds
* before the start of the pulse. */
unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout)
{
// cache the port and bit of the pin in order to speed up the
// pulse width measuring loop and achieve finer resolution. calling
// digitalRead() instead yields much coarser resolution.
uint8_t bit = digitalPinToBitMask(pin);
uint8_t port = digitalPinToPort(pin);
uint8_t stateMask = (state ? bit : 0);
unsigned long width = 0; // keep initialization out of time critical area
// convert the timeout from microseconds to a number of times through
// the initial loop; it takes 16 clock cycles per iteration.
unsigned long numloops = 0;
unsigned long maxloops = microsecondsToClockCycles(timeout) / 16;
// wait for any previous pulse to end
while ((*portInputRegister(port) & bit) == stateMask)
if (numloops++ == maxloops)
return 0;
// wait for the pulse to start
while ((*portInputRegister(port) & bit) != stateMask)
if (numloops++ == maxloops)
return 0;
// wait for the pulse to stop
while ((*portInputRegister(port) & bit) == stateMask) {
if (numloops++ == maxloops)
return 0;
width++;
}
// convert the reading to microseconds. The loop has been determined
// to be 20 clock cycles long and have about 16 clocks between the edge
// and the start of the loop. There will be some error introduced by
// the interrupt handlers.
return clockCyclesToMicroseconds(width * 21 + 16);
}
@@ -1,55 +0,0 @@
/*
wiring_shift.c - shiftOut() function
Part of Arduino - http://www.arduino.cc/
Copyright (c) 2005-2006 David A. Mellis
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General
Public License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA
$Id: wiring.c 248 2007-02-03 15:36:30Z mellis $
*/
#include "wiring_private.h"
uint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder) {
uint8_t value = 0;
uint8_t i;
for (i = 0; i < 8; ++i) {
digitalWrite(clockPin, HIGH);
if (bitOrder == LSBFIRST)
value |= digitalRead(dataPin) << i;
else
value |= digitalRead(dataPin) << (7 - i);
digitalWrite(clockPin, LOW);
}
return value;
}
void shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val)
{
uint8_t i;
for (i = 0; i < 8; i++) {
if (bitOrder == LSBFIRST)
digitalWrite(dataPin, !!(val & (1 << i)));
else
digitalWrite(dataPin, !!(val & (1 << (7 - i))));
digitalWrite(clockPin, HIGH);
digitalWrite(clockPin, LOW);
}
}
-101
View File
@@ -1,101 +0,0 @@
##############################################################
Gen7-644-16.name=Gen7 with ATmega644 and 16 MHz
Gen7-644-16.upload.protocol=stk500v2
Gen7-644-16.upload.maximum_size=63488
Gen7-644-16.upload.speed=115200
Gen7-644-16.bootloader.low_fuses=0xF7
Gen7-644-16.bootloader.high_fuses=0xD4
Gen7-644-16.bootloader.extended_fuses=0xFD
Gen7-644-16.bootloader.path=Gen7
Gen7-644-16.bootloader.file=bootloader-644-16MHz.hex
Gen7-644-16.bootloader.unlock_bits=0x3F
Gen7-644-16.bootloader.lock_bits=0x0F
Gen7-644-16.build.mcu=atmega644
Gen7-644-16.build.f_cpu=16000000L
Gen7-644-16.build.core=arduino
##############################################################
Gen7-644-20.name=Gen7 with ATmega644 and 20 MHz
Gen7-644-20.upload.protocol=stk500v2
Gen7-644-20.upload.maximum_size=63488
Gen7-644-20.upload.speed=115200
Gen7-644-20.bootloader.low_fuses=0xF7
Gen7-644-20.bootloader.high_fuses=0xD4
Gen7-644-20.bootloader.extended_fuses=0xFD
Gen7-644-20.bootloader.path=Gen7
Gen7-644-20.bootloader.file=bootloader-644-20MHz.hex
Gen7-644-20.bootloader.unlock_bits=0x3F
Gen7-644-20.bootloader.lock_bits=0x0F
Gen7-644-20.build.mcu=atmega644
Gen7-644-20.build.f_cpu=20000000L
Gen7-644-20.build.core=arduino
##############################################################
Gen7-644P-16.name=Gen7 with ATmega644P and 16 MHz
Gen7-644P-16.upload.protocol=stk500v2
Gen7-644P-16.upload.maximum_size=63488
Gen7-644P-16.upload.speed=115200
Gen7-644P-16.bootloader.low_fuses=0xF7
Gen7-644P-16.bootloader.high_fuses=0xD4
Gen7-644P-16.bootloader.extended_fuses=0xFD
Gen7-644P-16.bootloader.path=Gen7
Gen7-644P-16.bootloader.file=bootloader-644P-16MHz.hex
Gen7-644P-16.bootloader.unlock_bits=0x3F
Gen7-644P-16.bootloader.lock_bits=0x0F
Gen7-644P-16.build.mcu=atmega644p
Gen7-644P-16.build.f_cpu=16000000L
Gen7-644P-16.build.core=arduino
##############################################################
Gen7-644P-20.name=Gen7 with ATmega644P and 20 MHz
Gen7-644P-20.upload.protocol=stk500v2
Gen7-644P-20.upload.maximum_size=63488
Gen7-644P-20.upload.speed=115200
Gen7-644P-20.bootloader.low_fuses=0xF7
Gen7-644P-20.bootloader.high_fuses=0xD4
Gen7-644P-20.bootloader.extended_fuses=0xFD
Gen7-644P-20.bootloader.path=Gen7
Gen7-644P-20.bootloader.file=bootloader-644P-20MHz.hex
Gen7-644P-20.bootloader.unlock_bits=0x3F
Gen7-644P-20.bootloader.lock_bits=0x0F
Gen7-644P-20.build.mcu=atmega644p
Gen7-644P-20.build.f_cpu=20000000L
Gen7-644P-20.build.core=arduino
##############################################################
Gen7-1284p-16.name=Gen7 with ATmega1284 and 16 MHz
Gen7-1284p-16.upload.protocol=stk500v2
Gen7-1284p-16.upload.maximum_size=129024
Gen7-1284p-16.upload.speed=115200
Gen7-1284p-16.bootloader.low_fuses=0xF7
Gen7-1284p-16.bootloader.high_fuses=0xD4
Gen7-1284p-16.bootloader.extended_fuses=0xFD
Gen7-1284p-16.bootloader.path=Gen7
Gen7-1284p-16.bootloader.file=bootloader-1284P-16MHz.hex
Gen7-1284p-16.bootloader.unlock_bits=0x3F
Gen7-1284p-16.bootloader.lock_bits=0x2F
Gen7-1284p-16.build.mcu=atmega1284p
Gen7-1284p-16.build.f_cpu=16000000L
Gen7-1284p-16.build.core=arduino
##############################################################
Gen7-1284p-20.name=Gen7 with ATmega1284 and 20 MHz
Gen7-1284p-20.upload.protocol=stk500v2
Gen7-1284p-20.upload.maximum_size=129024
Gen7-1284p-20.upload.speed=115200
Gen7-1284p-20.bootloader.low_fuses=0xF7
Gen7-1284p-20.bootloader.high_fuses=0xD4
Gen7-1284p-20.bootloader.extended_fuses=0xFD
Gen7-1284p-20.bootloader.path=Gen7
Gen7-1284p-20.bootloader.file=bootloader-1284P-16MHz.hex
Gen7-1284p-20.bootloader.unlock_bits=0x3F
Gen7-1284p-20.bootloader.lock_bits=0x2F
Gen7-1284p-20.build.mcu=atmega1284p
Gen7-1284p-20.build.f_cpu=20000000L
Gen7-1284p-20.build.core=arduino
@@ -1,113 +0,0 @@
:020000021000EC
:10F8000011241FBE8FEF90E49EBF8DBF01C32F92C6
:10F810003F924F925F926F927F928F929F92AF92A0
:10F82000BF92CF92DF92EF92FF920F931F93DF93DD
:10F83000CF93CDB7DEB7C252D1400FB6F894DEBF3A
:10F840000FBECDBF44245524DD24C25EDE4F188296
:10F85000CE51D1408824992454013AC20E9428FFF5
:10F86000282F133059F1143028F4113081F0123060
:10F8700000F507C0153081F1153030F1163071F701
:10F880003DC08B3159F711E05BE1D52EE7CF8130D8
:10F8900041F0C25EDE4F3881CE51D140831709F06E
:10F8A00019C2D226C25EDE4F2883CE51D14012E06B
:10F8B000D5CFF82EEE24D82613E0D0CF90E0E82A5A
:10F8C000F92AD22614E0CACF8E3009F003C2D82616
:10F8D00015E044245524C2CFE1E0F0E0EC0FFD1F19
:10F8E000E40DF51D80830894411C511CD8264E144C
:10F8F0005F0409F0B3CF720116E0B0CF8D1509F0A7
:10F90000E9C1EAC1CC2447C08D81803311F090E079
:10F910000AC08F81882311F49EE105C0813011F067
:10F9200095E001C097E91A821B828D818C838E81BC
:10F930008D839E831F8247E0E42EF12C88C11A82BA
:10F9400068E06B8383E58C8394E59D83EBE4EE8331
:10F9500085E38F8380E3888789878FE58A8782E3C1
:10F960008B873BE0E32EF12C72C18A81813941F013
:10F97000823941F0803911F48FE005C080E003C086
:10F9800082E001C08AE01A828B8323E0E22EF12C10
:10F990005EC1CC24C3941A8292E0E92EF12C58C1A6
:10F9A0008D81882311F48EE128C0813011F085E02B
:10F9B00024C087E922C01A8229E0E1E0F0E0209328
:10F9C000570084911BC08B81803589F48C818830ED
:10F9D00039F439E0E2E0F0E03093570084910DC053
:10F9E00069E0E0E0F0E060935700849106C099E0A0
:10F9F000E3E0F0E09093570084911A828B831C829D
:10FA000084E0E82EF12C23C18A8190E0A0E0B0E0F0
:10FA1000B82EAA24992488248B8190E0A0E0B0E03D
:10FA2000DC0199278827882A992AAA2ABB2A8D814E
:10FA300090E0A0E0B0E0882A992AAA2ABB2A8C810B
:10FA400090E0A0E0B0E0BA2FA92F982F8827882A4D
:10FA5000992AAA2ABB2A88C0EA81C05EDE4FE883C1
:10FA6000C052D140C15EDE4F1882CF51D1408B8150
:10FA7000A82FB0E0C15EDE4F28813981CF51D1403F
:10FA8000A22BB32B933109F042C075016401CC0C59
:10FA9000DD1CEE1CFF1C33E0F601E0925B003093AE
:10FAA0005700E89507B600FCFDCF8E01055F1F4F9C
:10FAB000F801808161810E5F1F4FA5019401220F23
:10FAC000331F441F551F362E222490E0822993298C
:10FAD00061E00C01F90140935B0060935700E895E9
:10FAE00011240894811C911CA11CB11C129701F7D0
:10FAF00085E0F601E0925B0080935700E89507B639
:10FB000000FCFDCF81E180935700E8952DC0FE01F8
:10FB10003B9620E030E040E050E011977D0100E0AE
:10FB200010E00894E11CF11C011D111D6081F99980
:10FB3000FECF1FBAC901880D991D92BD81BD60BD60
:10FB40000FB6F894FA9AF99A0FBE2F5F3F4F4F4FB6
:10FB50005F4F2E153F054007510711F03196E6CF54
:10FB6000820E931EA41EB51E1A826EC09A81CE5DAF
:10FB7000DE4F9883C252D140CF5DDE4F1882C15212
:10FB8000D1408B81C82EDD24CF5DDE4FE881F98125
:10FB9000C152D140CE2ADF2A1A8289818431E1F410
:10FBA0009601BE016D5F7F4FD501C401880F991F7B
:10FBB000AA1FBB1FABBFFC0187919691FB018083FD
:10FBC00091836E5F7F4F0894811C911CA11CB11C16
:10FBD0002250304049F72EC0BE016D5F7F4F20E0BC
:10FBE00030E040E050E00894C108D108760100E020
:10FBF00010E00894C11CD11C0894E11CF11C011DEB
:10FC0000111DF999FECFC901880D991D92BD81BDC5
:10FC1000F89A80B5FB018193BF012F5F3F4F4F4F93
:10FC20005F4F2E153F054007510759F7820E931E6F
:10FC3000A41EB51E23E0E22EF12CEC0CFD1CFB01F2
:10FC4000108205C080EC8A8392E0E92EF12CCC244E
:10FC50008BE10E94C7FEC25EDE4F8881CE51D1404B
:10FC60000E94C7FE8F2D0E94C7FE8E2D0E94C7FEE8
:10FC70008EE00E94C7FE85E1D82EC25EDE4FF8817D
:10FC8000CE51D140DF26DE24DF243E010894611CE2
:10FC9000711C0AC0F30111913F01812F0E94C7FE20
:10FCA000D1260894E108F108E114F10499F78D2DAB
:10FCB0000E94C7FECC2009F044C0C25EDE4FF8812E
:10FCC000CE51D140FF5FC25EDE4FF883CE51D140AE
:10FCD000EE24FF2410E0C2CD9981933109F4BCCE0B
:10FCE0009431B0F4933009F440CE943038F491302C
:10FCF00009F425CE923009F0A5CF04CE903109F455
:10FD000001CE913109F445CE963009F09BCF7CCEDF
:10FD1000983109F458CE993150F4953109F49CCEBC
:10FD2000953108F423CF963109F08CCF1FCF9B314A
:10FD300009F436CE9D3109F4E7CD9A3109F082CF2E
:10FD40003ACECE5DDE4F0FB6F894DEBF0FBECDBF0C
:10FD5000CF91DF911F910F91FF90EF90DF90CF90A7
:10FD6000BF90AF909F908F907F906F905F904F90DB
:10FD70003F902F9008958091C00087FFFCCF089599
:10FD80008091C00087FFFCCF8091C6000895982F16
:10FD90008091C00085FFFCCF9093C60008959B0121
:10FDA000AC0197FF11C08091C00082608093C000B9
:10FDB00050954095309521953F4F4F4F5F4F60E0F4
:10FDC00074E284EF90E009C08091C0008D7F809341
:10FDD000C00060E072E18AE790E00E9447FF2C5F7C
:10FDE0003F4F4F4F5F4F83E0569547953795279587
:10FDF0008A95D1F7215030403093C5002093C4003C
:10FE0000089518B817B81F921F921F920895FFCF38
:10FE100084B714BE90E083709070892B39F418B8C1
:10FE200017B81F921F921F920895FFCF88E1809309
:10FE3000C10060E07EE38EEF9FEF0E94CFFE0E9444
:10FE400007FC18B817B81F921F921F920895FFCF92
:10FE500020E030E040E050E013C02F5F3F4F4F4FB5
:10FE60005F4F21308AE6380788E1480780E058076D
:10FE700039F418B817B81F921F921F920895FFCF38
:10FE80008091C00087FFE9CF0E94C0FE0895A1E2E3
:10FE90001A2EAA1BBB1BFD010DC0AA1FBB1FEE1F04
:10FEA000FF1FA217B307E407F50720F0A21BB30B4F
:10FEB000E40BF50B661F771F881F991F1A9469F7CB
:10FEC00060957095809590959B01AC01BD01CF0127
:02FED000089593
:040000031000F800F1
:00000001FF
@@ -1,75 +0,0 @@
:10F800008FEF90E19EBF8DBF11241FBE5A9A00C09A
:10F81000CDB7DEB7CD51D140DEBFCDBF1092C50010
:10F8200088E08093C40088E18093C100EE24FF2427
:10F8300020E0552400E010E039E0432E9BE0292E23
:10F84000312C2C0E3D1ECFC14150504060407040C5
:10F8500011F43FE206C08091C00087FFF5CF3091E0
:10F86000C600933021F1943028F4913099F0923011
:10F87000C8F407C0953049F1953000F19630D1F5C4
:10F8800035C03B3119F491E02BE134C03F3291F5A2
:10F890003983BBC1313011F0351559F52327532E6B
:10F8A00092E028C0B32FA0E0232793E023C0832F4A
:10F8B00090E0A82BB92B232794E01CC03E30C9F45C
:10F8C000232795E0EE24FF2415C0E1E0F0E0EC0FE3
:10F8D000FD1FEE0DFF1D30830894E11CF11C232752
:10F8E000EA16FB0639F4D70196E004C0321709F492
:10F8F0008CC190E044E755E962E470E0ACCF90E061
:10F9000044C08D81803311F090E00AC08F8188233C
:10F9100011F49EE105C0813011F099E001C096E933
:10F920001A821B828D818C838E818D839E831F82A0
:10F9300047E050E0F4C01A8288E08B8381E48C8336
:10F9400086E58D8382E58E8389E48F8383E58887CE
:10F9500080E589878FE58A8782E38B874BE050E0DB
:10F96000DEC08A81813941F0823941F0803911F459
:10F970008FE005C080E003C082E001C08AE01A8207
:10F980008B8343E050E0CBC091E01A8242E050E02C
:10F99000C7C08D81882311F48EE124C0813011F01D
:10F9A00089E020C086E91EC01A82E1E0F0E04092C2
:10F9B0005700849118C08B81803579F48C81883010
:10F9C00031F4E2E0F0E04092570084910BC0E0E0B7
:10F9D000F0E040925700849105C0E3E0F0E04092EF
:10F9E000570084911A828B831C8244E050E097C0B8
:10F9F000BC80AA248D81082F10E00A291B29000F42
:10FA0000111F1A828AC09A8088248B81682F70E027
:10FA100068297929933109F033C0F7EF0F3F1F07A9
:10FA200010F0A8013FC023E0F80120935700E895AB
:10FA300007B600FCFDCFA801D1018C9111962C9145
:10FA400011971296D22ECC2490E08C299D2921E08A
:10FA5000FA010C0120935700E89511244E5F5F4F87
:10FA60006250704051F725E0F80120935700E89567
:10FA700007B600FCFDCF81E180935700E89512C0E6
:10FA8000A801FB01D10141BD52BD4F5F5F4F8D9178
:10FA900080BDFA9AF99AF999FECF3197A1F7A8019A
:10FAA000460F571F1A828A0138C07A8066248B81DC
:10FAB000A82FB0E0A629B7291A828981843191F450
:10FAC000BD019E012D5F3F4FF80185919491F90191
:10FAD000808391832E5F3F4F0E5F1F4F62507040B7
:10FAE00099F713C0A801BD019E012D5F3F4F41BD95
:10FAF00052BD4F5F5F4FF89A80B5F90181939F0126
:10FB000061507040A1F70A0F1B1FAD014D5F5F4FA1
:10FB1000F901108204C080EC8A8342E050E090E05A
:10FB2000FBE1F093C6008091C00086FFFCCF80917E
:10FB3000C00080648093C0005092C6008091C000D5
:10FB400086FFFCCF8091C00080648093C000652F49
:10FB50005093C6008091C00086FFFCCF8091C0000A
:10FB600080648093C000342F4093C6008091C00011
:10FB700086FFFCCF8091C00080648093C0008EE03F
:10FB80008093C6008091C00086FFFCCF8091C000AA
:10FB900080648093C00025E1252523272627FE01C8
:10FBA000319610C030813093C6008091C00086FF2E
:10FBB000FCCF31968091C00080648093C0002327E1
:10FBC000415050404115510569F72093C60080917E
:10FBD000C00086FFFCCF8091C00080648093C0008D
:10FBE000992349F4539444E755E962E470E090E0C6
:10FBF000A0E0B0E030CE5A9881E180935700E895BC
:10FC000011241F921F920895FFCF9981933109F417
:10FC1000FACE9431C8F4963009F4EACE973050F415
:10FC2000923009F46CCE933009F49BCE913009F0F8
:10FC300072CF81CE913109F4A7CE923108F0E1CE96
:10FC4000903109F068CF5BCE983109F4B4CE993188
:10FC500050F4953109F4D7CE953108F426CF96317A
:10FC600009F059CF22CF9B3109F493CE9C3120F477
:10FC70009A3109F050CF98CE9D3109F442CE9F328F
:06FC800009F049CFB8CFE6
:040000030000F80001
:00000001FF
@@ -1,75 +0,0 @@
:10F800008FEF90E19EBF8DBF11241FBE5A9A00C09A
:10F81000CDB7DEB7CD51D140DEBFCDBF1092C50010
:10F820008AE08093C40088E18093C100EE24FF2425
:10F8300020E0552400E010E039E0432E9BE0292E23
:10F84000312C2C0E3D1ECFC14150504060407040C5
:10F8500011F43FE206C08091C00087FFF5CF3091E0
:10F86000C600933021F1943028F4913099F0923011
:10F87000C8F407C0953049F1953000F19630D1F5C4
:10F8800035C03B3119F491E02BE134C03F3291F5A2
:10F890003983BBC1313011F0351559F52327532E6B
:10F8A00092E028C0B32FA0E0232793E023C0832F4A
:10F8B00090E0A82BB92B232794E01CC03E30C9F45C
:10F8C000232795E0EE24FF2415C0E1E0F0E0EC0FE3
:10F8D000FD1FEE0DFF1D30830894E11CF11C232752
:10F8E000EA16FB0639F4D70196E004C0321709F492
:10F8F0008CC190E041ED5AE363E570E0ACCF90E05D
:10F9000044C08D81803311F090E00AC08F8188233C
:10F9100011F49EE105C0813011F099E001C096E933
:10F920001A821B828D818C838E818D839E831F82A0
:10F9300047E050E0F4C01A8288E08B8381E48C8336
:10F9400086E58D8382E58E8389E48F8383E58887CE
:10F9500080E589878FE58A8782E38B874BE050E0DB
:10F96000DEC08A81813941F0823941F0803911F459
:10F970008FE005C080E003C082E001C08AE01A8207
:10F980008B8343E050E0CBC091E01A8242E050E02C
:10F99000C7C08D81882311F48EE124C0813011F01D
:10F9A00089E020C086E91EC01A82E1E0F0E04092C2
:10F9B0005700849118C08B81803579F48C81883010
:10F9C00031F4E2E0F0E04092570084910BC0E0E0B7
:10F9D000F0E040925700849105C0E3E0F0E04092EF
:10F9E000570084911A828B831C8244E050E097C0B8
:10F9F000BC80AA248D81082F10E00A291B29000F42
:10FA0000111F1A828AC09A8088248B81682F70E027
:10FA100068297929933109F033C0F7EF0F3F1F07A9
:10FA200010F0A8013FC023E0F80120935700E895AB
:10FA300007B600FCFDCFA801D1018C9111962C9145
:10FA400011971296D22ECC2490E08C299D2921E08A
:10FA5000FA010C0120935700E89511244E5F5F4F87
:10FA60006250704051F725E0F80120935700E89567
:10FA700007B600FCFDCF81E180935700E89512C0E6
:10FA8000A801FB01D10141BD52BD4F5F5F4F8D9178
:10FA900080BDFA9AF99AF999FECF3197A1F7A8019A
:10FAA000460F571F1A828A0138C07A8066248B81DC
:10FAB000A82FB0E0A629B7291A828981843191F450
:10FAC000BD019E012D5F3F4FF80185919491F90191
:10FAD000808391832E5F3F4F0E5F1F4F62507040B7
:10FAE00099F713C0A801BD019E012D5F3F4F41BD95
:10FAF00052BD4F5F5F4FF89A80B5F90181939F0126
:10FB000061507040A1F70A0F1B1FAD014D5F5F4FA1
:10FB1000F901108204C080EC8A8342E050E090E05A
:10FB2000FBE1F093C6008091C00086FFFCCF80917E
:10FB3000C00080648093C0005092C6008091C000D5
:10FB400086FFFCCF8091C00080648093C000652F49
:10FB50005093C6008091C00086FFFCCF8091C0000A
:10FB600080648093C000342F4093C6008091C00011
:10FB700086FFFCCF8091C00080648093C0008EE03F
:10FB80008093C6008091C00086FFFCCF8091C000AA
:10FB900080648093C00025E1252523272627FE01C8
:10FBA000319610C030813093C6008091C00086FF2E
:10FBB000FCCF31968091C00080648093C0002327E1
:10FBC000415050404115510569F72093C60080917E
:10FBD000C00086FFFCCF8091C00080648093C0008D
:10FBE000992349F4539441ED5AE363E570E090E0C2
:10FBF000A0E0B0E030CE5A9881E180935700E895BC
:10FC000011241F921F920895FFCF9981933109F417
:10FC1000FACE9431C8F4963009F4EACE973050F415
:10FC2000923009F46CCE933009F49BCE913009F0F8
:10FC300072CF81CE913109F4A7CE923108F0E1CE96
:10FC4000903109F068CF5BCE983109F4B4CE993188
:10FC500050F4953109F4D7CE953108F426CF96317A
:10FC600009F059CF22CF9B3109F493CE9C3120F477
:10FC70009A3109F050CF98CE9D3109F442CE9F328F
:06FC800009F049CFB8CFE6
:040000030000F80001
:00000001FF
@@ -1,75 +0,0 @@
:10F800008FEF90E19EBF8DBF11241FBE5A9A00C09A
:10F81000CDB7DEB7CD51D140DEBFCDBF1092C50010
:10F8200088E08093C40088E18093C100EE24FF2427
:10F8300020E0552400E010E039E0432E93E0292E2B
:10F84000312C2C0E3D1ECDC14150504060407040C7
:10F8500011F43FE206C08091C00087FFF5CF3091E0
:10F86000C600933021F1943028F4913099F0923011
:10F87000C8F407C0953049F1953000F19630D1F5C4
:10F8800035C03B3119F491E02BE134C03F3291F5A2
:10F890003983B9C1313011F0351559F52327532E6D
:10F8A00092E028C0B32FA0E0232793E023C0832F4A
:10F8B00090E0A82BB92B232794E01CC03E30C9F45C
:10F8C000232795E0EE24FF2415C0E1E0F0E0EC0FE3
:10F8D000FD1FEE0DFF1D30830894E11CF11C232752
:10F8E000EA16FB0639F4D70196E004C0321709F492
:10F8F0008AC190E044E755E962E470E0ACCF90E063
:10F9000044C08D81803311F090E00AC08F8188233C
:10F9100011F49EE105C0813011F09AE001C096E932
:10F920001A821B828D818C838E818D839E831F82A0
:10F9300047E050E0F2C01A8288E08B8381E48C8338
:10F9400086E58D8382E58E8389E48F8383E58887CE
:10F9500080E589878FE58A8782E38B874BE050E0DB
:10F96000DCC08A81813941F0823941F0803911F45B
:10F970008FE005C080E003C082E001C08AE01A8207
:10F980008B8343E050E0C9C091E01A8242E050E02E
:10F99000C5C08D81882311F48EE124C0813011F01F
:10F9A0008AE020C086E91EC01A82E1E0F0E04092C1
:10F9B0005700849118C08B81803579F48C81883010
:10F9C00031F4E2E0F0E04092570084910BC0E0E0B7
:10F9D000F0E040925700849105C0E3E0F0E04092EF
:10F9E000570084911A828B831C8244E050E095C0BA
:10F9F000BC80AA248D81082F10E00A291B29000F42
:10FA0000111F1A8288C09A8088248B81682F70E029
:10FA100068297929933109F034C0F7EF0F3F1F07A8
:10FA200010F0A80141C023E0F80120935700E895A9
:10FA300007B600FCFDCFA801DE011B968C91119644
:10FA40002C9111971296D22ECC2490E08C299D29CE
:10FA500021E0FA010C0120935700E89511244E5F34
:10FA60005F4F6250704051F725E0F8012093570036
:10FA7000E89507B600FCFDCF81E180935700E8953B
:10FA800013C0A801FB01DE011B9641BD52BD4F5FB3
:10FA90005F4F8D9180BDFA9AF99AF999FECF31970F
:10FAA000A1F7A801460F571F1A828A0134C07A8035
:10FAB00066248B81A82FB0E0A629B7291A828981F4
:10FAC000843181F4BD019101F80185919491F9018E
:10FAD000808391832E5F3F4F0E5F1F4F62507040B7
:10FAE00099F711C0A801BD01910141BD52BD4F5F01
:10FAF0005F4FF89A80B5F90181939F016150704082
:10FB0000A1F70A0F1B1FAD014D5F5F4FF901108276
:10FB100004C080EC8A8342E050E090E0FBE1F09387
:10FB2000C6008091C00086FFFCCF8091C000806439
:10FB30008093C0005092C6008091C00086FFFCCF29
:10FB40008091C00080648093C000652F5093C600F0
:10FB50008091C00086FFFCCF8091C00080648093BC
:10FB6000C000342F4093C6008091C00086FFFCCFB8
:10FB70008091C00080648093C0008EE08093C600B6
:10FB80008091C00086FFFCCF8091C000806480938C
:10FB9000C00025E1252523272627FE01319610C028
:10FBA00030813093C6008091C00086FFFCCF319633
:10FBB0008091C00080648093C00023274150504052
:10FBC0004115510569F72093C6008091C00086FF5A
:10FBD000FCCF8091C00080648093C000992349F4D9
:10FBE000539444E755E962E470E090E0A0E0B0E0AF
:10FBF00032CE5A9881E180935700E89511241F92E4
:10FC00001F920895FFCF9981933109F4FCCE94316E
:10FC1000C8F4963009F4ECCE973050F4923009F4E1
:10FC20006ECE933009F49DCE913009F072CF83CE21
:10FC3000913109F4A9CE923108F0E3CE903109F068
:10FC400068CF5DCE983109F4B6CE993150F4953134
:10FC500009F4D9CE953108F42ACF963109F059CF5D
:10FC600026CF9B3109F495CE9C3120F49A3109F0CE
:10FC700050CF9ACE9D3109F444CE9F3209F049CF3E
:02FC8000B8CFFB
:040000030000F80001
:00000001FF
@@ -1,75 +0,0 @@
:10F800008FEF90E19EBF8DBF11241FBE5A9A00C09A
:10F81000CDB7DEB7CD51D140DEBFCDBF1092C50010
:10F820008AE08093C40088E18093C100EE24FF2425
:10F8300020E0552400E010E039E0432E93E0292E2B
:10F84000312C2C0E3D1ECDC14150504060407040C7
:10F8500011F43FE206C08091C00087FFF5CF3091E0
:10F86000C600933021F1943028F4913099F0923011
:10F87000C8F407C0953049F1953000F19630D1F5C4
:10F8800035C03B3119F491E02BE134C03F3291F5A2
:10F890003983B9C1313011F0351559F52327532E6D
:10F8A00092E028C0B32FA0E0232793E023C0832F4A
:10F8B00090E0A82BB92B232794E01CC03E30C9F45C
:10F8C000232795E0EE24FF2415C0E1E0F0E0EC0FE3
:10F8D000FD1FEE0DFF1D30830894E11CF11C232752
:10F8E000EA16FB0639F4D70196E004C0321709F492
:10F8F0008AC190E041ED5AE363E570E0ACCF90E05F
:10F9000044C08D81803311F090E00AC08F8188233C
:10F9100011F49EE105C0813011F09AE001C096E932
:10F920001A821B828D818C838E818D839E831F82A0
:10F9300047E050E0F2C01A8288E08B8381E48C8338
:10F9400086E58D8382E58E8389E48F8383E58887CE
:10F9500080E589878FE58A8782E38B874BE050E0DB
:10F96000DCC08A81813941F0823941F0803911F45B
:10F970008FE005C080E003C082E001C08AE01A8207
:10F980008B8343E050E0C9C091E01A8242E050E02E
:10F99000C5C08D81882311F48EE124C0813011F01F
:10F9A0008AE020C086E91EC01A82E1E0F0E04092C1
:10F9B0005700849118C08B81803579F48C81883010
:10F9C00031F4E2E0F0E04092570084910BC0E0E0B7
:10F9D000F0E040925700849105C0E3E0F0E04092EF
:10F9E000570084911A828B831C8244E050E095C0BA
:10F9F000BC80AA248D81082F10E00A291B29000F42
:10FA0000111F1A8288C09A8088248B81682F70E029
:10FA100068297929933109F034C0F7EF0F3F1F07A8
:10FA200010F0A80141C023E0F80120935700E895A9
:10FA300007B600FCFDCFA801DE011B968C91119644
:10FA40002C9111971296D22ECC2490E08C299D29CE
:10FA500021E0FA010C0120935700E89511244E5F34
:10FA60005F4F6250704051F725E0F8012093570036
:10FA7000E89507B600FCFDCF81E180935700E8953B
:10FA800013C0A801FB01DE011B9641BD52BD4F5FB3
:10FA90005F4F8D9180BDFA9AF99AF999FECF31970F
:10FAA000A1F7A801460F571F1A828A0134C07A8035
:10FAB00066248B81A82FB0E0A629B7291A828981F4
:10FAC000843181F4BD019101F80185919491F9018E
:10FAD000808391832E5F3F4F0E5F1F4F62507040B7
:10FAE00099F711C0A801BD01910141BD52BD4F5F01
:10FAF0005F4FF89A80B5F90181939F016150704082
:10FB0000A1F70A0F1B1FAD014D5F5F4FF901108276
:10FB100004C080EC8A8342E050E090E0FBE1F09387
:10FB2000C6008091C00086FFFCCF8091C000806439
:10FB30008093C0005092C6008091C00086FFFCCF29
:10FB40008091C00080648093C000652F5093C600F0
:10FB50008091C00086FFFCCF8091C00080648093BC
:10FB6000C000342F4093C6008091C00086FFFCCFB8
:10FB70008091C00080648093C0008EE08093C600B6
:10FB80008091C00086FFFCCF8091C000806480938C
:10FB9000C00025E1252523272627FE01319610C028
:10FBA00030813093C6008091C00086FFFCCF319633
:10FBB0008091C00080648093C00023274150504052
:10FBC0004115510569F72093C6008091C00086FF5A
:10FBD000FCCF8091C00080648093C000992349F4D9
:10FBE000539441ED5AE363E570E090E0A0E0B0E0AB
:10FBF00032CE5A9881E180935700E89511241F92E4
:10FC00001F920895FFCF9981933109F4FCCE94316E
:10FC1000C8F4963009F4ECCE973050F4923009F4E1
:10FC20006ECE933009F49DCE913009F072CF83CE21
:10FC3000913109F4A9CE923108F0E3CE903109F068
:10FC400068CF5DCE983109F4B6CE993150F4953134
:10FC500009F4D9CE953108F42ACF963109F059CF5D
:10FC600026CF9B3109F495CE9C3120F49A3109F0CE
:10FC700050CF9ACE9D3109F444CE9F3209F049CF3E
:02FC8000B8CFFB
:040000030000F80001
:00000001FF
@@ -1,239 +0,0 @@
/*
HardwareSerial.cpp - Hardware serial library for Wiring
Copyright (c) 2006 Nicholas Zambetti. All right reserved.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Modified 23 November 2006 by David A. Mellis
*/
#include <stdio.h>
#include <string.h>
#include <inttypes.h>
#include "wiring.h"
#include "wiring_private.h"
#include "HardwareSerial.h"
// Define constants and variables for buffering incoming serial data. We're
// using a ring buffer (I think), in which rx_buffer_head is the index of the
// location to which to write the next incoming character and rx_buffer_tail
// is the index of the location from which to read.
#define RX_BUFFER_SIZE 128
struct ring_buffer {
unsigned char buffer[RX_BUFFER_SIZE];
int head;
int tail;
};
ring_buffer rx_buffer = { { 0 }, 0, 0 };
#ifdef UDR1
ring_buffer rx_buffer1 = { { 0 }, 0, 0 };
#endif
#ifdef UDR2
ring_buffer rx_buffer2 = { { 0 }, 0, 0 };
#endif
#ifdef UDR3
ring_buffer rx_buffer3 = { { 0 }, 0, 0 };
#endif
inline void store_char(unsigned char c, ring_buffer *rx_buffer)
{
int i = (rx_buffer->head + 1) % RX_BUFFER_SIZE;
// if we should be storing the received character into the location
// just before the tail (meaning that the head would advance to the
// current location of the tail), we're about to overflow the buffer
// and so we don't write the character or advance the head.
if (i != rx_buffer->tail) {
rx_buffer->buffer[rx_buffer->head] = c;
rx_buffer->head = i;
}
}
ISR(USART0_RX_vect)
{
unsigned char c = UDR0;
store_char(c, &rx_buffer);
}
#ifdef UDR1
ISR(USART1_RX_vect)
{
unsigned char c = UDR1;
store_char(c, &rx_buffer1);
}
#ifdef UDR2
ISR(USART2_RX_vect)
{
unsigned char c = UDR2;
store_char(c, &rx_buffer2);
}
#ifdef UDR2
ISR(USART3_RX_vect)
{
unsigned char c = UDR3;
store_char(c, &rx_buffer3);
}
#endif
#endif
#else
#if defined(__AVR_ATmega8__)
SIGNAL(SIG_UART_RECV)
#else
SIGNAL(USART_RX_vect)
#endif
{
#if defined(__AVR_ATmega8__)
unsigned char c = UDR;
#else
unsigned char c = UDR0;
#endif
store_char(c, &rx_buffer);
}
#endif
// Constructors ////////////////////////////////////////////////////////////////
HardwareSerial::HardwareSerial(ring_buffer *rx_buffer,
volatile uint8_t *ubrrh, volatile uint8_t *ubrrl,
volatile uint8_t *ucsra, volatile uint8_t *ucsrb,
volatile uint8_t *udr,
uint8_t rxen, uint8_t txen, uint8_t rxcie, uint8_t udre, uint8_t u2x)
{
_rx_buffer = rx_buffer;
_ubrrh = ubrrh;
_ubrrl = ubrrl;
_ucsra = ucsra;
_ucsrb = ucsrb;
_udr = udr;
_rxen = rxen;
_txen = txen;
_rxcie = rxcie;
_udre = udre;
_u2x = u2x;
}
// Public Methods //////////////////////////////////////////////////////////////
void HardwareSerial::begin(long baud)
{
uint16_t baud_setting;
bool use_u2x;
// U2X mode is needed for baud rates higher than (CPU Hz / 16)
if (baud > F_CPU / 16) {
use_u2x = true;
} else {
// figure out if U2X mode would allow for a better connection
// calculate the percent difference between the baud-rate specified and
// the real baud rate for both U2X and non-U2X mode (0-255 error percent)
uint8_t nonu2x_baud_error = abs((int)(255-((F_CPU/(16*(((F_CPU/8/baud-1)/2)+1))*255)/baud)));
uint8_t u2x_baud_error = abs((int)(255-((F_CPU/(8*(((F_CPU/4/baud-1)/2)+1))*255)/baud)));
// prefer non-U2X mode because it handles clock skew better
use_u2x = (nonu2x_baud_error > u2x_baud_error);
}
if (use_u2x) {
*_ucsra = 1 << _u2x;
baud_setting = (F_CPU / 4 / baud - 1) / 2;
} else {
*_ucsra = 0;
baud_setting = (F_CPU / 8 / baud - 1) / 2;
}
// assign the baud_setting, a.k.a. ubbr (USART Baud Rate Register)
*_ubrrh = baud_setting >> 8;
*_ubrrl = baud_setting;
sbi(*_ucsrb, _rxen);
sbi(*_ucsrb, _txen);
sbi(*_ucsrb, _rxcie);
}
void HardwareSerial::end()
{
cbi(*_ucsrb, _rxen);
cbi(*_ucsrb, _txen);
cbi(*_ucsrb, _rxcie);
}
uint8_t HardwareSerial::available(void)
{
return (RX_BUFFER_SIZE + _rx_buffer->head - _rx_buffer->tail) % RX_BUFFER_SIZE;
}
int HardwareSerial::read(void)
{
// if the head isn't ahead of the tail, we don't have any characters
if (_rx_buffer->head == _rx_buffer->tail) {
return -1;
} else {
unsigned char c = _rx_buffer->buffer[_rx_buffer->tail];
_rx_buffer->tail = (_rx_buffer->tail + 1) % RX_BUFFER_SIZE;
return c;
}
}
void HardwareSerial::flush()
{
// don't reverse this or there may be problems if the RX interrupt
// occurs after reading the value of rx_buffer_head but before writing
// the value to rx_buffer_tail; the previous value of rx_buffer_head
// may be written to rx_buffer_tail, making it appear as if the buffer
// don't reverse this or there may be problems if the RX interrupt
// occurs after reading the value of rx_buffer_head but before writing
// the value to rx_buffer_tail; the previous value of rx_buffer_head
// may be written to rx_buffer_tail, making it appear as if the buffer
// were full, not empty.
_rx_buffer->head = _rx_buffer->tail;
}
void HardwareSerial::write(uint8_t c)
{
while (!((*_ucsra) & (1 << _udre)))
;
*_udr = c;
}
// Preinstantiate Objects //////////////////////////////////////////////////////
#if defined(__AVR_ATmega8__)
HardwareSerial Serial(&rx_buffer, &UBRRH, &UBRRL, &UCSRA, &UCSRB, &UDR, RXEN, TXEN, RXCIE, UDRE, U2X);
#else
HardwareSerial Serial(&rx_buffer, &UBRR0H, &UBRR0L, &UCSR0A, &UCSR0B, &UDR0, RXEN0, TXEN0, RXCIE0, UDRE0, U2X0);
#endif
#ifdef UDR1
HardwareSerial Serial1(&rx_buffer1, &UBRR1H, &UBRR1L, &UCSR1A, &UCSR1B, &UDR1, RXEN1, TXEN1, RXCIE1, UDRE1, U2X1);
#endif
#ifdef UDR2
HardwareSerial Serial2(&rx_buffer2, &UBRR2H, &UBRR2L, &UCSR2A, &UCSR2B, &UDR2, RXEN2, TXEN2, RXCIE2, UDRE2, U2X2);
#endif
#ifdef UDR3
HardwareSerial Serial3(&rx_buffer3, &UBRR3H, &UBRR3L, &UCSR3A, &UCSR3B, &UDR3, RXEN3, TXEN3, RXCIE3, UDRE3, U2X3);
#endif
@@ -1,69 +0,0 @@
/*
HardwareSerial.h - Hardware serial library for Wiring
Copyright (c) 2006 Nicholas Zambetti. All right reserved.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef HardwareSerial_h
#define HardwareSerial_h
#include <inttypes.h>
#include "Print.h"
struct ring_buffer;
class HardwareSerial : public Print
{
private:
ring_buffer *_rx_buffer;
volatile uint8_t *_ubrrh;
volatile uint8_t *_ubrrl;
volatile uint8_t *_ucsra;
volatile uint8_t *_ucsrb;
volatile uint8_t *_udr;
uint8_t _rxen;
uint8_t _txen;
uint8_t _rxcie;
uint8_t _udre;
uint8_t _u2x;
public:
HardwareSerial(ring_buffer *rx_buffer,
volatile uint8_t *ubrrh, volatile uint8_t *ubrrl,
volatile uint8_t *ucsra, volatile uint8_t *ucsrb,
volatile uint8_t *udr,
uint8_t rxen, uint8_t txen, uint8_t rxcie, uint8_t udre, uint8_t u2x);
void begin(long);
void end();
uint8_t available(void);
int read(void);
void flush(void);
virtual void write(uint8_t);
using Print::write; // pull in write(str) and write(buf, size) from Print
};
extern HardwareSerial Serial;
#if defined(__AVR_ATmega644P__) || defined(__AVR_ATmega1280__)
extern HardwareSerial Serial1;
#endif
#if defined(__AVR_ATmega1280__)
extern HardwareSerial Serial2;
extern HardwareSerial Serial3;
#endif
#endif
@@ -1,243 +0,0 @@
# Arduino 0011 Makefile
# Arduino adaptation by mellis, eighthave, oli.keller
#
# This makefile allows you to build sketches from the command line
# without the Arduino environment (or Java).
#
# Detailed instructions for using the makefile:
#
# 1. Copy this file into the folder with your sketch. There should be a
# file with the same name as the folder and with the extension .pde
# (e.g. foo.pde in the foo/ folder).
#
# 2. Modify the line containg "INSTALL_DIR" to point to the directory that
# contains the Arduino installation (for example, under Mac OS X, this
# might be /Applications/arduino-0012).
#
# 3. Modify the line containing "PORT" to refer to the filename
# representing the USB or serial connection to your Arduino board
# (e.g. PORT = /dev/tty.USB0). If the exact name of this file
# changes, you can use * as a wildcard (e.g. PORT = /dev/tty.usb*).
#
# 4. Set the line containing "MCU" to match your board's processor.
# Older one's are atmega8 based, newer ones like Arduino Mini, Bluetooth
# or Diecimila have the atmega168. If you're using a LilyPad Arduino,
# change F_CPU to 8000000.
#
# 5. At the command line, change to the directory containing your
# program's file and the makefile.
#
# 6. Type "make" and press enter to compile/verify your program.
#
# 7. Type "make upload", reset your Arduino board, and press enter to
# upload your program to the Arduino board.
#
# $Id$
TARGET = $(notdir $(CURDIR))
INSTALL_DIR = /Users/dmellis/Source/arduino/trunk/build/macosx/build/work
PORT = /dev/tty.usb*
UPLOAD_RATE = 19200
AVRDUDE_PROGRAMMER = stk500v1
MCU = atmega168
F_CPU = 16000000
############################################################################
# Below here nothing should be changed...
ARDUINO = $(INSTALL_DIR)/hardware/cores/arduino
AVR_TOOLS_PATH = $(INSTALL_DIR)/hardware/tools/avr/bin
SRC = $(ARDUINO)/pins_arduino.c $(ARDUINO)/wiring.c \
$(ARDUINO)/wiring_analog.c $(ARDUINO)/wiring_digital.c \
$(ARDUINO)/wiring_pulse.c $(ARDUINO)/wiring_serial.c \
$(ARDUINO)/wiring_shift.c $(ARDUINO)/WInterrupts.c
CXXSRC = $(ARDUINO)/HardwareSerial.cpp $(ARDUINO)/WMath.cpp
FORMAT = ihex
# Name of this Makefile (used for "make depend").
MAKEFILE = Makefile
# Debugging format.
# Native formats for AVR-GCC's -g are stabs [default], or dwarf-2.
# AVR (extended) COFF requires stabs, plus an avr-objcopy run.
DEBUG = stabs
OPT = s
# Place -D or -U options here
CDEFS = -DF_CPU=$(F_CPU)
CXXDEFS = -DF_CPU=$(F_CPU)
# Place -I options here
CINCS = -I$(ARDUINO)
CXXINCS = -I$(ARDUINO)
# Compiler flag to set the C Standard level.
# c89 - "ANSI" C
# gnu89 - c89 plus GCC extensions
# c99 - ISO C99 standard (not yet fully implemented)
# gnu99 - c99 plus GCC extensions
CSTANDARD = -std=gnu99
CDEBUG = -g$(DEBUG)
CWARN = -Wall -Wstrict-prototypes
CTUNING = -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums
#CEXTRA = -Wa,-adhlns=$(<:.c=.lst)
CFLAGS = $(CDEBUG) $(CDEFS) $(CINCS) -O$(OPT) $(CWARN) $(CSTANDARD) $(CEXTRA)
CXXFLAGS = $(CDEFS) $(CINCS) -O$(OPT)
#ASFLAGS = -Wa,-adhlns=$(<:.S=.lst),-gstabs
LDFLAGS = -lm
# Programming support using avrdude. Settings and variables.
AVRDUDE_PORT = $(PORT)
AVRDUDE_WRITE_FLASH = -U flash:w:applet/$(TARGET).hex
AVRDUDE_FLAGS = -V -F -C $(INSTALL_DIR)/hardware/tools/avr/etc/avrdude.conf \
-p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER) \
-b $(UPLOAD_RATE)
# Program settings
CC = $(AVR_TOOLS_PATH)/avr-gcc
CXX = $(AVR_TOOLS_PATH)/avr-g++
OBJCOPY = $(AVR_TOOLS_PATH)/avr-objcopy
OBJDUMP = $(AVR_TOOLS_PATH)/avr-objdump
AR = $(AVR_TOOLS_PATH)/avr-ar
SIZE = $(AVR_TOOLS_PATH)/avr-size
NM = $(AVR_TOOLS_PATH)/avr-nm
AVRDUDE = $(AVR_TOOLS_PATH)/avrdude
REMOVE = rm -f
MV = mv -f
# Define all object files.
OBJ = $(SRC:.c=.o) $(CXXSRC:.cpp=.o) $(ASRC:.S=.o)
# Define all listing files.
LST = $(ASRC:.S=.lst) $(CXXSRC:.cpp=.lst) $(SRC:.c=.lst)
# Combine all necessary flags and optional flags.
# Add target processor to flags.
ALL_CFLAGS = -mmcu=$(MCU) -I. $(CFLAGS)
ALL_CXXFLAGS = -mmcu=$(MCU) -I. $(CXXFLAGS)
ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target.
all: applet_files build sizeafter
build: elf hex
applet_files: $(TARGET).pde
# Here is the "preprocessing".
# It creates a .cpp file based with the same name as the .pde file.
# On top of the new .cpp file comes the WProgram.h header.
# At the end there is a generic main() function attached.
# Then the .cpp file will be compiled. Errors during compile will
# refer to this new, automatically generated, file.
# Not the original .pde file you actually edit...
test -d applet || mkdir applet
echo '#include "WProgram.h"' > applet/$(TARGET).cpp
cat $(TARGET).pde >> applet/$(TARGET).cpp
cat $(ARDUINO)/main.cxx >> applet/$(TARGET).cpp
elf: applet/$(TARGET).elf
hex: applet/$(TARGET).hex
eep: applet/$(TARGET).eep
lss: applet/$(TARGET).lss
sym: applet/$(TARGET).sym
# Program the device.
upload: applet/$(TARGET).hex
$(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH)
# Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) applet/$(TARGET).hex
ELFSIZE = $(SIZE) applet/$(TARGET).elf
sizebefore:
@if [ -f applet/$(TARGET).elf ]; then echo; echo $(MSG_SIZE_BEFORE); $(HEXSIZE); echo; fi
sizeafter:
@if [ -f applet/$(TARGET).elf ]; then echo; echo $(MSG_SIZE_AFTER); $(HEXSIZE); echo; fi
# Convert ELF to COFF for use in debugging / simulating in AVR Studio or VMLAB.
COFFCONVERT=$(OBJCOPY) --debugging \
--change-section-address .data-0x800000 \
--change-section-address .bss-0x800000 \
--change-section-address .noinit-0x800000 \
--change-section-address .eeprom-0x810000
coff: applet/$(TARGET).elf
$(COFFCONVERT) -O coff-avr applet/$(TARGET).elf $(TARGET).cof
extcoff: $(TARGET).elf
$(COFFCONVERT) -O coff-ext-avr applet/$(TARGET).elf $(TARGET).cof
.SUFFIXES: .elf .hex .eep .lss .sym
.elf.hex:
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@
.elf.eep:
-$(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" \
--change-section-lma .eeprom=0 -O $(FORMAT) $< $@
# Create extended listing file from ELF output file.
.elf.lss:
$(OBJDUMP) -h -S $< > $@
# Create a symbol table from ELF output file.
.elf.sym:
$(NM) -n $< > $@
# Link: create ELF output file from library.
applet/$(TARGET).elf: $(TARGET).pde applet/core.a
$(CC) $(ALL_CFLAGS) -o $@ applet/$(TARGET).cpp -L. applet/core.a $(LDFLAGS)
applet/core.a: $(OBJ)
@for i in $(OBJ); do echo $(AR) rcs applet/core.a $$i; $(AR) rcs applet/core.a $$i; done
# Compile: create object files from C++ source files.
.cpp.o:
$(CXX) -c $(ALL_CXXFLAGS) $< -o $@
# Compile: create object files from C source files.
.c.o:
$(CC) -c $(ALL_CFLAGS) $< -o $@
# Compile: create assembler files from C source files.
.c.s:
$(CC) -S $(ALL_CFLAGS) $< -o $@
# Assemble: create object files from assembler source files.
.S.o:
$(CC) -c $(ALL_ASFLAGS) $< -o $@
# Target: clean project.
clean:
$(REMOVE) applet/$(TARGET).hex applet/$(TARGET).eep applet/$(TARGET).cof applet/$(TARGET).elf \
applet/$(TARGET).map applet/$(TARGET).sym applet/$(TARGET).lss applet/core.a \
$(OBJ) $(LST) $(SRC:.c=.s) $(SRC:.c=.d) $(CXXSRC:.cpp=.s) $(CXXSRC:.cpp=.d)
depend:
if grep '^# DO NOT DELETE' $(MAKEFILE) >/dev/null; \
then \
sed -e '/^# DO NOT DELETE/,$$d' $(MAKEFILE) > \
$(MAKEFILE).$$$$ && \
$(MV) $(MAKEFILE).$$$$ $(MAKEFILE); \
fi
echo '# DO NOT DELETE THIS LINE -- make depend depends on it.' \
>> $(MAKEFILE); \
$(CC) -M -mmcu=$(MCU) $(CDEFS) $(CINCS) $(SRC) $(ASRC) >> $(MAKEFILE)
.PHONY: all build elf hex eep lss sym program coff extcoff clean depend applet_files sizebefore sizeafter
@@ -1,203 +0,0 @@
/*
Print.cpp - Base class that provides print() and println()
Copyright (c) 2008 David A. Mellis. All right reserved.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Modified 23 November 2006 by David A. Mellis
*/
#include <stdio.h>
#include <string.h>
#include <inttypes.h>
#include <math.h>
#include "wiring.h"
#include "Print.h"
// Public Methods //////////////////////////////////////////////////////////////
void Print::print(uint8_t b)
{
this->write(b);
}
void Print::print(char c)
{
print((byte) c);
}
void Print::print(const char c[])
{
while (*c)
print(*c++);
}
void Print::print(int n)
{
print((long) n);
}
void Print::print(unsigned int n)
{
print((unsigned long) n);
}
void Print::print(long n)
{
if (n < 0) {
print('-');
n = -n;
}
printNumber(n, 10);
}
void Print::print(unsigned long n)
{
printNumber(n, 10);
}
void Print::print(long n, int base)
{
if (base == 0)
print((char) n);
else if (base == 10)
print(n);
else
printNumber(n, base);
}
void Print::print(double n)
{
printFloat(n, 2);
}
void Print::println(void)
{
print('\r');
print('\n');
}
void Print::println(char c)
{
print(c);
println();
}
void Print::println(const char c[])
{
print(c);
println();
}
void Print::println(uint8_t b)
{
print(b);
println();
}
void Print::println(int n)
{
print(n);
println();
}
void Print::println(unsigned int n)
{
print(n);
println();
}
void Print::println(long n)
{
print(n);
println();
}
void Print::println(unsigned long n)
{
print(n);
println();
}
void Print::println(long n, int base)
{
print(n, base);
println();
}
void Print::println(double n)
{
print(n);
println();
}
// Private Methods /////////////////////////////////////////////////////////////
void Print::printNumber(unsigned long n, uint8_t base)
{
unsigned char buf[8 * sizeof(long)]; // Assumes 8-bit chars.
unsigned long i = 0;
if (n == 0) {
print('0');
return;
}
while (n > 0) {
buf[i++] = n % base;
n /= base;
}
for (; i > 0; i--)
print((char) (buf[i - 1] < 10 ?
'0' + buf[i - 1] :
'A' + buf[i - 1] - 10));
}
void Print::printFloat(double number, uint8_t digits)
{
// Handle negative numbers
if (number < 0.0)
{
print('-');
number = -number;
}
// Round correctly so that print(1.999, 2) prints as "2.00"
double rounding = 0.5;
for (uint8_t i=0; i<digits; ++i)
rounding /= 10.0;
number += rounding;
// Extract the integer part of the number and print it
unsigned long int_part = (unsigned long)number;
double remainder = number - (double)int_part;
print(int_part);
// Print the decimal point, but only if there are digits beyond
if (digits > 0)
print(".");
// Extract digits from the remainder one at a time
while (digits-- > 0)
{
remainder *= 10.0;
int toPrint = int(remainder);
print(toPrint);
remainder -= toPrint;
}
}
@@ -1,59 +0,0 @@
/*
Print.h - Base class that provides print() and println()
Copyright (c) 2008 David A. Mellis. All right reserved.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef Print_h
#define Print_h
#include <inttypes.h>
#define DEC 10
#define HEX 16
#define OCT 8
#define BIN 2
#define BYTE 0
class Print
{
private:
void printNumber(unsigned long, uint8_t);
void printFloat(double, uint8_t);
public:
virtual void write(uint8_t);
void print(char);
void print(const char[]);
void print(uint8_t);
void print(int);
void print(unsigned int);
void print(long);
void print(unsigned long);
void print(long, int);
void print(double);
void println(void);
void println(char);
void println(const char[]);
void println(uint8_t);
void println(int);
void println(unsigned int);
void println(long);
void println(unsigned long);
void println(long, int);
void println(double);
};
#endif
@@ -1,515 +0,0 @@
/* Tone.cpp
A Tone Generator Library
Written by Brett Hagman
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Version Modified By Date Comments
------- ----------- -------- --------
0001 B Hagman 09/08/02 Initial coding
0002 B Hagman 09/08/18 Multiple pins
0003 B Hagman 09/08/18 Moved initialization from constructor to begin()
0004 B Hagman 09/09/26 Fixed problems with ATmega8
0005 B Hagman 09/11/23 Scanned prescalars for best fit on 8 bit timers
09/11/25 Changed pin toggle method to XOR
09/11/25 Fixed timer0 from being excluded
0006 D Mellis 09/12/29 Replaced objects with functions
*************************************************/
#include <avr/interrupt.h>
#include <avr/pgmspace.h>
#include <wiring.h>
#include <pins_arduino.h>
#if defined(__AVR_ATmega8__)
#define TCCR2A TCCR2
#define TCCR2B TCCR2
#define COM2A1 COM21
#define COM2A0 COM20
#define OCR2A OCR2
#define TIMSK2 TIMSK
#define OCIE2A OCIE2
#define TIMER2_COMPA_vect TIMER2_COMP_vect
#define TIMSK1 TIMSK
#endif
// timerx_toggle_count:
// > 0 - duration specified
// = 0 - stopped
// < 0 - infinitely (until stop() method called, or new play() called)
#if !defined(__AVR_ATmega8__)
volatile long timer0_toggle_count;
volatile uint8_t *timer0_pin_port;
volatile uint8_t timer0_pin_mask;
#endif
volatile long timer1_toggle_count;
volatile uint8_t *timer1_pin_port;
volatile uint8_t timer1_pin_mask;
volatile long timer2_toggle_count;
volatile uint8_t *timer2_pin_port;
volatile uint8_t timer2_pin_mask;
#if defined(__AVR_ATmega1280__)
volatile long timer3_toggle_count;
volatile uint8_t *timer3_pin_port;
volatile uint8_t timer3_pin_mask;
volatile long timer4_toggle_count;
volatile uint8_t *timer4_pin_port;
volatile uint8_t timer4_pin_mask;
volatile long timer5_toggle_count;
volatile uint8_t *timer5_pin_port;
volatile uint8_t timer5_pin_mask;
#endif
#if defined(__AVR_ATmega1280__)
#define AVAILABLE_TONE_PINS 1
const uint8_t PROGMEM tone_pin_to_timer_PGM[] = { 2 /*, 3, 4, 5, 1, 0 */ };
static uint8_t tone_pins[AVAILABLE_TONE_PINS] = { 255 /*, 255, 255, 255, 255, 255 */ };
#elif defined(__AVR_ATmega8__)
#define AVAILABLE_TONE_PINS 1
const uint8_t PROGMEM tone_pin_to_timer_PGM[] = { 2 /*, 1 */ };
static uint8_t tone_pins[AVAILABLE_TONE_PINS] = { 255 /*, 255 */ };
#else
#define AVAILABLE_TONE_PINS 1
// Leave timer 0 to last.
const uint8_t PROGMEM tone_pin_to_timer_PGM[] = { 2 /*, 1, 0 */ };
static uint8_t tone_pins[AVAILABLE_TONE_PINS] = { 255 /*, 255, 255 */ };
#endif
static int8_t toneBegin(uint8_t _pin)
{
int8_t _timer = -1;
// if we're already using the pin, the timer should be configured.
for (int i = 0; i < AVAILABLE_TONE_PINS; i++) {
if (tone_pins[i] == _pin) {
return pgm_read_byte(tone_pin_to_timer_PGM + i);
}
}
// search for an unused timer.
for (int i = 0; i < AVAILABLE_TONE_PINS; i++) {
if (tone_pins[i] == 255) {
tone_pins[i] = _pin;
_timer = pgm_read_byte(tone_pin_to_timer_PGM + i);
break;
}
}
if (_timer != -1)
{
// Set timer specific stuff
// All timers in CTC mode
// 8 bit timers will require changing prescalar values,
// whereas 16 bit timers are set to either ck/1 or ck/64 prescalar
switch (_timer)
{
#if !defined(__AVR_ATmega8__)
case 0:
// 8 bit timer
TCCR0A = 0;
TCCR0B = 0;
bitWrite(TCCR0A, WGM01, 1);
bitWrite(TCCR0B, CS00, 1);
timer0_pin_port = portOutputRegister(digitalPinToPort(_pin));
timer0_pin_mask = digitalPinToBitMask(_pin);
break;
#endif
case 1:
// 16 bit timer
TCCR1A = 0;
TCCR1B = 0;
bitWrite(TCCR1B, WGM12, 1);
bitWrite(TCCR1B, CS10, 1);
timer1_pin_port = portOutputRegister(digitalPinToPort(_pin));
timer1_pin_mask = digitalPinToBitMask(_pin);
break;
case 2:
// 8 bit timer
TCCR2A = 0;
TCCR2B = 0;
bitWrite(TCCR2A, WGM21, 1);
bitWrite(TCCR2B, CS20, 1);
timer2_pin_port = portOutputRegister(digitalPinToPort(_pin));
timer2_pin_mask = digitalPinToBitMask(_pin);
break;
#if defined(__AVR_ATmega1280__)
case 3:
// 16 bit timer
TCCR3A = 0;
TCCR3B = 0;
bitWrite(TCCR3B, WGM32, 1);
bitWrite(TCCR3B, CS30, 1);
timer3_pin_port = portOutputRegister(digitalPinToPort(_pin));
timer3_pin_mask = digitalPinToBitMask(_pin);
break;
case 4:
// 16 bit timer
TCCR4A = 0;
TCCR4B = 0;
bitWrite(TCCR4B, WGM42, 1);
bitWrite(TCCR4B, CS40, 1);
timer4_pin_port = portOutputRegister(digitalPinToPort(_pin));
timer4_pin_mask = digitalPinToBitMask(_pin);
break;
case 5:
// 16 bit timer
TCCR5A = 0;
TCCR5B = 0;
bitWrite(TCCR5B, WGM52, 1);
bitWrite(TCCR5B, CS50, 1);
timer5_pin_port = portOutputRegister(digitalPinToPort(_pin));
timer5_pin_mask = digitalPinToBitMask(_pin);
break;
#endif
}
}
return _timer;
}
// frequency (in hertz) and duration (in milliseconds).
void tone(uint8_t _pin, unsigned int frequency, unsigned long duration)
{
uint8_t prescalarbits = 0b001;
long toggle_count = 0;
uint32_t ocr = 0;
int8_t _timer;
_timer = toneBegin(_pin);
if (_timer >= 0)
{
// Set the pinMode as OUTPUT
pinMode(_pin, OUTPUT);
// if we are using an 8 bit timer, scan through prescalars to find the best fit
if (_timer == 0 || _timer == 2)
{
ocr = F_CPU / frequency / 2 - 1;
prescalarbits = 0b001; // ck/1: same for both timers
if (ocr > 255)
{
ocr = F_CPU / frequency / 2 / 8 - 1;
prescalarbits = 0b010; // ck/8: same for both timers
if (_timer == 2 && ocr > 255)
{
ocr = F_CPU / frequency / 2 / 32 - 1;
prescalarbits = 0b011;
}
if (ocr > 255)
{
ocr = F_CPU / frequency / 2 / 64 - 1;
prescalarbits = _timer == 0 ? 0b011 : 0b100;
if (_timer == 2 && ocr > 255)
{
ocr = F_CPU / frequency / 2 / 128 - 1;
prescalarbits = 0b101;
}
if (ocr > 255)
{
ocr = F_CPU / frequency / 2 / 256 - 1;
prescalarbits = _timer == 0 ? 0b100 : 0b110;
if (ocr > 255)
{
// can't do any better than /1024
ocr = F_CPU / frequency / 2 / 1024 - 1;
prescalarbits = _timer == 0 ? 0b101 : 0b111;
}
}
}
}
#if !defined(__AVR_ATmega8__)
if (_timer == 0)
TCCR0B = prescalarbits;
else
#endif
TCCR2B = prescalarbits;
}
else
{
// two choices for the 16 bit timers: ck/1 or ck/64
ocr = F_CPU / frequency / 2 - 1;
prescalarbits = 0b001;
if (ocr > 0xffff)
{
ocr = F_CPU / frequency / 2 / 64 - 1;
prescalarbits = 0b011;
}
if (_timer == 1)
TCCR1B = (TCCR1B & 0b11111000) | prescalarbits;
#if defined(__AVR_ATmega1280__)
else if (_timer == 3)
TCCR3B = (TCCR3B & 0b11111000) | prescalarbits;
else if (_timer == 4)
TCCR4B = (TCCR4B & 0b11111000) | prescalarbits;
else if (_timer == 5)
TCCR5B = (TCCR5B & 0b11111000) | prescalarbits;
#endif
}
// Calculate the toggle count
if (duration > 0)
{
toggle_count = 2 * frequency * duration / 1000;
}
else
{
toggle_count = -1;
}
// Set the OCR for the given timer,
// set the toggle count,
// then turn on the interrupts
switch (_timer)
{
#if !defined(__AVR_ATmega8__)
case 0:
OCR0A = ocr;
timer0_toggle_count = toggle_count;
bitWrite(TIMSK0, OCIE0A, 1);
break;
#endif
case 1:
OCR1A = ocr;
timer1_toggle_count = toggle_count;
bitWrite(TIMSK1, OCIE1A, 1);
break;
case 2:
OCR2A = ocr;
timer2_toggle_count = toggle_count;
bitWrite(TIMSK2, OCIE2A, 1);
break;
#if defined(__AVR_ATmega1280__)
case 3:
OCR3A = ocr;
timer3_toggle_count = toggle_count;
bitWrite(TIMSK3, OCIE3A, 1);
break;
case 4:
OCR4A = ocr;
timer4_toggle_count = toggle_count;
bitWrite(TIMSK4, OCIE4A, 1);
break;
case 5:
OCR5A = ocr;
timer5_toggle_count = toggle_count;
bitWrite(TIMSK5, OCIE5A, 1);
break;
#endif
}
}
}
void noTone(uint8_t _pin)
{
int8_t _timer = -1;
for (int i = 0; i < AVAILABLE_TONE_PINS; i++) {
if (tone_pins[i] == _pin) {
_timer = pgm_read_byte(tone_pin_to_timer_PGM + i);
tone_pins[i] = 255;
}
}
switch (_timer)
{
#if defined(__AVR_ATmega8__)
case 1:
bitWrite(TIMSK1, OCIE1A, 0);
break;
case 2:
bitWrite(TIMSK2, OCIE2A, 0);
break;
#else
case 0:
TIMSK0 = 0;
break;
case 1:
TIMSK1 = 0;
break;
case 2:
TIMSK2 = 0;
break;
#endif
#if defined(__AVR_ATmega1280__)
case 3:
TIMSK3 = 0;
break;
case 4:
TIMSK4 = 0;
break;
case 5:
TIMSK5 = 0;
break;
#endif
}
digitalWrite(_pin, 0);
}
#if 0
#if !defined(__AVR_ATmega8__)
ISR(TIMER0_COMPA_vect)
{
if (timer0_toggle_count != 0)
{
// toggle the pin
*timer0_pin_port ^= timer0_pin_mask;
if (timer0_toggle_count > 0)
timer0_toggle_count--;
}
else
{
TIMSK0 = 0; // disable the interrupt
*timer0_pin_port &= ~(timer0_pin_mask); // keep pin low after stop
}
}
#endif
ISR(TIMER1_COMPA_vect)
{
if (timer1_toggle_count != 0)
{
// toggle the pin
*timer1_pin_port ^= timer1_pin_mask;
if (timer1_toggle_count > 0)
timer1_toggle_count--;
}
else
{
TIMSK1 = 0; // disable the interrupt
*timer1_pin_port &= ~(timer1_pin_mask); // keep pin low after stop
}
}
#endif
ISR(TIMER2_COMPA_vect)
{
if (timer2_toggle_count != 0)
{
// toggle the pin
*timer2_pin_port ^= timer2_pin_mask;
if (timer2_toggle_count > 0)
timer2_toggle_count--;
}
else
{
TIMSK2 = 0; // disable the interrupt
*timer2_pin_port &= ~(timer2_pin_mask); // keep pin low after stop
}
}
//#if defined(__AVR_ATmega1280__)
#if 0
ISR(TIMER3_COMPA_vect)
{
if (timer3_toggle_count != 0)
{
// toggle the pin
*timer3_pin_port ^= timer3_pin_mask;
if (timer3_toggle_count > 0)
timer3_toggle_count--;
}
else
{
TIMSK3 = 0; // disable the interrupt
*timer3_pin_port &= ~(timer3_pin_mask); // keep pin low after stop
}
}
ISR(TIMER4_COMPA_vect)
{
if (timer4_toggle_count != 0)
{
// toggle the pin
*timer4_pin_port ^= timer4_pin_mask;
if (timer4_toggle_count > 0)
timer4_toggle_count--;
}
else
{
TIMSK4 = 0; // disable the interrupt
*timer4_pin_port &= ~(timer4_pin_mask); // keep pin low after stop
}
}
ISR(TIMER5_COMPA_vect)
{
if (timer5_toggle_count != 0)
{
// toggle the pin
*timer5_pin_port ^= timer5_pin_mask;
if (timer5_toggle_count > 0)
timer5_toggle_count--;
}
else
{
TIMSK5 = 0; // disable the interrupt
*timer5_pin_port &= ~(timer5_pin_mask); // keep pin low after stop
}
}
#endif
@@ -1,168 +0,0 @@
/*
WCharacter.h - Character utility functions for Wiring & Arduino
Copyright (c) 2010 Hernando Barragan. All right reserved.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef Character_h
#define Character_h
#include <ctype.h>
// WCharacter.h prototypes
inline boolean isAlphaNumeric(int c) __attribute__((always_inline));
inline boolean isAlpha(int c) __attribute__((always_inline));
inline boolean isAscii(int c) __attribute__((always_inline));
inline boolean isWhitespace(int c) __attribute__((always_inline));
inline boolean isControl(int c) __attribute__((always_inline));
inline boolean isDigit(int c) __attribute__((always_inline));
inline boolean isGraph(int c) __attribute__((always_inline));
inline boolean isLowerCase(int c) __attribute__((always_inline));
inline boolean isPrintable(int c) __attribute__((always_inline));
inline boolean isPunct(int c) __attribute__((always_inline));
inline boolean isSpace(int c) __attribute__((always_inline));
inline boolean isUpperCase(int c) __attribute__((always_inline));
inline boolean isHexadecimalDigit(int c) __attribute__((always_inline));
inline int toAscii(int c) __attribute__((always_inline));
inline int toLowerCase(int c) __attribute__((always_inline));
inline int toUpperCase(int c)__attribute__((always_inline));
// Checks for an alphanumeric character.
// It is equivalent to (isalpha(c) || isdigit(c)).
inline boolean isAlphaNumeric(int c)
{
return ( isalnum(c) == 0 ? false : true);
}
// Checks for an alphabetic character.
// It is equivalent to (isupper(c) || islower(c)).
inline boolean isAlpha(int c)
{
return ( isalpha(c) == 0 ? false : true);
}
// Checks whether c is a 7-bit unsigned char value
// that fits into the ASCII character set.
inline boolean isAscii(int c)
{
return ( isascii (c) == 0 ? false : true);
}
// Checks for a blank character, that is, a space or a tab.
inline boolean isWhitespace(int c)
{
return ( isblank (c) == 0 ? false : true);
}
// Checks for a control character.
inline boolean isControl(int c)
{
return ( iscntrl (c) == 0 ? false : true);
}
// Checks for a digit (0 through 9).
inline boolean isDigit(int c)
{
return ( isdigit (c) == 0 ? false : true);
}
// Checks for any printable character except space.
inline boolean isGraph(int c)
{
return ( isgraph (c) == 0 ? false : true);
}
// Checks for a lower-case character.
inline boolean isLowerCase(int c)
{
return (islower (c) == 0 ? false : true);
}
// Checks for any printable character including space.
inline boolean isPrintable(int c)
{
return ( isprint (c) == 0 ? false : true);
}
// Checks for any printable character which is not a space
// or an alphanumeric character.
inline boolean isPunct(int c)
{
return ( ispunct (c) == 0 ? false : true);
}
// Checks for white-space characters. For the avr-libc library,
// these are: space, formfeed ('\f'), newline ('\n'), carriage
// return ('\r'), horizontal tab ('\t'), and vertical tab ('\v').
inline boolean isSpace(int c)
{
return ( isspace (c) == 0 ? false : true);
}
// Checks for an uppercase letter.
inline boolean isUpperCase(int c)
{
return ( isupper (c) == 0 ? false : true);
}
// Checks for a hexadecimal digits, i.e. one of 0 1 2 3 4 5 6 7
// 8 9 a b c d e f A B C D E F.
inline boolean isHexadecimalDigit(int c)
{
return ( isxdigit (c) == 0 ? false : true);
}
// Converts c to a 7-bit unsigned char value that fits into the
// ASCII character set, by clearing the high-order bits.
inline int toAscii(int c)
{
return toascii (c);
}
// Warning:
// Many people will be unhappy if you use this function.
// This function will convert accented letters into random
// characters.
// Converts the letter c to lower case, if possible.
inline int toLowerCase(int c)
{
return tolower (c);
}
// Converts the letter c to upper case, if possible.
inline int toUpperCase(int c)
{
return toupper (c);
}
#endif
@@ -1 +0,0 @@
#include "wiring.h"
@@ -1,87 +0,0 @@
/* -*- mode: jde; c-basic-offset: 2; indent-tabs-mode: nil -*- */
/*
Part of the Wiring project - http://wiring.uniandes.edu.co
Copyright (c) 2004-05 Hernando Barragan
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General
Public License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA
Modified 24 November 2006 by David A. Mellis
*/
#include <inttypes.h>
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/pgmspace.h>
#include <stdio.h>
#include "WConstants.h"
#include "wiring_private.h"
volatile static voidFuncPtr intFunc[EXTERNAL_NUM_INTERRUPTS];
// volatile static voidFuncPtr twiIntFunc;
void attachInterrupt(uint8_t interruptNum, void (*userFunc)(void), int mode)
{
if(interruptNum < EXTERNAL_NUM_INTERRUPTS)
{
intFunc[interruptNum] = userFunc;
//clear the config for the change settings
EICRA &= ~(B00000011 << (interruptNum * 2));
//set our mode.
EICRA |= (mode << (interruptNum * 2));
// Enable the interrupt.
EIMSK |= (1 << interruptNum);
}
}
void detachInterrupt(uint8_t interruptNum)
{
if(interruptNum < EXTERNAL_NUM_INTERRUPTS)
{
// Disable the interrupt.
EIMSK &= ~(1 << interruptNum);
intFunc[interruptNum] = 0;
}
}
ISR(INT0_vect) {
if(intFunc[EXTERNAL_INT_0])
intFunc[EXTERNAL_INT_0]();
}
ISR(INT1_vect) {
if(intFunc[EXTERNAL_INT_1])
intFunc[EXTERNAL_INT_1]();
}
ISR(INT2_vect) {
if(intFunc[EXTERNAL_INT_2])
intFunc[EXTERNAL_INT_2]();
}
/*
SIGNAL(SIG_2WIRE_SERIAL) {
if(twiIntFunc)
twiIntFunc();
}
*/
@@ -1,60 +0,0 @@
/* -*- mode: jde; c-basic-offset: 2; indent-tabs-mode: nil -*- */
/*
Part of the Wiring project - http://wiring.org.co
Copyright (c) 2004-06 Hernando Barragan
Modified 13 August 2006, David A. Mellis for Arduino - http://www.arduino.cc/
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General
Public License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA
$Id$
*/
extern "C" {
#include "stdlib.h"
}
void randomSeed(unsigned int seed)
{
if (seed != 0){
srandom(seed);
}
}
long random(long howbig)
{
if (howbig == 0) {
return 0;
}
return random() % howbig;
}
long random(long howsmall, long howbig)
{
if (howsmall >= howbig) {
return howsmall;
}
long diff = howbig - howsmall;
return random(diff) + howsmall;
}
long map(long x, long in_min, long in_max, long out_min, long out_max)
{
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}
unsigned int makeWord(unsigned int w) { return w; }
unsigned int makeWord(unsigned char h, unsigned char l) { return (h << 8) | l; }
@@ -1,34 +0,0 @@
#ifndef WProgram_h
#define WProgram_h
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <avr/interrupt.h>
#include "wiring.h"
#ifdef __cplusplus
#include "WCharacter.h"
#include "WString.h"
#include "HardwareSerial.h"
uint16_t makeWord(uint16_t w);
uint16_t makeWord(byte h, byte l);
#define word(...) makeWord(__VA_ARGS__)
unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout = 1000000L);
void tone(uint8_t _pin, unsigned int frequency, unsigned long duration = 0);
void noTone(uint8_t _pin);
// WMath prototypes
long random(long);
long random(long, long);
void randomSeed(unsigned int);
long map(long, long, long, long, long);
#endif
#endif
@@ -1,443 +0,0 @@
/*
WString.cpp - String library for Wiring & Arduino
Copyright (c) 2009-10 Hernando Barragan. All rights reserved.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include <stdlib.h>
#include "WProgram.h"
#include "WString.h"
String::String( const char *value )
{
if ( value == NULL )
value = "";
getBuffer( _length = strlen( value ) );
if ( _buffer != NULL )
strcpy( _buffer, value );
}
String::String( const String &value )
{
getBuffer( _length = value._length );
if ( _buffer != NULL )
strcpy( _buffer, value._buffer );
}
String::String( const char value )
{
_length = 1;
getBuffer(1);
if ( _buffer != NULL ) {
_buffer[0] = value;
_buffer[1] = 0;
}
}
String::String( const unsigned char value )
{
_length = 1;
getBuffer(1);
if ( _buffer != NULL) {
_buffer[0] = value;
_buffer[1] = 0;
}
}
String::String( const int value, const int base )
{
char buf[33];
itoa((signed long)value, buf, base);
getBuffer( _length = strlen(buf) );
if ( _buffer != NULL )
strcpy( _buffer, buf );
}
String::String( const unsigned int value, const int base )
{
char buf[33];
ultoa((unsigned long)value, buf, base);
getBuffer( _length = strlen(buf) );
if ( _buffer != NULL )
strcpy( _buffer, buf );
}
String::String( const long value, const int base )
{
char buf[33];
ltoa(value, buf, base);
getBuffer( _length = strlen(buf) );
if ( _buffer != NULL )
strcpy( _buffer, buf );
}
String::String( const unsigned long value, const int base )
{
char buf[33];
ultoa(value, buf, 10);
getBuffer( _length = strlen(buf) );
if ( _buffer != NULL )
strcpy( _buffer, buf );
}
char String::charAt( unsigned int loc ) const
{
return operator[]( loc );
}
void String::setCharAt( unsigned int loc, const char aChar )
{
if(_buffer == NULL) return;
if(_length > loc) {
_buffer[loc] = aChar;
}
}
int String::compareTo( const String &s2 ) const
{
return strcmp( _buffer, s2._buffer );
}
const String & String::concat( const String &s2 )
{
return (*this) += s2;
}
const String & String::operator=( const String &rhs )
{
if ( this == &rhs )
return *this;
if ( rhs._length > _length )
{
free(_buffer);
getBuffer( rhs._length );
}
if ( _buffer != NULL ) {
_length = rhs._length;
strcpy( _buffer, rhs._buffer );
}
return *this;
}
//const String & String::operator+=( const char aChar )
//{
// if ( _length == _capacity )
// doubleBuffer();
//
// _buffer[ _length++ ] = aChar;
// _buffer[ _length ] = '\0';
// return *this;
//}
const String & String::operator+=( const String &other )
{
_length += other._length;
if ( _length > _capacity )
{
char *temp = (char *)realloc(_buffer, _length + 1);
if ( temp != NULL ) {
_buffer = temp;
_capacity = _length;
} else {
_length -= other._length;
return *this;
}
}
strcat( _buffer, other._buffer );
return *this;
}
int String::operator==( const String &rhs ) const
{
return ( _length == rhs._length && strcmp( _buffer, rhs._buffer ) == 0 );
}
int String::operator!=( const String &rhs ) const
{
return ( _length != rhs.length() || strcmp( _buffer, rhs._buffer ) != 0 );
}
int String::operator<( const String &rhs ) const
{
return strcmp( _buffer, rhs._buffer ) < 0;
}
int String::operator>( const String &rhs ) const
{
return strcmp( _buffer, rhs._buffer ) > 0;
}
int String::operator<=( const String &rhs ) const
{
return strcmp( _buffer, rhs._buffer ) <= 0;
}
int String::operator>=( const String & rhs ) const
{
return strcmp( _buffer, rhs._buffer ) >= 0;
}
char & String::operator[]( unsigned int index )
{
static char dummy_writable_char;
if (index >= _length || !_buffer) {
dummy_writable_char = 0;
return dummy_writable_char;
}
return _buffer[ index ];
}
char String::operator[]( unsigned int index ) const
{
// need to check for valid index, to do later
return _buffer[ index ];
}
boolean String::endsWith( const String &s2 ) const
{
if ( _length < s2._length )
return 0;
return strcmp( &_buffer[ _length - s2._length], s2._buffer ) == 0;
}
boolean String::equals( const String &s2 ) const
{
return ( _length == s2._length && strcmp( _buffer,s2._buffer ) == 0 );
}
boolean String::equalsIgnoreCase( const String &s2 ) const
{
if ( this == &s2 )
return true; //1;
else if ( _length != s2._length )
return false; //0;
return strcmp(toLowerCase()._buffer, s2.toLowerCase()._buffer) == 0;
}
String String::replace( char findChar, char replaceChar )
{
if ( _buffer == NULL ) return *this;
String theReturn = _buffer;
char* temp = theReturn._buffer;
while( (temp = strchr( temp, findChar )) != 0 )
*temp = replaceChar;
return theReturn;
}
String String::replace( const String& match, const String& replace )
{
if ( _buffer == NULL ) return *this;
String temp = _buffer, newString;
int loc;
while ( (loc = temp.indexOf( match )) != -1 )
{
newString += temp.substring( 0, loc );
newString += replace;
temp = temp.substring( loc + match._length );
}
newString += temp;
return newString;
}
int String::indexOf( char temp ) const
{
return indexOf( temp, 0 );
}
int String::indexOf( char ch, unsigned int fromIndex ) const
{
if ( fromIndex >= _length )
return -1;
const char* temp = strchr( &_buffer[fromIndex], ch );
if ( temp == NULL )
return -1;
return temp - _buffer;
}
int String::indexOf( const String &s2 ) const
{
return indexOf( s2, 0 );
}
int String::indexOf( const String &s2, unsigned int fromIndex ) const
{
if ( fromIndex >= _length )
return -1;
const char *theFind = strstr( &_buffer[ fromIndex ], s2._buffer );
if ( theFind == NULL )
return -1;
return theFind - _buffer; // pointer subtraction
}
int String::lastIndexOf( char theChar ) const
{
return lastIndexOf( theChar, _length - 1 );
}
int String::lastIndexOf( char ch, unsigned int fromIndex ) const
{
if ( fromIndex >= _length )
return -1;
char tempchar = _buffer[fromIndex + 1];
_buffer[fromIndex + 1] = '\0';
char* temp = strrchr( _buffer, ch );
_buffer[fromIndex + 1] = tempchar;
if ( temp == NULL )
return -1;
return temp - _buffer;
}
int String::lastIndexOf( const String &s2 ) const
{
return lastIndexOf( s2, _length - s2._length );
}
int String::lastIndexOf( const String &s2, unsigned int fromIndex ) const
{
// check for empty strings
if ( s2._length == 0 || s2._length - 1 > fromIndex || fromIndex >= _length )
return -1;
// matching first character
char temp = s2[ 0 ];
for ( int i = fromIndex; i >= 0; i-- )
{
if ( _buffer[ i ] == temp && (*this).substring( i, i + s2._length ).equals( s2 ) )
return i;
}
return -1;
}
boolean String::startsWith( const String &s2 ) const
{
if ( _length < s2._length )
return 0;
return startsWith( s2, 0 );
}
boolean String::startsWith( const String &s2, unsigned int offset ) const
{
if ( offset > _length - s2._length )
return 0;
return strncmp( &_buffer[offset], s2._buffer, s2._length ) == 0;
}
String String::substring( unsigned int left ) const
{
return substring( left, _length );
}
String String::substring( unsigned int left, unsigned int right ) const
{
if ( left > right )
{
int temp = right;
right = left;
left = temp;
}
if ( right > _length )
{
right = _length;
}
char temp = _buffer[ right ]; // save the replaced character
_buffer[ right ] = '\0';
String outPut = ( _buffer + left ); // pointer arithmetic
_buffer[ right ] = temp; //restore character
return outPut;
}
String String::toLowerCase() const
{
String temp = _buffer;
for ( unsigned int i = 0; i < _length; i++ )
temp._buffer[ i ] = (char)tolower( temp._buffer[ i ] );
return temp;
}
String String::toUpperCase() const
{
String temp = _buffer;
for ( unsigned int i = 0; i < _length; i++ )
temp._buffer[ i ] = (char)toupper( temp._buffer[ i ] );
return temp;
}
String String::trim() const
{
if ( _buffer == NULL ) return *this;
String temp = _buffer;
unsigned int i,j;
for ( i = 0; i < _length; i++ )
{
if ( !isspace(_buffer[i]) )
break;
}
for ( j = temp._length - 1; j > i; j-- )
{
if ( !isspace(_buffer[j]) )
break;
}
return temp.substring( i, j + 1);
}
void String::getBytes(unsigned char *buf, unsigned int bufsize)
{
if (!bufsize || !buf) return;
unsigned int len = bufsize - 1;
if (len > _length) len = _length;
strncpy((char *)buf, _buffer, len);
buf[len] = 0;
}
void String::toCharArray(char *buf, unsigned int bufsize)
{
if (!bufsize || !buf) return;
unsigned int len = bufsize - 1;
if (len > _length) len = _length;
strncpy(buf, _buffer, len);
buf[len] = 0;
}
long String::toInt() {
return atol(_buffer);
}
@@ -1,112 +0,0 @@
/*
WString.h - String library for Wiring & Arduino
Copyright (c) 2009-10 Hernando Barragan. All right reserved.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef String_h
#define String_h
//#include "WProgram.h"
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
class String
{
public:
// constructors
String( const char *value = "" );
String( const String &value );
String( const char );
String( const unsigned char );
String( const int, const int base=10);
String( const unsigned int, const int base=10 );
String( const long, const int base=10 );
String( const unsigned long, const int base=10 );
~String() { free(_buffer); _length = _capacity = 0;} //added _length = _capacity = 0;
// operators
const String & operator = ( const String &rhs );
const String & operator +=( const String &rhs );
//const String & operator +=( const char );
int operator ==( const String &rhs ) const;
int operator !=( const String &rhs ) const;
int operator < ( const String &rhs ) const;
int operator > ( const String &rhs ) const;
int operator <=( const String &rhs ) const;
int operator >=( const String &rhs ) const;
char operator []( unsigned int index ) const;
char& operator []( unsigned int index );
//operator const char *() const { return _buffer; }
// general methods
char charAt( unsigned int index ) const;
int compareTo( const String &anotherString ) const;
unsigned char endsWith( const String &suffix ) const;
unsigned char equals( const String &anObject ) const;
unsigned char equalsIgnoreCase( const String &anotherString ) const;
int indexOf( char ch ) const;
int indexOf( char ch, unsigned int fromIndex ) const;
int indexOf( const String &str ) const;
int indexOf( const String &str, unsigned int fromIndex ) const;
int lastIndexOf( char ch ) const;
int lastIndexOf( char ch, unsigned int fromIndex ) const;
int lastIndexOf( const String &str ) const;
int lastIndexOf( const String &str, unsigned int fromIndex ) const;
const unsigned int length( ) const { return _length; }
void setCharAt(unsigned int index, const char ch);
unsigned char startsWith( const String &prefix ) const;
unsigned char startsWith( const String &prefix, unsigned int toffset ) const;
String substring( unsigned int beginIndex ) const;
String substring( unsigned int beginIndex, unsigned int endIndex ) const;
String toLowerCase( ) const;
String toUpperCase( ) const;
String trim( ) const;
void getBytes(unsigned char *buf, unsigned int bufsize);
void toCharArray(char *buf, unsigned int bufsize);
long toInt( );
const String& concat( const String &str );
String replace( char oldChar, char newChar );
String replace( const String& match, const String& replace );
friend String operator + ( String lhs, const String &rhs );
protected:
char *_buffer; // the actual char array
unsigned int _capacity; // the array length minus one (for the '\0')
unsigned int _length; // the String length (not counting the '\0')
void getBuffer(unsigned int maxStrLen);
private:
};
// allocate buffer space
inline void String::getBuffer(unsigned int maxStrLen)
{
_capacity = maxStrLen;
_buffer = (char *) malloc(_capacity + 1);
if (_buffer == NULL) _length = _capacity = 0;
}
inline String operator+( String lhs, const String &rhs )
{
return lhs += rhs;
}
#endif
@@ -1,515 +0,0 @@
#ifndef Binary_h
#define Binary_h
#define B0 0
#define B00 0
#define B000 0
#define B0000 0
#define B00000 0
#define B000000 0
#define B0000000 0
#define B00000000 0
#define B1 1
#define B01 1
#define B001 1
#define B0001 1
#define B00001 1
#define B000001 1
#define B0000001 1
#define B00000001 1
#define B10 2
#define B010 2
#define B0010 2
#define B00010 2
#define B000010 2
#define B0000010 2
#define B00000010 2
#define B11 3
#define B011 3
#define B0011 3
#define B00011 3
#define B000011 3
#define B0000011 3
#define B00000011 3
#define B100 4
#define B0100 4
#define B00100 4
#define B000100 4
#define B0000100 4
#define B00000100 4
#define B101 5
#define B0101 5
#define B00101 5
#define B000101 5
#define B0000101 5
#define B00000101 5
#define B110 6
#define B0110 6
#define B00110 6
#define B000110 6
#define B0000110 6
#define B00000110 6
#define B111 7
#define B0111 7
#define B00111 7
#define B000111 7
#define B0000111 7
#define B00000111 7
#define B1000 8
#define B01000 8
#define B001000 8
#define B0001000 8
#define B00001000 8
#define B1001 9
#define B01001 9
#define B001001 9
#define B0001001 9
#define B00001001 9
#define B1010 10
#define B01010 10
#define B001010 10
#define B0001010 10
#define B00001010 10
#define B1011 11
#define B01011 11
#define B001011 11
#define B0001011 11
#define B00001011 11
#define B1100 12
#define B01100 12
#define B001100 12
#define B0001100 12
#define B00001100 12
#define B1101 13
#define B01101 13
#define B001101 13
#define B0001101 13
#define B00001101 13
#define B1110 14
#define B01110 14
#define B001110 14
#define B0001110 14
#define B00001110 14
#define B1111 15
#define B01111 15
#define B001111 15
#define B0001111 15
#define B00001111 15
#define B10000 16
#define B010000 16
#define B0010000 16
#define B00010000 16
#define B10001 17
#define B010001 17
#define B0010001 17
#define B00010001 17
#define B10010 18
#define B010010 18
#define B0010010 18
#define B00010010 18
#define B10011 19
#define B010011 19
#define B0010011 19
#define B00010011 19
#define B10100 20
#define B010100 20
#define B0010100 20
#define B00010100 20
#define B10101 21
#define B010101 21
#define B0010101 21
#define B00010101 21
#define B10110 22
#define B010110 22
#define B0010110 22
#define B00010110 22
#define B10111 23
#define B010111 23
#define B0010111 23
#define B00010111 23
#define B11000 24
#define B011000 24
#define B0011000 24
#define B00011000 24
#define B11001 25
#define B011001 25
#define B0011001 25
#define B00011001 25
#define B11010 26
#define B011010 26
#define B0011010 26
#define B00011010 26
#define B11011 27
#define B011011 27
#define B0011011 27
#define B00011011 27
#define B11100 28
#define B011100 28
#define B0011100 28
#define B00011100 28
#define B11101 29
#define B011101 29
#define B0011101 29
#define B00011101 29
#define B11110 30
#define B011110 30
#define B0011110 30
#define B00011110 30
#define B11111 31
#define B011111 31
#define B0011111 31
#define B00011111 31
#define B100000 32
#define B0100000 32
#define B00100000 32
#define B100001 33
#define B0100001 33
#define B00100001 33
#define B100010 34
#define B0100010 34
#define B00100010 34
#define B100011 35
#define B0100011 35
#define B00100011 35
#define B100100 36
#define B0100100 36
#define B00100100 36
#define B100101 37
#define B0100101 37
#define B00100101 37
#define B100110 38
#define B0100110 38
#define B00100110 38
#define B100111 39
#define B0100111 39
#define B00100111 39
#define B101000 40
#define B0101000 40
#define B00101000 40
#define B101001 41
#define B0101001 41
#define B00101001 41
#define B101010 42
#define B0101010 42
#define B00101010 42
#define B101011 43
#define B0101011 43
#define B00101011 43
#define B101100 44
#define B0101100 44
#define B00101100 44
#define B101101 45
#define B0101101 45
#define B00101101 45
#define B101110 46
#define B0101110 46
#define B00101110 46
#define B101111 47
#define B0101111 47
#define B00101111 47
#define B110000 48
#define B0110000 48
#define B00110000 48
#define B110001 49
#define B0110001 49
#define B00110001 49
#define B110010 50
#define B0110010 50
#define B00110010 50
#define B110011 51
#define B0110011 51
#define B00110011 51
#define B110100 52
#define B0110100 52
#define B00110100 52
#define B110101 53
#define B0110101 53
#define B00110101 53
#define B110110 54
#define B0110110 54
#define B00110110 54
#define B110111 55
#define B0110111 55
#define B00110111 55
#define B111000 56
#define B0111000 56
#define B00111000 56
#define B111001 57
#define B0111001 57
#define B00111001 57
#define B111010 58
#define B0111010 58
#define B00111010 58
#define B111011 59
#define B0111011 59
#define B00111011 59
#define B111100 60
#define B0111100 60
#define B00111100 60
#define B111101 61
#define B0111101 61
#define B00111101 61
#define B111110 62
#define B0111110 62
#define B00111110 62
#define B111111 63
#define B0111111 63
#define B00111111 63
#define B1000000 64
#define B01000000 64
#define B1000001 65
#define B01000001 65
#define B1000010 66
#define B01000010 66
#define B1000011 67
#define B01000011 67
#define B1000100 68
#define B01000100 68
#define B1000101 69
#define B01000101 69
#define B1000110 70
#define B01000110 70
#define B1000111 71
#define B01000111 71
#define B1001000 72
#define B01001000 72
#define B1001001 73
#define B01001001 73
#define B1001010 74
#define B01001010 74
#define B1001011 75
#define B01001011 75
#define B1001100 76
#define B01001100 76
#define B1001101 77
#define B01001101 77
#define B1001110 78
#define B01001110 78
#define B1001111 79
#define B01001111 79
#define B1010000 80
#define B01010000 80
#define B1010001 81
#define B01010001 81
#define B1010010 82
#define B01010010 82
#define B1010011 83
#define B01010011 83
#define B1010100 84
#define B01010100 84
#define B1010101 85
#define B01010101 85
#define B1010110 86
#define B01010110 86
#define B1010111 87
#define B01010111 87
#define B1011000 88
#define B01011000 88
#define B1011001 89
#define B01011001 89
#define B1011010 90
#define B01011010 90
#define B1011011 91
#define B01011011 91
#define B1011100 92
#define B01011100 92
#define B1011101 93
#define B01011101 93
#define B1011110 94
#define B01011110 94
#define B1011111 95
#define B01011111 95
#define B1100000 96
#define B01100000 96
#define B1100001 97
#define B01100001 97
#define B1100010 98
#define B01100010 98
#define B1100011 99
#define B01100011 99
#define B1100100 100
#define B01100100 100
#define B1100101 101
#define B01100101 101
#define B1100110 102
#define B01100110 102
#define B1100111 103
#define B01100111 103
#define B1101000 104
#define B01101000 104
#define B1101001 105
#define B01101001 105
#define B1101010 106
#define B01101010 106
#define B1101011 107
#define B01101011 107
#define B1101100 108
#define B01101100 108
#define B1101101 109
#define B01101101 109
#define B1101110 110
#define B01101110 110
#define B1101111 111
#define B01101111 111
#define B1110000 112
#define B01110000 112
#define B1110001 113
#define B01110001 113
#define B1110010 114
#define B01110010 114
#define B1110011 115
#define B01110011 115
#define B1110100 116
#define B01110100 116
#define B1110101 117
#define B01110101 117
#define B1110110 118
#define B01110110 118
#define B1110111 119
#define B01110111 119
#define B1111000 120
#define B01111000 120
#define B1111001 121
#define B01111001 121
#define B1111010 122
#define B01111010 122
#define B1111011 123
#define B01111011 123
#define B1111100 124
#define B01111100 124
#define B1111101 125
#define B01111101 125
#define B1111110 126
#define B01111110 126
#define B1111111 127
#define B01111111 127
#define B10000000 128
#define B10000001 129
#define B10000010 130
#define B10000011 131
#define B10000100 132
#define B10000101 133
#define B10000110 134
#define B10000111 135
#define B10001000 136
#define B10001001 137
#define B10001010 138
#define B10001011 139
#define B10001100 140
#define B10001101 141
#define B10001110 142
#define B10001111 143
#define B10010000 144
#define B10010001 145
#define B10010010 146
#define B10010011 147
#define B10010100 148
#define B10010101 149
#define B10010110 150
#define B10010111 151
#define B10011000 152
#define B10011001 153
#define B10011010 154
#define B10011011 155
#define B10011100 156
#define B10011101 157
#define B10011110 158
#define B10011111 159
#define B10100000 160
#define B10100001 161
#define B10100010 162
#define B10100011 163
#define B10100100 164
#define B10100101 165
#define B10100110 166
#define B10100111 167
#define B10101000 168
#define B10101001 169
#define B10101010 170
#define B10101011 171
#define B10101100 172
#define B10101101 173
#define B10101110 174
#define B10101111 175
#define B10110000 176
#define B10110001 177
#define B10110010 178
#define B10110011 179
#define B10110100 180
#define B10110101 181
#define B10110110 182
#define B10110111 183
#define B10111000 184
#define B10111001 185
#define B10111010 186
#define B10111011 187
#define B10111100 188
#define B10111101 189
#define B10111110 190
#define B10111111 191
#define B11000000 192
#define B11000001 193
#define B11000010 194
#define B11000011 195
#define B11000100 196
#define B11000101 197
#define B11000110 198
#define B11000111 199
#define B11001000 200
#define B11001001 201
#define B11001010 202
#define B11001011 203
#define B11001100 204
#define B11001101 205
#define B11001110 206
#define B11001111 207
#define B11010000 208
#define B11010001 209
#define B11010010 210
#define B11010011 211
#define B11010100 212
#define B11010101 213
#define B11010110 214
#define B11010111 215
#define B11011000 216
#define B11011001 217
#define B11011010 218
#define B11011011 219
#define B11011100 220
#define B11011101 221
#define B11011110 222
#define B11011111 223
#define B11100000 224
#define B11100001 225
#define B11100010 226
#define B11100011 227
#define B11100100 228
#define B11100101 229
#define B11100110 230
#define B11100111 231
#define B11101000 232
#define B11101001 233
#define B11101010 234
#define B11101011 235
#define B11101100 236
#define B11101101 237
#define B11101110 238
#define B11101111 239
#define B11110000 240
#define B11110001 241
#define B11110010 242
#define B11110011 243
#define B11110100 244
#define B11110101 245
#define B11110110 246
#define B11110111 247
#define B11111000 248
#define B11111001 249
#define B11111010 250
#define B11111011 251
#define B11111100 252
#define B11111101 253
#define B11111110 254
#define B11111111 255
#endif
@@ -1,14 +0,0 @@
#include <WProgram.h>
int main(void)
{
init();
setup();
for (;;)
loop();
return 0;
}
@@ -1,12 +0,0 @@
int main(void)
{
init();
setup();
for (;;)
loop();
return 0;
}
@@ -1,200 +0,0 @@
/*
pins_arduino.c - pin definitions for the Arduino board
Part of Arduino / Wiring Lite
Copyright (c) 2005 David A. Mellis
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General
Public License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA
$Id: pins_arduino.c 254 2007-04-20 23:17:38Z mellis $
*/
#include <avr/io.h>
#include "wiring_private.h"
#include "pins_arduino.h"
// On the Sanguino board, digital pins are also used
// for the analog output (software PWM). Analog input
// pins are a separate set.
// ATMEL ATMEGA644P / SANGUINO
//
// +---\/---+
// INT0 (D 0) PB0 1| |40 PA0 (AI 0 / D31)
// INT1 (D 1) PB1 2| |39 PA1 (AI 1 / D30)
// INT2 (D 2) PB2 3| |38 PA2 (AI 2 / D29)
// PWM (D 3) PB3 4| |37 PA3 (AI 3 / D28)
// PWM (D 4) PB4 5| |36 PA4 (AI 4 / D27)
// MOSI (D 5) PB5 6| |35 PA5 (AI 5 / D26)
// MISO (D 6) PB6 7| |34 PA6 (AI 6 / D25)
// SCK (D 7) PB7 8| |33 PA7 (AI 7 / D24)
// RST 9| |32 AREF
// VCC 10| |31 GND
// GND 11| |30 AVCC
// XTAL2 12| |29 PC7 (D 23)
// XTAL1 13| |28 PC6 (D 22)
// RX0 (D 8) PD0 14| |27 PC5 (D 21) TDI
// TX0 (D 9) PD1 15| |26 PC4 (D 20) TDO
// RX1 (D 10) PD2 16| |25 PC3 (D 19) TMS
// TX1 (D 11) PD3 17| |24 PC2 (D 18) TCK
// PWM (D 12) PD4 18| |23 PC1 (D 17) SDA
// PWM (D 13) PD5 19| |22 PC0 (D 16) SCL
// PWM (D 14) PD6 20| |21 PD7 (D 15) PWM
// +--------+
//
#define PA 1
#define PB 2
#define PC 3
#define PD 4
// these arrays map port names (e.g. port B) to the
// appropriate addresses for various functions (e.g. reading
// and writing)
const uint8_t PROGMEM port_to_mode_PGM[] =
{
NOT_A_PORT,
(uint8_t) &DDRA,
(uint8_t) &DDRB,
(uint8_t) &DDRC,
(uint8_t) &DDRD,
};
const uint8_t PROGMEM port_to_output_PGM[] =
{
NOT_A_PORT,
(uint8_t) &PORTA,
(uint8_t) &PORTB,
(uint8_t) &PORTC,
(uint8_t) &PORTD,
};
const uint8_t PROGMEM port_to_input_PGM[] =
{
NOT_A_PORT,
(uint8_t) &PINA,
(uint8_t) &PINB,
(uint8_t) &PINC,
(uint8_t) &PIND,
};
const uint8_t PROGMEM digital_pin_to_port_PGM[] =
{
PB, /* 0 */
PB,
PB,
PB,
PB,
PB,
PB,
PB,
PD, /* 8 */
PD,
PD,
PD,
PD,
PD,
PD,
PD,
PC, /* 16 */
PC,
PC,
PC,
PC,
PC,
PC,
PC,
PA, /* 24 */
PA,
PA,
PA,
PA,
PA,
PA,
PA /* 31 */
};
const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] =
{
_BV(0), /* 0, port B */
_BV(1),
_BV(2),
_BV(3),
_BV(4),
_BV(5),
_BV(6),
_BV(7),
_BV(0), /* 8, port D */
_BV(1),
_BV(2),
_BV(3),
_BV(4),
_BV(5),
_BV(6),
_BV(7),
_BV(0), /* 16, port C */
_BV(1),
_BV(2),
_BV(3),
_BV(4),
_BV(5),
_BV(6),
_BV(7),
_BV(7), /* 24, port A */
_BV(6),
_BV(5),
_BV(4),
_BV(3),
_BV(2),
_BV(1),
_BV(0)
};
const uint8_t PROGMEM digital_pin_to_timer_PGM[] =
{
NOT_ON_TIMER, /* 0 - PB0 */
NOT_ON_TIMER, /* 1 - PB1 */
NOT_ON_TIMER, /* 2 - PB2 */
TIMER0A, /* 3 - PB3 */
TIMER0B, /* 4 - PB4 */
NOT_ON_TIMER, /* 5 - PB5 */
NOT_ON_TIMER, /* 6 - PB6 */
NOT_ON_TIMER, /* 7 - PB7 */
NOT_ON_TIMER, /* 8 - PD0 */
NOT_ON_TIMER, /* 9 - PD1 */
NOT_ON_TIMER, /* 10 - PD2 */
NOT_ON_TIMER, /* 11 - PD3 */
TIMER1B, /* 12 - PD4 */
TIMER1A, /* 13 - PD5 */
TIMER2B, /* 14 - PD6 */
TIMER2A, /* 15 - PD7 */
NOT_ON_TIMER, /* 16 - PC0 */
NOT_ON_TIMER, /* 17 - PC1 */
NOT_ON_TIMER, /* 18 - PC2 */
NOT_ON_TIMER, /* 19 - PC3 */
NOT_ON_TIMER, /* 20 - PC4 */
NOT_ON_TIMER, /* 21 - PC5 */
NOT_ON_TIMER, /* 22 - PC6 */
NOT_ON_TIMER, /* 23 - PC7 */
NOT_ON_TIMER, /* 24 - PA0 */
NOT_ON_TIMER, /* 25 - PA1 */
NOT_ON_TIMER, /* 26 - PA2 */
NOT_ON_TIMER, /* 27 - PA3 */
NOT_ON_TIMER, /* 28 - PA4 */
NOT_ON_TIMER, /* 29 - PA5 */
NOT_ON_TIMER, /* 30 - PA6 */
NOT_ON_TIMER /* 31 - PA7 */
};
@@ -1,65 +0,0 @@
/*
pins_arduino.h - Pin definition functions for Arduino
Part of Arduino - http://www.arduino.cc/
Copyright (c) 2007 David A. Mellis
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General
Public License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA
$Id: wiring.h 249 2007-02-03 16:52:51Z mellis $
*/
#ifndef Pins_Arduino_h
#define Pins_Arduino_h
#include <avr/pgmspace.h>
#define NOT_A_PIN 0
#define NOT_A_PORT 0
#define NOT_ON_TIMER 0
#define TIMER0A 1
#define TIMER0B 2
#define TIMER1A 3
#define TIMER1B 4
#define TIMER2 5
#define TIMER2A 6
#define TIMER2B 7
extern const uint8_t PROGMEM port_to_mode_PGM[];
extern const uint8_t PROGMEM port_to_input_PGM[];
extern const uint8_t PROGMEM port_to_output_PGM[];
extern const uint8_t PROGMEM digital_pin_to_port_PGM[];
extern const uint8_t PROGMEM digital_pin_to_bit_PGM[];
extern const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[];
extern const uint8_t PROGMEM digital_pin_to_timer_PGM[];
// Get the bit location within the hardware port of the given virtual pin.
// This comes from the pins_*.c file for the active board configuration.
//
// These perform slightly better as macros compared to inline functions
//
#define digitalPinToPort(P) ( pgm_read_byte( digital_pin_to_port_PGM + (P) ) )
#define digitalPinToBitMask(P) ( pgm_read_byte( digital_pin_to_bit_mask_PGM + (P) ) )
#define digitalPinToTimer(P) ( pgm_read_byte( digital_pin_to_timer_PGM + (P) ) )
#define analogInPinToBit(P) (P)
#define portOutputRegister(P) ( (volatile uint8_t *)( pgm_read_byte( port_to_output_PGM + (P))) )
#define portInputRegister(P) ( (volatile uint8_t *)( pgm_read_byte( port_to_input_PGM + (P))) )
#define portModeRegister(P) ( (volatile uint8_t *)( pgm_read_byte( port_to_mode_PGM + (P))) )
#endif
@@ -1,203 +0,0 @@
/*
wiring.c - Partial implementation of the Wiring API for the ATmega8.
Part of Arduino - http://www.arduino.cc/
Copyright (c) 2005-2006 David A. Mellis
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General
Public License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA
$Id: wiring.c 388 2008-03-08 22:05:23Z mellis $
*/
#include "wiring_private.h"
volatile unsigned long timer0_overflow_count = 0;
volatile unsigned long timer0_clock_cycles = 0;
volatile unsigned long timer0_millis = 0;
SIGNAL(TIMER0_OVF_vect)
{
timer0_overflow_count++;
// timer 0 prescale factor is 64 and the timer overflows at 256
timer0_clock_cycles += 64UL * 256UL;
while (timer0_clock_cycles > clockCyclesPerMicrosecond() * 1000UL) {
timer0_clock_cycles -= clockCyclesPerMicrosecond() * 1000UL;
timer0_millis++;
}
}
unsigned long millis()
{
unsigned long m;
uint8_t oldSREG = SREG;
// disable interrupts while we read timer0_millis or we might get an
// inconsistent value (e.g. in the middle of the timer0_millis++)
cli();
m = timer0_millis;
SREG = oldSREG;
return m;
}
unsigned long micros() {
unsigned long m, t;
uint8_t oldSREG = SREG;
cli();
t = TCNT0;
#ifdef TIFR0
if ((TIFR0 & _BV(TOV0)) && (t == 0))
t = 256;
#else
if ((TIFR & _BV(TOV0)) && (t == 0))
t = 256;
#endif
m = timer0_overflow_count;
SREG = oldSREG;
return ((m << 8) + t) * (64 / clockCyclesPerMicrosecond());
}
void delay(unsigned long ms)
{
unsigned long start = millis();
while (millis() - start <= ms)
;
}
/* Delay for the given number of microseconds. Assumes a 8 or 16 MHz clock.
* Disables interrupts, which will disrupt the millis() function if used
* too frequently. */
void delayMicroseconds(unsigned int us)
{
uint8_t oldSREG;
// calling avrlib's delay_us() function with low values (e.g. 1 or
// 2 microseconds) gives delays longer than desired.
//delay_us(us);
#if F_CPU >= 16000000L
// for the 16 MHz clock on most Arduino boards
// for a one-microsecond delay, simply return. the overhead
// of the function call yields a delay of approximately 1 1/8 us.
if (--us == 0)
return;
// the following loop takes a quarter of a microsecond (4 cycles)
// per iteration, so execute it four times for each microsecond of
// delay requested.
us <<= 2;
// account for the time taken in the preceeding commands.
us -= 2;
#else
// for the 8 MHz internal clock on the ATmega168
// for a one- or two-microsecond delay, simply return. the overhead of
// the function calls takes more than two microseconds. can't just
// subtract two, since us is unsigned; we'd overflow.
if (--us == 0)
return;
if (--us == 0)
return;
// the following loop takes half of a microsecond (4 cycles)
// per iteration, so execute it twice for each microsecond of
// delay requested.
us <<= 1;
// partially compensate for the time taken by the preceeding commands.
// we can't subtract any more than this or we'd overflow w/ small delays.
us--;
#endif
// disable interrupts, otherwise the timer 0 overflow interrupt that
// tracks milliseconds will make us delay longer than we want.
oldSREG = SREG;
cli();
// busy wait
__asm__ __volatile__ (
"1: sbiw %0,1" "\n\t" // 2 cycles
"brne 1b" : "=w" (us) : "0" (us) // 2 cycles
);
// reenable interrupts.
SREG = oldSREG;
}
void init()
{
// this needs to be called before setup() or some functions won't
// work there
sei();
// on the ATmega168, timer 0 is also used for fast hardware pwm
// (using phase-correct PWM would mean that timer 0 overflowed half as often
// resulting in different millis() behavior on the ATmega8 and ATmega168)
sbi(TCCR0A, WGM01);
sbi(TCCR0A, WGM00);
// set timer 0 prescale factor to 64
sbi(TCCR0B, CS01);
sbi(TCCR0B, CS00);
// enable timer 0 overflow interrupt
sbi(TIMSK0, TOIE0);
// timers 1 and 2 are used for phase-correct hardware pwm
// this is better for motors as it ensures an even waveform
// note, however, that fast pwm mode can achieve a frequency of up
// 8 MHz (with a 16 MHz clock) at 50% duty cycle
// set timer 1 prescale factor to 64
sbi(TCCR1B, CS11);
sbi(TCCR1B, CS10);
// put timer 1 in 8-bit phase correct pwm mode
sbi(TCCR1A, WGM10);
// set timer 2 prescale factor to 64
sbi(TCCR2B, CS22);
// configure timer 2 for phase correct pwm (8-bit)
sbi(TCCR2A, WGM20);
// set a2d prescale factor to 128
// 16 MHz / 128 = 125 KHz, inside the desired 50-200 KHz range.
// XXX: this will not work properly for other clock speeds, and
// this code should use F_CPU to determine the prescale factor.
sbi(ADCSRA, ADPS2);
sbi(ADCSRA, ADPS1);
sbi(ADCSRA, ADPS0);
// enable a2d conversions
sbi(ADCSRA, ADEN);
// the bootloader connects pins 0 and 1 to the USART; disconnect them
// here so they can be used as normal digital i/o; they will be
// reconnected in Serial.begin()
UCSR0B = 0;
#if defined(__AVR_ATmega644P__)
//TODO: test to see if disabling this helps?
//UCSR1B = 0;
#endif
}
@@ -1,135 +0,0 @@
/*
wiring.h - Partial implementation of the Wiring API for the ATmega8.
Part of Arduino - http://www.arduino.cc/
Copyright (c) 2005-2006 David A. Mellis
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General
Public License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA
$Id: wiring.h 387 2008-03-08 21:30:00Z mellis $
*/
#ifndef Wiring_h
#define Wiring_h
#include <avr/io.h>
#include "binary.h"
#ifdef __cplusplus
extern "C"{
#endif
#define HIGH 0x1
#define LOW 0x0
#define INPUT 0x0
#define OUTPUT 0x1
#define true 0x1
#define false 0x0
#define PI 3.14159265
#define HALF_PI 1.57079
#define TWO_PI 6.283185
#define DEG_TO_RAD 0.01745329
#define RAD_TO_DEG 57.2957786
#define SERIAL 0x0
#define DISPLAY 0x1
#define LSBFIRST 0
#define MSBFIRST 1
#define CHANGE 1
#define FALLING 2
#define RISING 3
#define INTERNAL 3
#define DEFAULT 1
#define EXTERNAL 0
// undefine stdlib's abs if encountered
#ifdef abs
#undef abs
#endif
#define min(a,b) ((a)<(b)?(a):(b))
#define max(a,b) ((a)>(b)?(a):(b))
#define abs(x) ((x)>0?(x):-(x))
#define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt)))
#if __AVR_LIBC_VERSION__ < 10701UL
#define round(x) ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))
#endif
#define radians(deg) ((deg)*DEG_TO_RAD)
#define degrees(rad) ((rad)*RAD_TO_DEG)
#define sq(x) ((x)*(x))
#define interrupts() sei()
#define noInterrupts() cli()
#define clockCyclesPerMicrosecond() ( F_CPU / 1000000L )
#define clockCyclesToMicroseconds(a) ( (a) / clockCyclesPerMicrosecond() )
#define microsecondsToClockCycles(a) ( (a) * clockCyclesPerMicrosecond() )
#define lowByte(w) ((w) & 0xff)
#define highByte(w) ((w) >> 8)
#define bitRead(value, bit) (((value) >> (bit)) & 0x01)
#define bitSet(value, bit) ((value) |= (1UL << (bit)))
#define bitClear(value, bit) ((value) &= ~(1UL << (bit)))
#define bitWrite(value, bit, bitvalue) (bitvalue ? bitSet(value, bit) : bitClear(value, bit))
typedef unsigned int word;
#define bit(b) (1 << (b))
typedef uint8_t boolean;
typedef uint8_t byte;
void init(void);
void pinMode(uint8_t, uint8_t);
void digitalWrite(uint8_t, uint8_t);
int digitalRead(uint8_t);
int analogRead(uint8_t);
void analogReference(uint8_t mode);
void analogWrite(uint8_t, int);
void beginSerial(uint8_t, long);
void serialWrite(uint8_t, unsigned char);
int serialAvailable(uint8_t);
int serialRead(uint8_t);
void serialFlush(uint8_t);
unsigned long millis(void);
unsigned long micros(void);
void delay(unsigned long);
void delayMicroseconds(unsigned int us);
unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout);
void shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, byte val);
void attachInterrupt(uint8_t, void (*)(void), int mode);
void detachInterrupt(uint8_t);
void setup(void);
void loop(void);
#ifdef __cplusplus
} // extern "C"
#endif
#endif
@@ -1,116 +0,0 @@
/*
wiring_analog.c - analog input and output
Part of Arduino - http://www.arduino.cc/
Copyright (c) 2005-2006 David A. Mellis
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General
Public License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA
$Id: wiring.c 248 2007-02-03 15:36:30Z mellis $
*/
#include "wiring_private.h"
#include "pins_arduino.h"
uint8_t analog_reference = DEFAULT;
void analogReference(uint8_t mode)
{
// can't actually set the register here because the default setting
// will connect AVCC and the AREF pin, which would cause a short if
// there's something connected to AREF.
analog_reference = mode;
}
int analogRead(uint8_t pin)
{
uint8_t low, high, ch = analogInPinToBit(pin);
// set the analog reference (high two bits of ADMUX) and select the
// channel (low 4 bits). this also sets ADLAR (left-adjust result)
// to 0 (the default).
// the final AND is to clear the pos/neg reference bits
ADMUX = ((analog_reference << 6) | (pin & 0x0f)) & B11000111;
// without a delay, we seem to read from the wrong channel
//delay(1);
// start the conversion
sbi(ADCSRA, ADSC);
// ADSC is cleared when the conversion finishes
while (bit_is_set(ADCSRA, ADSC));
// we have to read ADCL first; doing so locks both ADCL
// and ADCH until ADCH is read. reading ADCL second would
// cause the results of each conversion to be discarded,
// as ADCL and ADCH would be locked when it completed.
low = ADCL;
high = ADCH;
// combine the two bytes
return (high << 8) | low;
}
// Right now, PWM output only works on the pins with
// hardware support. These are defined in the appropriate
// pins_*.c file. For the rest of the pins, we default
// to digital output.
void analogWrite(uint8_t pin, int val)
{
// We need to make sure the PWM output is enabled for those pins
// that support it, as we turn it off when digitally reading or
// writing with them. Also, make sure the pin is in output mode
// for consistenty with Wiring, which doesn't require a pinMode
// call for the analog output pins.
pinMode(pin, OUTPUT);
if (digitalPinToTimer(pin) == TIMER1A) {
// connect pwm to pin on timer 1, channel A
sbi(TCCR1A, COM1A1);
// set pwm duty
OCR1A = val;
} else if (digitalPinToTimer(pin) == TIMER1B) {
// connect pwm to pin on timer 1, channel B
sbi(TCCR1A, COM1B1);
// set pwm duty
OCR1B = val;
} else if (digitalPinToTimer(pin) == TIMER0A) {
// connect pwm to pin on timer 0, channel A
sbi(TCCR0A, COM0A1);
// set pwm duty
OCR0A = val;
} else if (digitalPinToTimer(pin) == TIMER0B) {
// connect pwm to pin on timer 0, channel B
sbi(TCCR0A, COM0B1);
// set pwm duty
OCR0B = val;
} else if (digitalPinToTimer(pin) == TIMER2A) {
// connect pwm to pin on timer 2, channel A
sbi(TCCR2A, COM2A1);
// set pwm duty
OCR2A = val;
} else if (digitalPinToTimer(pin) == TIMER2B) {
// connect pwm to pin on timer 2, channel B
sbi(TCCR2A, COM2B1);
// set pwm duty
OCR2B = val;
} else if (val < 128)
//fail semi-intelligently
digitalWrite(pin, LOW);
else
digitalWrite(pin, HIGH);
}
@@ -1,95 +0,0 @@
/*
wiring_digital.c - digital input and output functions
Part of Arduino - http://www.arduino.cc/
Copyright (c) 2005-2006 David A. Mellis
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General
Public License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA
$Id: wiring.c 248 2007-02-03 15:36:30Z mellis $
*/
#include "wiring_private.h"
#include "pins_arduino.h"
void pinMode(uint8_t pin, uint8_t mode)
{
uint8_t bit = digitalPinToBitMask(pin);
uint8_t port = digitalPinToPort(pin);
volatile uint8_t *reg;
if (port == NOT_A_PIN) return;
// JWS: can I let the optimizer do this?
reg = portModeRegister(port);
if (mode == INPUT) *reg &= ~bit;
else *reg |= bit;
}
// Forcing this inline keeps the callers from having to push their own stuff
// on the stack. It is a good performance win and only takes 1 more byte per
// user than calling. (It will take more bytes on the 168.)
//
// But shouldn't this be moved into pinMode? Seems silly to check and do on
// each digitalread or write.
//
static inline void turnOffPWM(uint8_t timer) __attribute__ ((always_inline));
static inline void turnOffPWM(uint8_t timer)
{
if (timer == TIMER0A) cbi(TCCR0A, COM0A1);
if (timer == TIMER0B) cbi(TCCR0A, COM0B1);
if (timer == TIMER1A) cbi(TCCR1A, COM1A1);
if (timer == TIMER1B) cbi(TCCR1A, COM1B1);
if (timer == TIMER2A) cbi(TCCR2A, COM2A1);
if (timer == TIMER2B) cbi(TCCR2A, COM2B1);
}
void digitalWrite(uint8_t pin, uint8_t val)
{
uint8_t timer = digitalPinToTimer(pin);
uint8_t bit = digitalPinToBitMask(pin);
uint8_t port = digitalPinToPort(pin);
volatile uint8_t *out;
if (port == NOT_A_PIN) return;
// If the pin that support PWM output, we need to turn it off
// before doing a digital write.
if (timer != NOT_ON_TIMER) turnOffPWM(timer);
out = portOutputRegister(port);
if (val == LOW) *out &= ~bit;
else *out |= bit;
}
int digitalRead(uint8_t pin)
{
uint8_t timer = digitalPinToTimer(pin);
uint8_t bit = digitalPinToBitMask(pin);
uint8_t port = digitalPinToPort(pin);
if (port == NOT_A_PIN) return LOW;
// If the pin that support PWM output, we need to turn it off
// before getting a digital reading.
if (timer != NOT_ON_TIMER) turnOffPWM(timer);
if (*portInputRegister(port) & bit) return HIGH;
return LOW;
}
@@ -1,60 +0,0 @@
/*
wiring_private.h - Internal header file.
Part of Arduino - http://www.arduino.cc/
Copyright (c) 2005-2006 David A. Mellis
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General
Public License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA
$Id: wiring.h 239 2007-01-12 17:58:39Z mellis $
*/
#ifndef WiringPrivate_h
#define WiringPrivate_h
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
#include <avr/delay.h>
#include <stdio.h>
#include <stdarg.h>
#include "wiring.h"
#ifdef __cplusplus
extern "C"{
#endif
#ifndef cbi
#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
#endif
#ifndef sbi
#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))
#endif
#define EXTERNAL_INT_0 0
#define EXTERNAL_INT_1 1
#define EXTERNAL_INT_2 2
#define EXTERNAL_NUM_INTERRUPTS 3
typedef void (*voidFuncPtr)(void);
#ifdef __cplusplus
} // extern "C"
#endif
#endif
@@ -1,66 +0,0 @@
/*
wiring_pulse.c - pulseIn() function
Part of Arduino - http://www.arduino.cc/
Copyright (c) 2005-2006 David A. Mellis
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General
Public License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA
$Id: wiring.c 248 2007-02-03 15:36:30Z mellis $
*/
#include "wiring_private.h"
#include "pins_arduino.h"
/* Measures the length (in microseconds) of a pulse on the pin; state is HIGH
* or LOW, the type of pulse to measure. Works on pulses from 2-3 microseconds
* to 3 minutes in length, but must be called at least a few dozen microseconds
* before the start of the pulse. */
unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout)
{
// cache the port and bit of the pin in order to speed up the
// pulse width measuring loop and achieve finer resolution. calling
// digitalRead() instead yields much coarser resolution.
uint8_t bit = digitalPinToBitMask(pin);
uint8_t port = digitalPinToPort(pin);
uint8_t stateMask = (state ? bit : 0);
unsigned long width = 0; // keep initialization out of time critical area
// convert the timeout from microseconds to a number of times through
// the initial loop; it takes 16 clock cycles per iteration.
unsigned long numloops = 0;
unsigned long maxloops = microsecondsToClockCycles(timeout) / 16;
// wait for any previous pulse to end
while ((*portInputRegister(port) & bit) == stateMask)
if (numloops++ == maxloops)
return 0;
// wait for the pulse to start
while ((*portInputRegister(port) & bit) != stateMask)
if (numloops++ == maxloops)
return 0;
// wait for the pulse to stop
while ((*portInputRegister(port) & bit) == stateMask)
width++;
// convert the reading to microseconds. The loop has been determined
// to be 10 clock cycles long and have about 16 clocks between the edge
// and the start of the loop. There will be some error introduced by
// the interrupt handlers.
return clockCyclesToMicroseconds(width * 10 + 16);
}
@@ -1,138 +0,0 @@
/*
wiring_serial.c - serial functions.
Part of Arduino - http://www.arduino.cc/
Copyright (c) 2005-2006 David A. Mellis
Modified 29 January 2009, Marius Kintel for Sanguino - http://www.sanguino.cc/
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General
Public License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA
$Id: wiring.c 248 2007-02-03 15:36:30Z mellis $
*/
#include "wiring_private.h"
// Define constants and variables for buffering incoming serial data. We're
// using a ring buffer (I think), in which rx_buffer_head is the index of the
// location to which to write the next incoming character and rx_buffer_tail
// is the index of the location from which to read.
#define RX_BUFFER_SIZE 128
#if defined(__AVR_ATmega644P__)
unsigned char rx_buffer[2][RX_BUFFER_SIZE];
int rx_buffer_head[2] = {0, 0};
int rx_buffer_tail[2] = {0, 0};
#else
unsigned char rx_buffer[1][RX_BUFFER_SIZE];
int rx_buffer_head[1] = {0};
int rx_buffer_tail[1] = {0};
#endif
#define BEGIN_SERIAL(uart_, baud_) \
{ \
UBRR##uart_##H = ((F_CPU / 16 + baud / 2) / baud - 1) >> 8; \
UBRR##uart_##L = ((F_CPU / 16 + baud / 2) / baud - 1); \
\
/* reset config for UART */ \
UCSR##uart_##A = 0; \
UCSR##uart_##B = 0; \
UCSR##uart_##C = 0; \
\
/* enable rx and tx */ \
sbi(UCSR##uart_##B, RXEN##uart_);\
sbi(UCSR##uart_##B, TXEN##uart_);\
\
/* enable interrupt on complete reception of a byte */ \
sbi(UCSR##uart_##B, RXCIE##uart_); \
UCSR##uart_##C = _BV(UCSZ##uart_##1)|_BV(UCSZ##uart_##0); \
/* defaults to 8-bit, no parity, 1 stop bit */ \
}
void beginSerial(uint8_t uart, long baud)
{
if (uart == 0) BEGIN_SERIAL(0, baud)
#if defined(__AVR_ATmega644P__)
else BEGIN_SERIAL(1, baud)
#endif
}
#define SERIAL_WRITE(uart_, c_) \
while (!(UCSR##uart_##A & (1 << UDRE##uart_))) \
; \
UDR##uart_ = c
void serialWrite(uint8_t uart, unsigned char c)
{
if (uart == 0) {
SERIAL_WRITE(0, c);
}
#if defined(__AVR_ATmega644P__)
else {
SERIAL_WRITE(1, c);
}
#endif
}
int serialAvailable(uint8_t uart)
{
return (RX_BUFFER_SIZE + rx_buffer_head[uart] - rx_buffer_tail[uart]) % RX_BUFFER_SIZE;
}
int serialRead(uint8_t uart)
{
// if the head isn't ahead of the tail, we don't have any characters
if (rx_buffer_head[uart] == rx_buffer_tail[uart]) {
return -1;
} else {
unsigned char c = rx_buffer[uart][rx_buffer_tail[uart]];
rx_buffer_tail[uart] = (rx_buffer_tail[uart] + 1) % RX_BUFFER_SIZE;
return c;
}
}
void serialFlush(uint8_t uart)
{
// don't reverse this or there may be problems if the RX interrupt
// occurs after reading the value of rx_buffer_head but before writing
// the value to rx_buffer_tail; the previous value of rx_buffer_head
// may be written to rx_buffer_tail, making it appear as if the buffer
// were full, not empty.
rx_buffer_head[uart] = rx_buffer_tail[uart];
}
#define UART_ISR(uart_) \
ISR(USART##uart_##_RX_vect) \
{ \
unsigned char c = UDR##uart_; \
\
int i = (rx_buffer_head[uart_] + 1) % RX_BUFFER_SIZE; \
\
/* if we should be storing the received character into the location \
just before the tail (meaning that the head would advance to the \
current location of the tail), we're about to overflow the buffer \
and so we don't write the character or advance the head. */ \
if (i != rx_buffer_tail[uart_]) { \
rx_buffer[uart_][rx_buffer_head[uart_]] = c; \
rx_buffer_head[uart_] = i; \
} \
}
UART_ISR(0)
#if defined(__AVR_ATmega644P__)
UART_ISR(1)
#endif
@@ -1,40 +0,0 @@
/*
wiring_shift.c - shiftOut() function
Part of Arduino - http://www.arduino.cc/
Copyright (c) 2005-2006 David A. Mellis
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General
Public License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA
$Id: wiring.c 248 2007-02-03 15:36:30Z mellis $
*/
#include "wiring_private.h"
void shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, byte val)
{
int i;
for (i = 0; i < 8; i++) {
if (bitOrder == LSBFIRST)
digitalWrite(dataPin, !!(val & (1 << i)));
else
digitalWrite(dataPin, !!(val & (1 << (7 - i))));
digitalWrite(clockPin, HIGH);
digitalWrite(clockPin, LOW);
}
}
@@ -1,99 +0,0 @@
##############################################################
sanguino.name=Sanguino
sanguino.upload.protocol=stk500
sanguino.upload.maximum_size=63488
sanguino.upload.speed=38400
sanguino.bootloader.low_fuses=0xFF
sanguino.bootloader.high_fuses=0xDC
sanguino.bootloader.extended_fuses=0xFD
sanguino.bootloader.path=atmega644p
sanguino.bootloader.file=ATmegaBOOT_644P.hex
sanguino.bootloader.unlock_bits=0x3F
sanguino.bootloader.lock_bits=0x0F
sanguino.build.mcu=atmega644p
sanguino.build.f_cpu=16000000L
sanguino.build.core=arduino
##############################################################
atmega644.name=Sanguino W/ ATmega644P
atmega644.upload.protocol=stk500
atmega644.upload.maximum_size=63488
atmega644.upload.speed=57600
atmega644.bootloader.low_fuses=0xFF
atmega644.bootloader.high_fuses=0x9A
atmega644.bootloader.extended_fuses=0xFF
atmega644.bootloader.path=atmega
atmega644.bootloader.file=ATmegaBOOT_168_atmega644p.hex
#atmega644.bootloader.file=ATmegaBOOT_644P.hex
atmega644.bootloader.unlock_bits=0x3F
atmega644.bootloader.lock_bits=0x0F
atmega644.build.mcu=atmega644p
atmega644.build.f_cpu=16000000L
atmega644.build.core=arduino
##############################################################
atmega12848m.name=Sanguino W/ ATmega1284p 8mhz
atmega12848m.upload.protocol=stk500
atmega12848m.upload.maximum_size=131072
atmega12848m.upload.speed=19200
atmega12848m.bootloader.low_fuses=0xD6
atmega12848m.bootloader.high_fuses=0xDA
atmega12848m.bootloader.extended_fuses=0xFD
atmega12848m.bootloader.path=atmega
atmega12848m.bootloader.file=ATmegaBOOT_168_atmega1284p_8m.hex
atmega12848m.bootloader.unlock_bits=0x3F
atmega12848m.bootloader.lock_bits=0x0F
atmega12848m.build.mcu=atmega1284p
atmega12848m.build.f_cpu=8000000L
atmega12848m.build.core=arduino
##############################################################
atmega1284.name=Sanguino W/ ATmega1284p 16mhz
atmega1284.upload.protocol=stk500
atmega1284.upload.maximum_size=131072
atmega1284.upload.speed=57600
atmega1284.bootloader.low_fuses=0xD6
atmega1284.bootloader.high_fuses=0xDA
atmega1284.bootloader.extended_fuses=0xFD
atmega1284.bootloader.path=atmega
atmega1284.bootloader.file=ATmegaBOOT_168_atmega1284p.hex
atmega1284.bootloader.unlock_bits=0x3F
atmega1284.bootloader.lock_bits=0x0F
atmega1284.build.mcu=atmega1284p
atmega1284.build.f_cpu=16000000L
atmega1284.build.core=arduino
##############################################################
atmega1284s.name=Sanguino W/ ATmega1284p 20mhz
atmega1284s.upload.protocol=stk500
atmega1284s.upload.maximum_size=131072
atmega1284s.upload.speed=57600
atmega1284s.bootloader.low_fuses=0xD6
atmega1284s.bootloader.high_fuses=0xDA
atmega1284s.bootloader.extended_fuses=0xFD
atmega1284s.bootloader.path=atmega
atmega1284s.bootloader.file=ATmegaBOOT_168_atmega1284p.hex
atmega1284s.bootloader.unlock_bits=0x3F
atmega1284s.bootloader.lock_bits=0x0F
atmega1284s.build.mcu=atmega1284p
atmega1284s.build.f_cpu=20000000L
atmega1284s.build.core=arduino
#
@@ -1,470 +0,0 @@
# Makefile for ATmegaBOOT
# E.Lins, 18.7.2005
# $Id$
#
# Instructions
#
# To make bootloader .hex file:
# make diecimila
# make lilypad
# make ng
# etc...
#
# To burn bootloader .hex file:
# make diecimila_isp
# make lilypad_isp
# make ng_isp
# etc...
# program name should not be changed...
PROGRAM = optiboot
# The default behavior is to build using tools that are in the users
# current path variables, but we can also build using an installed
# Arduino user IDE setup, or the Arduino source tree.
# Uncomment this next lines to build within the arduino environment,
# using the arduino-included avrgcc toolset (mac and pc)
# ENV ?= arduino
# ENV ?= arduinodev
# OS ?= macosx
# OS ?= windows
# enter the parameters for the avrdude isp tool
ISPTOOL = stk500v2
ISPPORT = usb
ISPSPEED = -b 115200
MCU_TARGET = atmega168
LDSECTIONS = -Wl,--section-start=.text=0x3e00 -Wl,--section-start=.version=0x3ffe
# Build environments
# Start of some ugly makefile-isms to allow optiboot to be built
# in several different environments. See the README.TXT file for
# details.
# default
fixpath = $(1)
ifeq ($(ENV), arduino)
# For Arduino, we assume that we're connected to the optiboot directory
# included with the arduino distribution, which means that the full set
# of avr-tools are "right up there" in standard places.
TOOLROOT = ../../../tools
GCCROOT = $(TOOLROOT)/avr/bin/
AVRDUDE_CONF = -C$(TOOLROOT)/avr/etc/avrdude.conf
ifeq ($(OS), windows)
# On windows, SOME of the tool paths will need to have backslashes instead
# of forward slashes (because they use windows cmd.exe for execution instead
# of a unix/mingw shell?) We also have to ensure that a consistent shell
# is used even if a unix shell is installed (ie as part of WINAVR)
fixpath = $(subst /,\,$1)
SHELL = cmd.exe
endif
else ifeq ($(ENV), arduinodev)
# Arduino IDE source code environment. Use the unpacked compilers created
# by the build (you'll need to do "ant build" first.)
ifeq ($(OS), macosx)
TOOLROOT = ../../../../build/macosx/work/Arduino.app/Contents/Resources/Java/hardware/tools
endif
ifeq ($(OS), windows)
TOOLROOT = ../../../../build/windows/work/hardware/tools
endif
GCCROOT = $(TOOLROOT)/avr/bin/
AVRDUDE_CONF = -C$(TOOLROOT)/avr/etc/avrdude.conf
else
GCCROOT =
AVRDUDE_CONF =
endif
#
# End of build environment code.
# the efuse should really be 0xf8; since, however, only the lower
# three bits of that byte are used on the atmega168, avrdude gets
# confused if you specify 1's for the higher bits, see:
# http://tinker.it/now/2007/02/24/the-tale-of-avrdude-atmega168-and-extended-bits-fuses/
#
# similarly, the lock bits should be 0xff instead of 0x3f (to
# unlock the bootloader section) and 0xcf instead of 0x2f (to
# lock it), but since the high two bits of the lock byte are
# unused, avrdude would get confused.
ISPFUSES = $(GCCROOT)avrdude $(AVRDUDE_CONF) -c $(ISPTOOL) \
-p $(MCU_TARGET) -P $(ISPPORT) $(ISPSPEED) \
-e -u -U lock:w:0x3f:m -U efuse:w:0x$(EFUSE):m \
-U hfuse:w:0x$(HFUSE):m -U lfuse:w:0x$(LFUSE):m
ISPFLASH = $(GCCROOT)avrdude $(AVRDUDE_CONF) -c $(ISPTOOL) \
-p $(MCU_TARGET) -P $(ISPPORT) $(ISPSPEED) \
-U flash:w:$(PROGRAM)_$(TARGET).hex -U lock:w:0x2f:m
STK500 = "C:\Program Files\Atmel\AVR Tools\STK500\Stk500.exe"
STK500-1 = $(STK500) -e -d$(MCU_TARGET) -pf -vf -if$(PROGRAM)_$(TARGET).hex \
-lFF -LFF -f$(HFUSE)$(LFUSE) -EF8 -ms -q -cUSB -I200kHz -s -wt
STK500-2 = $(STK500) -d$(MCU_TARGET) -ms -q -lCF -LCF -cUSB -I200kHz -s -wt
OBJ = $(PROGRAM).o
OPTIMIZE = -Os -fno-inline-small-functions -fno-split-wide-types -mshort-calls
DEFS =
LIBS =
CC = $(GCCROOT)avr-gcc
# Override is only needed by avr-lib build system.
override CFLAGS = -g -Wall $(OPTIMIZE) -mmcu=$(MCU_TARGET) -DF_CPU=$(AVR_FREQ) $(DEFS)
override LDFLAGS = $(LDSECTIONS) -Wl,--relax -Wl,--gc-sections -nostartfiles -nostdlib
OBJCOPY = $(GCCROOT)avr-objcopy
OBJDUMP = $(call fixpath,$(GCCROOT)avr-objdump)
SIZE = $(GCCROOT)avr-size
# Test platforms
# Virtual boot block test
virboot328: TARGET = atmega328
virboot328: MCU_TARGET = atmega328p
virboot328: CFLAGS += '-DLED_START_FLASHES=3' '-DBAUD_RATE=115200' '-DVIRTUAL_BOOT'
virboot328: AVR_FREQ = 16000000L
virboot328: LDSECTIONS = -Wl,--section-start=.text=0x7e00 -Wl,--section-start=.version=0x7ffe
virboot328: $(PROGRAM)_atmega328.hex
virboot328: $(PROGRAM)_atmega328.lst
# 20MHz clocked platforms
#
# These are capable of 230400 baud, or 115200 baud on PC (Arduino Avrdude issue)
#
pro20: TARGET = pro_20mhz
pro20: MCU_TARGET = atmega168
pro20: CFLAGS += '-DLED_START_FLASHES=3' '-DBAUD_RATE=115200'
pro20: AVR_FREQ = 20000000L
pro20: $(PROGRAM)_pro_20mhz.hex
pro20: $(PROGRAM)_pro_20mhz.lst
pro20_isp: pro20
pro20_isp: TARGET = pro_20mhz
# 2.7V brownout
pro20_isp: HFUSE = DD
# Full swing xtal (20MHz) 258CK/14CK+4.1ms
pro20_isp: LFUSE = C6
# 512 byte boot
pro20_isp: EFUSE = 04
pro20_isp: isp
# 16MHz clocked platforms
#
# These are capable of 230400 baud, or 115200 baud on PC (Arduino Avrdude issue)
#
pro16: TARGET = pro_16MHz
pro16: MCU_TARGET = atmega168
pro16: CFLAGS += '-DLED_START_FLASHES=3' '-DBAUD_RATE=115200'
pro16: AVR_FREQ = 16000000L
pro16: $(PROGRAM)_pro_16MHz.hex
pro16: $(PROGRAM)_pro_16MHz.lst
pro16_isp: pro16
pro16_isp: TARGET = pro_16MHz
# 2.7V brownout
pro16_isp: HFUSE = DD
# Full swing xtal (20MHz) 258CK/14CK+4.1ms
pro16_isp: LFUSE = C6
# 512 byte boot
pro16_isp: EFUSE = 04
pro16_isp: isp
# Diecimila, Duemilanove with m168, and NG use identical bootloaders
# Call it "atmega168" for generality and clarity, keep "diecimila" for
# backward compatibility of makefile
#
atmega168: TARGET = atmega168
atmega168: MCU_TARGET = atmega168
atmega168: CFLAGS += '-DLED_START_FLASHES=3' '-DBAUD_RATE=115200'
atmega168: AVR_FREQ = 16000000L
atmega168: $(PROGRAM)_atmega168.hex
atmega168: $(PROGRAM)_atmega168.lst
atmega168_isp: atmega168
atmega168_isp: TARGET = atmega168
# 2.7V brownout
atmega168_isp: HFUSE = DD
# Low power xtal (16MHz) 16KCK/14CK+65ms
atmega168_isp: LFUSE = FF
# 512 byte boot
atmega168_isp: EFUSE = 04
atmega168_isp: isp
diecimila: TARGET = diecimila
diecimila: MCU_TARGET = atmega168
diecimila: CFLAGS += '-DLED_START_FLASHES=3' '-DBAUD_RATE=115200'
diecimila: AVR_FREQ = 16000000L
diecimila: $(PROGRAM)_diecimila.hex
diecimila: $(PROGRAM)_diecimila.lst
diecimila_isp: diecimila
diecimila_isp: TARGET = diecimila
# 2.7V brownout
diecimila_isp: HFUSE = DD
# Low power xtal (16MHz) 16KCK/14CK+65ms
diecimila_isp: LFUSE = FF
# 512 byte boot
diecimila_isp: EFUSE = 04
diecimila_isp: isp
atmega328: TARGET = atmega328
atmega328: MCU_TARGET = atmega328p
atmega328: CFLAGS += '-DLED_START_FLASHES=3' '-DBAUD_RATE=115200'
atmega328: AVR_FREQ = 16000000L
atmega328: LDSECTIONS = -Wl,--section-start=.text=0x7e00 -Wl,--section-start=.version=0x7ffe
atmega328: $(PROGRAM)_atmega328.hex
atmega328: $(PROGRAM)_atmega328.lst
atmega328_isp: atmega328
atmega328_isp: TARGET = atmega328
atmega328_isp: MCU_TARGET = atmega328p
# 512 byte boot, SPIEN
atmega328_isp: HFUSE = DE
# Low power xtal (16MHz) 16KCK/14CK+65ms
atmega328_isp: LFUSE = FF
# 2.7V brownout
atmega328_isp: EFUSE = 05
atmega328_isp: isp
atmega1284: TARGET = atmega1284p
atmega1284: MCU_TARGET = atmega1284p
atmega1284: CFLAGS += '-DLED_START_FLASHES=3' '-DBAUD_RATE=115200' '-DBIGBOOT'
atmega1284: AVR_FREQ = 16000000L
atmega1284: LDSECTIONS = -Wl,--section-start=.text=0x1fc00
atmega1284: $(PROGRAM)_atmega1284p.hex
atmega1284: $(PROGRAM)_atmega1284p.lst
atmega1284_isp: atmega1284
atmega1284_isp: TARGET = atmega1284p
atmega1284_isp: MCU_TARGET = atmega1284p
# 1024 byte boot
atmega1284_isp: HFUSE = DE
# Low power xtal (16MHz) 16KCK/14CK+65ms
atmega1284_isp: LFUSE = FF
# 2.7V brownout
atmega1284_isp: EFUSE = FD
atmega1284_isp: isp
# Sanguino has a minimum boot size of 1024 bytes, so enable extra functions
#
sanguino: TARGET = atmega644p
sanguino: MCU_TARGET = atmega644p
sanguino: CFLAGS += '-DLED_START_FLASHES=3' '-DBAUD_RATE=115200' '-DBIGBOOT'
sanguino: AVR_FREQ = 16000000L
sanguino: LDSECTIONS = -Wl,--section-start=.text=0xfc00
sanguino: $(PROGRAM)_atmega644p.hex
sanguino: $(PROGRAM)_atmega644p.lst
sanguino_isp: sanguino
sanguino_isp: TARGET = atmega644p
sanguino_isp: MCU_TARGET = atmega644p
# 1024 byte boot
sanguino_isp: HFUSE = DE
# Low power xtal (16MHz) 16KCK/14CK+65ms
sanguino_isp: LFUSE = FF
# 2.7V brownout
sanguino_isp: EFUSE = 05
sanguino_isp: isp
# Mega has a minimum boot size of 1024 bytes, so enable extra functions
#mega: TARGET = atmega1280
mega: MCU_TARGET = atmega1280
mega: CFLAGS += '-DLED_START_FLASHES=3' '-DBAUD_RATE=115200' '-DBIGBOOT'
mega: AVR_FREQ = 16000000L
mega: LDSECTIONS = -Wl,--section-start=.text=0x1fc00
mega: $(PROGRAM)_atmega1280.hex
mega: $(PROGRAM)_atmega1280.lst
mega_isp: mega
mega_isp: TARGET = atmega1280
mega_isp: MCU_TARGET = atmega1280
# 1024 byte boot
mega_isp: HFUSE = DE
# Low power xtal (16MHz) 16KCK/14CK+65ms
mega_isp: LFUSE = FF
# 2.7V brownout
mega_isp: EFUSE = 05
mega_isp: isp
# ATmega8
#
atmega8: TARGET = atmega8
atmega8: MCU_TARGET = atmega8
atmega8: CFLAGS += '-DLED_START_FLASHES=3' '-DBAUD_RATE=115200'
atmega8: AVR_FREQ = 16000000L
atmega8: LDSECTIONS = -Wl,--section-start=.text=0x1e00 -Wl,--section-start=.version=0x1ffe
atmega8: $(PROGRAM)_atmega8.hex
atmega8: $(PROGRAM)_atmega8.lst
atmega8_isp: atmega8
atmega8_isp: TARGET = atmega8
atmega8_isp: MCU_TARGET = atmega8
# SPIEN, CKOPT, Bootsize=512B
atmega8_isp: HFUSE = CC
# 2.7V brownout, Low power xtal (16MHz) 16KCK/14CK+65ms
atmega8_isp: LFUSE = BF
atmega8_isp: isp
# ATmega88
#
atmega88: TARGET = atmega88
atmega88: MCU_TARGET = atmega88
atmega88: CFLAGS += '-DLED_START_FLASHES=3' '-DBAUD_RATE=115200'
atmega88: AVR_FREQ = 16000000L
atmega88: LDSECTIONS = -Wl,--section-start=.text=0x1e00 -Wl,--section-start=.version=0x1ffe
atmega88: $(PROGRAM)_atmega88.hex
atmega88: $(PROGRAM)_atmega88.lst
atmega88_isp: atmega88
atmega88_isp: TARGET = atmega88
atmega88_isp: MCU_TARGET = atmega88
# 2.7V brownout
atmega88_isp: HFUSE = DD
# Low power xtal (16MHz) 16KCK/14CK+65ms
atemga88_isp: LFUSE = FF
# 512 byte boot
atmega88_isp: EFUSE = 04
atmega88_isp: isp
# 8MHz clocked platforms
#
# These are capable of 115200 baud
#
lilypad: TARGET = lilypad
lilypad: MCU_TARGET = atmega168
lilypad: CFLAGS += '-DLED_START_FLASHES=3' '-DBAUD_RATE=115200'
lilypad: AVR_FREQ = 8000000L
lilypad: $(PROGRAM)_lilypad.hex
lilypad: $(PROGRAM)_lilypad.lst
lilypad_isp: lilypad
lilypad_isp: TARGET = lilypad
# 2.7V brownout
lilypad_isp: HFUSE = DD
# Internal 8MHz osc (8MHz) Slow rising power
lilypad_isp: LFUSE = E2
# 512 byte boot
lilypad_isp: EFUSE = 04
lilypad_isp: isp
lilypad_resonator: TARGET = lilypad_resonator
lilypad_resonator: MCU_TARGET = atmega168
lilypad_resonator: CFLAGS += '-DLED_START_FLASHES=3' '-DBAUD_RATE=115200'
lilypad_resonator: AVR_FREQ = 8000000L
lilypad_resonator: $(PROGRAM)_lilypad_resonator.hex
lilypad_resonator: $(PROGRAM)_lilypad_resonator.lst
lilypad_resonator_isp: lilypad_resonator
lilypad_resonator_isp: TARGET = lilypad_resonator
# 2.7V brownout
lilypad_resonator_isp: HFUSE = DD
# Full swing xtal (20MHz) 258CK/14CK+4.1ms
lilypad_resonator_isp: LFUSE = C6
# 512 byte boot
lilypad_resonator_isp: EFUSE = 04
lilypad_resonator_isp: isp
pro8: TARGET = pro_8MHz
pro8: MCU_TARGET = atmega168
pro8: CFLAGS += '-DLED_START_FLASHES=3' '-DBAUD_RATE=115200'
pro8: AVR_FREQ = 8000000L
pro8: $(PROGRAM)_pro_8MHz.hex
pro8: $(PROGRAM)_pro_8MHz.lst
pro8_isp: pro8
pro8_isp: TARGET = pro_8MHz
# 2.7V brownout
pro8_isp: HFUSE = DD
# Full swing xtal (20MHz) 258CK/14CK+4.1ms
pro8_isp: LFUSE = C6
# 512 byte boot
pro8_isp: EFUSE = 04
pro8_isp: isp
atmega328_pro8: TARGET = atmega328_pro_8MHz
atmega328_pro8: MCU_TARGET = atmega328p
atmega328_pro8: CFLAGS += '-DLED_START_FLASHES=3' '-DBAUD_RATE=115200'
atmega328_pro8: AVR_FREQ = 8000000L
atmega328_pro8: LDSECTIONS = -Wl,--section-start=.text=0x7e00 -Wl,--section-start=.version=0x7ffe
atmega328_pro8: $(PROGRAM)_atmega328_pro_8MHz.hex
atmega328_pro8: $(PROGRAM)_atmega328_pro_8MHz.lst
atmega328_pro8_isp: atmega328_pro8
atmega328_pro8_isp: TARGET = atmega328_pro_8MHz
atmega328_pro8_isp: MCU_TARGET = atmega328p
# 512 byte boot, SPIEN
atmega328_pro8_isp: HFUSE = DE
# Low power xtal (16MHz) 16KCK/14CK+65ms
atmega328_pro8_isp: LFUSE = FF
# 2.7V brownout
atmega328_pro8_isp: EFUSE = 05
atmega328_pro8_isp: isp
# 1MHz clocked platforms
#
# These are capable of 9600 baud
#
luminet: TARGET = luminet
luminet: MCU_TARGET = attiny84
luminet: CFLAGS += '-DLED_START_FLASHES=3' '-DSOFT_UART' '-DBAUD_RATE=9600'
luminet: CFLAGS += '-DVIRTUAL_BOOT_PARTITION'
luminet: AVR_FREQ = 1000000L
luminet: LDSECTIONS = -Wl,--section-start=.text=0x1d00 -Wl,--section-start=.version=0x1efe
luminet: $(PROGRAM)_luminet.hex
luminet: $(PROGRAM)_luminet.lst
luminet_isp: luminet
luminet_isp: TARGET = luminet
luminet_isp: MCU_TARGET = attiny84
# Brownout disabled
luminet_isp: HFUSE = DF
# 1MHz internal oscillator, slowly rising power
luminet_isp: LFUSE = 62
# Self-programming enable
luminet_isp: EFUSE = FE
luminet_isp: isp
#
# Generic build instructions
#
#
isp: $(TARGET)
$(ISPFUSES)
$(ISPFLASH)
isp-stk500: $(PROGRAM)_$(TARGET).hex
$(STK500-1)
$(STK500-2)
%.elf: $(OBJ)
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS)
$(SIZE) $@
clean:
rm -rf *.o *.elf *.lst *.map *.sym *.lss *.eep *.srec *.bin *.hex
%.lst: %.elf
$(OBJDUMP) -h -S $< > $@
%.hex: %.elf
$(OBJCOPY) -j .text -j .data -j .version --set-section-flags .version=alloc,load -O ihex $< $@
%.srec: %.elf
$(OBJCOPY) -j .text -j .data -j .version --set-section-flags .version=alloc,load -O srec $< $@
%.bin: %.elf
$(OBJCOPY) -j .text -j .data -j .version --set-section-flags .version=alloc,load -O binary $< $@
@@ -1,848 +0,0 @@
/* Modified to use out for SPM access
** Peter Knight, Optiboot project http://optiboot.googlecode.com
**
** Todo: Tidy up
**
** "_short" routines execute 1 cycle faster and use 1 less word of flash
** by using "out" instruction instead of "sts".
**
** Additional elpm variants that trust the value of RAMPZ
*/
/* Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007 Eric B. Weddington
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
* Neither the name of the copyright holders nor the names of
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE. */
/* $Id: boot.h,v 1.27.2.3 2008/09/30 13:58:48 arcanum Exp $ */
#ifndef _AVR_BOOT_H_
#define _AVR_BOOT_H_ 1
/** \file */
/** \defgroup avr_boot <avr/boot.h>: Bootloader Support Utilities
\code
#include <avr/io.h>
#include <avr/boot.h>
\endcode
The macros in this module provide a C language interface to the
bootloader support functionality of certain AVR processors. These
macros are designed to work with all sizes of flash memory.
Global interrupts are not automatically disabled for these macros. It
is left up to the programmer to do this. See the code example below.
Also see the processor datasheet for caveats on having global interrupts
enabled during writing of the Flash.
\note Not all AVR processors provide bootloader support. See your
processor datasheet to see if it provides bootloader support.
\todo From email with Marek: On smaller devices (all except ATmega64/128),
__SPM_REG is in the I/O space, accessible with the shorter "in" and "out"
instructions - since the boot loader has a limited size, this could be an
important optimization.
\par API Usage Example
The following code shows typical usage of the boot API.
\code
#include <inttypes.h>
#include <avr/interrupt.h>
#include <avr/pgmspace.h>
void boot_program_page (uint32_t page, uint8_t *buf)
{
uint16_t i;
uint8_t sreg;
// Disable interrupts.
sreg = SREG;
cli();
eeprom_busy_wait ();
boot_page_erase (page);
boot_spm_busy_wait (); // Wait until the memory is erased.
for (i=0; i<SPM_PAGESIZE; i+=2)
{
// Set up little-endian word.
uint16_t w = *buf++;
w += (*buf++) << 8;
boot_page_fill (page + i, w);
}
boot_page_write (page); // Store buffer in flash page.
boot_spm_busy_wait(); // Wait until the memory is written.
// Reenable RWW-section again. We need this if we want to jump back
// to the application after bootloading.
boot_rww_enable ();
// Re-enable interrupts (if they were ever enabled).
SREG = sreg;
}\endcode */
#include <avr/eeprom.h>
#include <avr/io.h>
#include <inttypes.h>
#include <limits.h>
/* Check for SPM Control Register in processor. */
#if defined (SPMCSR)
# define __SPM_REG SPMCSR
#elif defined (SPMCR)
# define __SPM_REG SPMCR
#else
# error AVR processor does not provide bootloader support!
#endif
/* Check for SPM Enable bit. */
#if defined(SPMEN)
# define __SPM_ENABLE SPMEN
#elif defined(SELFPRGEN)
# define __SPM_ENABLE SELFPRGEN
#else
# error Cannot find SPM Enable bit definition!
#endif
/** \ingroup avr_boot
\def BOOTLOADER_SECTION
Used to declare a function or variable to be placed into a
new section called .bootloader. This section and its contents
can then be relocated to any address (such as the bootloader
NRWW area) at link-time. */
#define BOOTLOADER_SECTION __attribute__ ((section (".bootloader")))
/* Create common bit definitions. */
#ifdef ASB
#define __COMMON_ASB ASB
#else
#define __COMMON_ASB RWWSB
#endif
#ifdef ASRE
#define __COMMON_ASRE ASRE
#else
#define __COMMON_ASRE RWWSRE
#endif
/* Define the bit positions of the Boot Lock Bits. */
#define BLB12 5
#define BLB11 4
#define BLB02 3
#define BLB01 2
/** \ingroup avr_boot
\def boot_spm_interrupt_enable()
Enable the SPM interrupt. */
#define boot_spm_interrupt_enable() (__SPM_REG |= (uint8_t)_BV(SPMIE))
/** \ingroup avr_boot
\def boot_spm_interrupt_disable()
Disable the SPM interrupt. */
#define boot_spm_interrupt_disable() (__SPM_REG &= (uint8_t)~_BV(SPMIE))
/** \ingroup avr_boot
\def boot_is_spm_interrupt()
Check if the SPM interrupt is enabled. */
#define boot_is_spm_interrupt() (__SPM_REG & (uint8_t)_BV(SPMIE))
/** \ingroup avr_boot
\def boot_rww_busy()
Check if the RWW section is busy. */
#define boot_rww_busy() (__SPM_REG & (uint8_t)_BV(__COMMON_ASB))
/** \ingroup avr_boot
\def boot_spm_busy()
Check if the SPM instruction is busy. */
#define boot_spm_busy() (__SPM_REG & (uint8_t)_BV(__SPM_ENABLE))
/** \ingroup avr_boot
\def boot_spm_busy_wait()
Wait while the SPM instruction is busy. */
#define boot_spm_busy_wait() do{}while(boot_spm_busy())
#define __BOOT_PAGE_ERASE (_BV(__SPM_ENABLE) | _BV(PGERS))
#define __BOOT_PAGE_WRITE (_BV(__SPM_ENABLE) | _BV(PGWRT))
#define __BOOT_PAGE_FILL _BV(__SPM_ENABLE)
#define __BOOT_RWW_ENABLE (_BV(__SPM_ENABLE) | _BV(__COMMON_ASRE))
#define __BOOT_LOCK_BITS_SET (_BV(__SPM_ENABLE) | _BV(BLBSET))
#define __boot_page_fill_short(address, data) \
(__extension__({ \
__asm__ __volatile__ \
( \
"movw r0, %3\n\t" \
"out %0, %1\n\t" \
"spm\n\t" \
"clr r1\n\t" \
: \
: "i" (_SFR_IO_ADDR(__SPM_REG)), \
"r" ((uint8_t)__BOOT_PAGE_FILL), \
"z" ((uint16_t)address), \
"r" ((uint16_t)data) \
: "r0" \
); \
}))
#define __boot_page_fill_normal(address, data) \
(__extension__({ \
__asm__ __volatile__ \
( \
"movw r0, %3\n\t" \
"sts %0, %1\n\t" \
"spm\n\t" \
"clr r1\n\t" \
: \
: "i" (_SFR_MEM_ADDR(__SPM_REG)), \
"r" ((uint8_t)__BOOT_PAGE_FILL), \
"z" ((uint16_t)address), \
"r" ((uint16_t)data) \
: "r0" \
); \
}))
#define __boot_page_fill_alternate(address, data)\
(__extension__({ \
__asm__ __volatile__ \
( \
"movw r0, %3\n\t" \
"sts %0, %1\n\t" \
"spm\n\t" \
".word 0xffff\n\t" \
"nop\n\t" \
"clr r1\n\t" \
: \
: "i" (_SFR_MEM_ADDR(__SPM_REG)), \
"r" ((uint8_t)__BOOT_PAGE_FILL), \
"z" ((uint16_t)address), \
"r" ((uint16_t)data) \
: "r0" \
); \
}))
#define __boot_page_fill_extended(address, data) \
(__extension__({ \
__asm__ __volatile__ \
( \
"movw r0, %4\n\t" \
"movw r30, %A3\n\t" \
"sts %1, %C3\n\t" \
"sts %0, %2\n\t" \
"spm\n\t" \
"clr r1\n\t" \
: \
: "i" (_SFR_MEM_ADDR(__SPM_REG)), \
"i" (_SFR_MEM_ADDR(RAMPZ)), \
"r" ((uint8_t)__BOOT_PAGE_FILL), \
"r" ((uint32_t)address), \
"r" ((uint16_t)data) \
: "r0", "r30", "r31" \
); \
}))
#define __boot_page_fill_extended_short(address, data) \
(__extension__({ \
__asm__ __volatile__ \
( \
"movw r0, %4\n\t" \
"movw r30, %A3\n\t" \
"out %1, %C3\n\t" \
"out %0, %2\n\t" \
"spm\n\t" \
"clr r1\n\t" \
: \
: "i" (_SFR_IO_ADDR(__SPM_REG)), \
"i" (_SFR_IO_ADDR(RAMPZ)), \
"r" ((uint8_t)__BOOT_PAGE_FILL), \
"r" ((uint32_t)address), \
"r" ((uint16_t)data) \
: "r0", "r30", "r31" \
); \
}))
#define __boot_page_erase_short(address) \
(__extension__({ \
__asm__ __volatile__ \
( \
"out %0, %1\n\t" \
"spm\n\t" \
: \
: "i" (_SFR_IO_ADDR(__SPM_REG)), \
"r" ((uint8_t)__BOOT_PAGE_ERASE), \
"z" ((uint16_t)address) \
); \
}))
#define __boot_page_erase_normal(address) \
(__extension__({ \
__asm__ __volatile__ \
( \
"sts %0, %1\n\t" \
"spm\n\t" \
: \
: "i" (_SFR_MEM_ADDR(__SPM_REG)), \
"r" ((uint8_t)__BOOT_PAGE_ERASE), \
"z" ((uint16_t)address) \
); \
}))
#define __boot_page_erase_alternate(address) \
(__extension__({ \
__asm__ __volatile__ \
( \
"sts %0, %1\n\t" \
"spm\n\t" \
".word 0xffff\n\t" \
"nop\n\t" \
: \
: "i" (_SFR_MEM_ADDR(__SPM_REG)), \
"r" ((uint8_t)__BOOT_PAGE_ERASE), \
"z" ((uint16_t)address) \
); \
}))
#define __boot_page_erase_extended(address) \
(__extension__({ \
__asm__ __volatile__ \
( \
"movw r30, %A3\n\t" \
"sts %1, %C3\n\t" \
"sts %0, %2\n\t" \
"spm\n\t" \
: \
: "i" (_SFR_MEM_ADDR(__SPM_REG)), \
"i" (_SFR_MEM_ADDR(RAMPZ)), \
"r" ((uint8_t)__BOOT_PAGE_ERASE), \
"r" ((uint32_t)address) \
: "r30", "r31" \
); \
}))
#define __boot_page_erase_extended_short(address) \
(__extension__({ \
__asm__ __volatile__ \
( \
"movw r30, %A3\n\t" \
"out %1, %C3\n\t" \
"out %0, %2\n\t" \
"spm\n\t" \
: \
: "i" (_SFR_IO_ADDR(__SPM_REG)), \
"i" (_SFR_IO_ADDR(RAMPZ)), \
"r" ((uint8_t)__BOOT_PAGE_ERASE), \
"r" ((uint32_t)address) \
: "r30", "r31" \
); \
}))
#define __boot_page_write_short(address) \
(__extension__({ \
__asm__ __volatile__ \
( \
"out %0, %1\n\t" \
"spm\n\t" \
: \
: "i" (_SFR_IO_ADDR(__SPM_REG)), \
"r" ((uint8_t)__BOOT_PAGE_WRITE), \
"z" ((uint16_t)address) \
); \
}))
#define __boot_page_write_normal(address) \
(__extension__({ \
__asm__ __volatile__ \
( \
"sts %0, %1\n\t" \
"spm\n\t" \
: \
: "i" (_SFR_MEM_ADDR(__SPM_REG)), \
"r" ((uint8_t)__BOOT_PAGE_WRITE), \
"z" ((uint16_t)address) \
); \
}))
#define __boot_page_write_alternate(address) \
(__extension__({ \
__asm__ __volatile__ \
( \
"sts %0, %1\n\t" \
"spm\n\t" \
".word 0xffff\n\t" \
"nop\n\t" \
: \
: "i" (_SFR_MEM_ADDR(__SPM_REG)), \
"r" ((uint8_t)__BOOT_PAGE_WRITE), \
"z" ((uint16_t)address) \
); \
}))
#define __boot_page_write_extended(address) \
(__extension__({ \
__asm__ __volatile__ \
( \
"movw r30, %A3\n\t" \
"sts %1, %C3\n\t" \
"sts %0, %2\n\t" \
"spm\n\t" \
: \
: "i" (_SFR_MEM_ADDR(__SPM_REG)), \
"i" (_SFR_MEM_ADDR(RAMPZ)), \
"r" ((uint8_t)__BOOT_PAGE_WRITE), \
"r" ((uint32_t)address) \
: "r30", "r31" \
); \
}))
#define __boot_page_write_extended_short(address) \
(__extension__({ \
__asm__ __volatile__ \
( \
"movw r30, %A3\n\t" \
"out %1, %C3\n\t" \
"out %0, %2\n\t" \
"spm\n\t" \
: \
: "i" (_SFR_IO_ADDR(__SPM_REG)), \
"i" (_SFR_IO_ADDR(RAMPZ)), \
"r" ((uint8_t)__BOOT_PAGE_WRITE), \
"r" ((uint32_t)address) \
: "r30", "r31" \
); \
}))
#define __boot_rww_enable_short() \
(__extension__({ \
__asm__ __volatile__ \
( \
"out %0, %1\n\t" \
"spm\n\t" \
: \
: "i" (_SFR_IO_ADDR(__SPM_REG)), \
"r" ((uint8_t)__BOOT_RWW_ENABLE) \
); \
}))
#define __boot_rww_enable() \
(__extension__({ \
__asm__ __volatile__ \
( \
"sts %0, %1\n\t" \
"spm\n\t" \
: \
: "i" (_SFR_MEM_ADDR(__SPM_REG)), \
"r" ((uint8_t)__BOOT_RWW_ENABLE) \
); \
}))
#define __boot_rww_enable_alternate() \
(__extension__({ \
__asm__ __volatile__ \
( \
"sts %0, %1\n\t" \
"spm\n\t" \
".word 0xffff\n\t" \
"nop\n\t" \
: \
: "i" (_SFR_MEM_ADDR(__SPM_REG)), \
"r" ((uint8_t)__BOOT_RWW_ENABLE) \
); \
}))
/* From the mega16/mega128 data sheets (maybe others):
Bits by SPM To set the Boot Loader Lock bits, write the desired data to
R0, write "X0001001" to SPMCR and execute SPM within four clock cycles
after writing SPMCR. The only accessible Lock bits are the Boot Lock bits
that may prevent the Application and Boot Loader section from any
software update by the MCU.
If bits 5..2 in R0 are cleared (zero), the corresponding Boot Lock bit
will be programmed if an SPM instruction is executed within four cycles
after BLBSET and SPMEN (or SELFPRGEN) are set in SPMCR. The Z-pointer is
don't care during this operation, but for future compatibility it is
recommended to load the Z-pointer with $0001 (same as used for reading the
Lock bits). For future compatibility It is also recommended to set bits 7,
6, 1, and 0 in R0 to 1 when writing the Lock bits. When programming the
Lock bits the entire Flash can be read during the operation. */
#define __boot_lock_bits_set_short(lock_bits) \
(__extension__({ \
uint8_t value = (uint8_t)(~(lock_bits)); \
__asm__ __volatile__ \
( \
"ldi r30, 1\n\t" \
"ldi r31, 0\n\t" \
"mov r0, %2\n\t" \
"out %0, %1\n\t" \
"spm\n\t" \
: \
: "i" (_SFR_IO_ADDR(__SPM_REG)), \
"r" ((uint8_t)__BOOT_LOCK_BITS_SET), \
"r" (value) \
: "r0", "r30", "r31" \
); \
}))
#define __boot_lock_bits_set(lock_bits) \
(__extension__({ \
uint8_t value = (uint8_t)(~(lock_bits)); \
__asm__ __volatile__ \
( \
"ldi r30, 1\n\t" \
"ldi r31, 0\n\t" \
"mov r0, %2\n\t" \
"sts %0, %1\n\t" \
"spm\n\t" \
: \
: "i" (_SFR_MEM_ADDR(__SPM_REG)), \
"r" ((uint8_t)__BOOT_LOCK_BITS_SET), \
"r" (value) \
: "r0", "r30", "r31" \
); \
}))
#define __boot_lock_bits_set_alternate(lock_bits) \
(__extension__({ \
uint8_t value = (uint8_t)(~(lock_bits)); \
__asm__ __volatile__ \
( \
"ldi r30, 1\n\t" \
"ldi r31, 0\n\t" \
"mov r0, %2\n\t" \
"sts %0, %1\n\t" \
"spm\n\t" \
".word 0xffff\n\t" \
"nop\n\t" \
: \
: "i" (_SFR_MEM_ADDR(__SPM_REG)), \
"r" ((uint8_t)__BOOT_LOCK_BITS_SET), \
"r" (value) \
: "r0", "r30", "r31" \
); \
}))
/*
Reading lock and fuse bits:
Similarly to writing the lock bits above, set BLBSET and SPMEN (or
SELFPRGEN) bits in __SPMREG, and then (within four clock cycles) issue an
LPM instruction.
Z address: contents:
0x0000 low fuse bits
0x0001 lock bits
0x0002 extended fuse bits
0x0003 high fuse bits
Sounds confusing, doesn't it?
Unlike the macros in pgmspace.h, no need to care for non-enhanced
cores here as these old cores do not provide SPM support anyway.
*/
/** \ingroup avr_boot
\def GET_LOW_FUSE_BITS
address to read the low fuse bits, using boot_lock_fuse_bits_get
*/
#define GET_LOW_FUSE_BITS (0x0000)
/** \ingroup avr_boot
\def GET_LOCK_BITS
address to read the lock bits, using boot_lock_fuse_bits_get
*/
#define GET_LOCK_BITS (0x0001)
/** \ingroup avr_boot
\def GET_EXTENDED_FUSE_BITS
address to read the extended fuse bits, using boot_lock_fuse_bits_get
*/
#define GET_EXTENDED_FUSE_BITS (0x0002)
/** \ingroup avr_boot
\def GET_HIGH_FUSE_BITS
address to read the high fuse bits, using boot_lock_fuse_bits_get
*/
#define GET_HIGH_FUSE_BITS (0x0003)
/** \ingroup avr_boot
\def boot_lock_fuse_bits_get(address)
Read the lock or fuse bits at \c address.
Parameter \c address can be any of GET_LOW_FUSE_BITS,
GET_LOCK_BITS, GET_EXTENDED_FUSE_BITS, or GET_HIGH_FUSE_BITS.
\note The lock and fuse bits returned are the physical values,
i.e. a bit returned as 0 means the corresponding fuse or lock bit
is programmed.
*/
#define boot_lock_fuse_bits_get_short(address) \
(__extension__({ \
uint8_t __result; \
__asm__ __volatile__ \
( \
"ldi r30, %3\n\t" \
"ldi r31, 0\n\t" \
"out %1, %2\n\t" \
"lpm %0, Z\n\t" \
: "=r" (__result) \
: "i" (_SFR_IO_ADDR(__SPM_REG)), \
"r" ((uint8_t)__BOOT_LOCK_BITS_SET), \
"M" (address) \
: "r0", "r30", "r31" \
); \
__result; \
}))
#define boot_lock_fuse_bits_get(address) \
(__extension__({ \
uint8_t __result; \
__asm__ __volatile__ \
( \
"ldi r30, %3\n\t" \
"ldi r31, 0\n\t" \
"sts %1, %2\n\t" \
"lpm %0, Z\n\t" \
: "=r" (__result) \
: "i" (_SFR_MEM_ADDR(__SPM_REG)), \
"r" ((uint8_t)__BOOT_LOCK_BITS_SET), \
"M" (address) \
: "r0", "r30", "r31" \
); \
__result; \
}))
/** \ingroup avr_boot
\def boot_signature_byte_get(address)
Read the Signature Row byte at \c address. For some MCU types,
this function can also retrieve the factory-stored oscillator
calibration bytes.
Parameter \c address can be 0-0x1f as documented by the datasheet.
\note The values are MCU type dependent.
*/
#define __BOOT_SIGROW_READ (_BV(__SPM_ENABLE) | _BV(SIGRD))
#define boot_signature_byte_get_short(addr) \
(__extension__({ \
uint16_t __addr16 = (uint16_t)(addr); \
uint8_t __result; \
__asm__ __volatile__ \
( \
"out %1, %2\n\t" \
"lpm %0, Z" "\n\t" \
: "=r" (__result) \
: "i" (_SFR_IO_ADDR(__SPM_REG)), \
"r" ((uint8_t) __BOOT_SIGROW_READ), \
"z" (__addr16) \
); \
__result; \
}))
#define boot_signature_byte_get(addr) \
(__extension__({ \
uint16_t __addr16 = (uint16_t)(addr); \
uint8_t __result; \
__asm__ __volatile__ \
( \
"sts %1, %2\n\t" \
"lpm %0, Z" "\n\t" \
: "=r" (__result) \
: "i" (_SFR_MEM_ADDR(__SPM_REG)), \
"r" ((uint8_t) __BOOT_SIGROW_READ), \
"z" (__addr16) \
); \
__result; \
}))
/** \ingroup avr_boot
\def boot_page_fill(address, data)
Fill the bootloader temporary page buffer for flash
address with data word.
\note The address is a byte address. The data is a word. The AVR
writes data to the buffer a word at a time, but addresses the buffer
per byte! So, increment your address by 2 between calls, and send 2
data bytes in a word format! The LSB of the data is written to the lower
address; the MSB of the data is written to the higher address.*/
/** \ingroup avr_boot
\def boot_page_erase(address)
Erase the flash page that contains address.
\note address is a byte address in flash, not a word address. */
/** \ingroup avr_boot
\def boot_page_write(address)
Write the bootloader temporary page buffer
to flash page that contains address.
\note address is a byte address in flash, not a word address. */
/** \ingroup avr_boot
\def boot_rww_enable()
Enable the Read-While-Write memory section. */
/** \ingroup avr_boot
\def boot_lock_bits_set(lock_bits)
Set the bootloader lock bits.
\param lock_bits A mask of which Boot Loader Lock Bits to set.
\note In this context, a 'set bit' will be written to a zero value.
Note also that only BLBxx bits can be programmed by this command.
For example, to disallow the SPM instruction from writing to the Boot
Loader memory section of flash, you would use this macro as such:
\code
boot_lock_bits_set (_BV (BLB11));
\endcode
\note Like any lock bits, the Boot Loader Lock Bits, once set,
cannot be cleared again except by a chip erase which will in turn
also erase the boot loader itself. */
/* Normal versions of the macros use 16-bit addresses.
Extended versions of the macros use 32-bit addresses.
Alternate versions of the macros use 16-bit addresses and require special
instruction sequences after LPM.
FLASHEND is defined in the ioXXXX.h file.
USHRT_MAX is defined in <limits.h>. */
#if defined(__AVR_ATmega161__) || defined(__AVR_ATmega163__) \
|| defined(__AVR_ATmega323__)
/* Alternate: ATmega161/163/323 and 16 bit address */
#define boot_page_fill(address, data) __boot_page_fill_alternate(address, data)
#define boot_page_erase(address) __boot_page_erase_alternate(address)
#define boot_page_write(address) __boot_page_write_alternate(address)
#define boot_rww_enable() __boot_rww_enable_alternate()
#define boot_lock_bits_set(lock_bits) __boot_lock_bits_set_alternate(lock_bits)
#elif (FLASHEND > USHRT_MAX)
/* Extended: >16 bit address */
#define boot_page_fill(address, data) __boot_page_fill_extended_short(address, data)
#define boot_page_erase(address) __boot_page_erase_extended_short(address)
#define boot_page_write(address) __boot_page_write_extended_short(address)
#define boot_rww_enable() __boot_rww_enable_short()
#define boot_lock_bits_set(lock_bits) __boot_lock_bits_set_short(lock_bits)
#else
/* Normal: 16 bit address */
#define boot_page_fill(address, data) __boot_page_fill_short(address, data)
#define boot_page_erase(address) __boot_page_erase_short(address)
#define boot_page_write(address) __boot_page_write_short(address)
#define boot_rww_enable() __boot_rww_enable_short()
#define boot_lock_bits_set(lock_bits) __boot_lock_bits_set_short(lock_bits)
#endif
/** \ingroup avr_boot
Same as boot_page_fill() except it waits for eeprom and spm operations to
complete before filling the page. */
#define boot_page_fill_safe(address, data) \
do { \
boot_spm_busy_wait(); \
eeprom_busy_wait(); \
boot_page_fill(address, data); \
} while (0)
/** \ingroup avr_boot
Same as boot_page_erase() except it waits for eeprom and spm operations to
complete before erasing the page. */
#define boot_page_erase_safe(address) \
do { \
boot_spm_busy_wait(); \
eeprom_busy_wait(); \
boot_page_erase (address); \
} while (0)
/** \ingroup avr_boot
Same as boot_page_write() except it waits for eeprom and spm operations to
complete before writing the page. */
#define boot_page_write_safe(address) \
do { \
boot_spm_busy_wait(); \
eeprom_busy_wait(); \
boot_page_write (address); \
} while (0)
/** \ingroup avr_boot
Same as boot_rww_enable() except waits for eeprom and spm operations to
complete before enabling the RWW mameory. */
#define boot_rww_enable_safe() \
do { \
boot_spm_busy_wait(); \
eeprom_busy_wait(); \
boot_rww_enable(); \
} while (0)
/** \ingroup avr_boot
Same as boot_lock_bits_set() except waits for eeprom and spm operations to
complete before setting the lock bits. */
#define boot_lock_bits_set_safe(lock_bits) \
do { \
boot_spm_busy_wait(); \
eeprom_busy_wait(); \
boot_lock_bits_set (lock_bits); \
} while (0)
#endif /* _AVR_BOOT_H_ */
@@ -1,724 +0,0 @@
/**********************************************************/
/* -Wl,-section-start=bootloader=0x1fc00 */
/* Optiboot bootloader for Arduino */
/* */
/* http://optiboot.googlecode.com */
/* */
/* Arduino-maintained version : See README.TXT */
/* http://code.google.com/p/arduino/ */
/* */
/* Heavily optimised bootloader that is faster and */
/* smaller than the Arduino standard bootloader */
/* */
/* Enhancements: */
/* Fits in 512 bytes, saving 1.5K of code space */
/* Background page erasing speeds up programming */
/* Higher baud rate speeds up programming */
/* Written almost entirely in C */
/* Customisable timeout with accurate timeconstant */
/* Optional virtual UART. No hardware UART required. */
/* Optional virtual boot partition for devices without. */
/* */
/* What you lose: */
/* Implements a skeleton STK500 protocol which is */
/* missing several features including EEPROM */
/* programming and non-page-aligned writes */
/* High baud rate breaks compatibility with standard */
/* Arduino flash settings */
/* */
/* Fully supported: */
/* ATmega168 based devices (Diecimila etc) */
/* ATmega328P based devices (Duemilanove etc) */
/* */
/* Alpha test */
/* ATmega1280 based devices (Arduino Mega) */
/* */
/* Work in progress: */
/* ATmega644P based devices (Sanguino) */
/* ATtiny84 based devices (Luminet) */
/* */
/* Does not support: */
/* USB based devices (eg. Teensy) */
/* */
/* Assumptions: */
/* The code makes several assumptions that reduce the */
/* code size. They are all true after a hardware reset, */
/* but may not be true if the bootloader is called by */
/* other means or on other hardware. */
/* No interrupts can occur */
/* UART and Timer 1 are set to their reset state */
/* SP points to RAMEND */
/* */
/* Code builds on code, libraries and optimisations from: */
/* stk500boot.c by Jason P. Kyle */
/* Arduino bootloader http://arduino.cc */
/* Spiff's 1K bootloader http://spiffie.org/know/arduino_1k_bootloader/bootloader.shtml */
/* avr-libc project http://nongnu.org/avr-libc */
/* Adaboot http://www.ladyada.net/library/arduino/bootloader.html */
/* AVR305 Atmel Application Note */
/* */
/* This program is free software; you can redistribute it */
/* and/or modify it under the terms of the GNU General */
/* Public License as published by the Free Software */
/* Foundation; either version 2 of the License, or */
/* (at your option) any later version. */
/* */
/* This program is distributed in the hope that it will */
/* be useful, but WITHOUT ANY WARRANTY; without even the */
/* implied warranty of MERCHANTABILITY or FITNESS FOR A */
/* PARTICULAR PURPOSE. See the GNU General Public */
/* License for more details. */
/* */
/* You should have received a copy of the GNU General */
/* Public License along with this program; if not, write */
/* to the Free Software Foundation, Inc., */
/* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
/* */
/* Licence can be viewed at */
/* http://www.fsf.org/licenses/gpl.txt */
/* */
/**********************************************************/
/**********************************************************/
/* */
/* Optional defines: */
/* */
/**********************************************************/
/* */
/* BIG_BOOT: */
/* Build a 1k bootloader, not 512 bytes. This turns on */
/* extra functionality. */
/* */
/* BAUD_RATE: */
/* Set bootloader baud rate. */
/* */
/* LUDICROUS_SPEED: */
/* 230400 baud :-) */
/* */
/* SOFT_UART: */
/* Use AVR305 soft-UART instead of hardware UART. */
/* */
/* LED_START_FLASHES: */
/* Number of LED flashes on bootup. */
/* */
/* LED_DATA_FLASH: */
/* Flash LED when transferring data. For boards without */
/* TX or RX LEDs, or for people who like blinky lights. */
/* */
/* SUPPORT_EEPROM: */
/* Support reading and writing from EEPROM. This is not */
/* used by Arduino, so off by default. */
/* */
/* TIMEOUT_MS: */
/* Bootloader timeout period, in milliseconds. */
/* 500,1000,2000,4000,8000 supported. */
/* */
/**********************************************************/
/**********************************************************/
/* Version Numbers! */
/* */
/* Arduino Optiboot now includes this Version number in */
/* the source and object code. */
/* */
/* Version 3 was released as zip from the optiboot */
/* repository and was distributed with Arduino 0022. */
/* Version 4 starts with the arduino repository commit */
/* that brought the arduino repository up-to-date with */
/* the optiboot source tree changes since v3. */
/* */
/**********************************************************/
/**********************************************************/
/* Edit History: */
/* */
/* Jan 2012: */
/* 4.5 WestfW: fix NRWW value for m1284. */
/* 4.4 WestfW: use attribute OS_main instead of naked for */
/* main(). This allows optimizations that we */
/* count on, which are prohibited in naked */
/* functions due to PR42240. (keeps us less */
/* than 512 bytes when compiler is gcc4.5 */
/* (code from 4.3.2 remains the same.) */
/* 4.4 WestfW and Maniacbug: Add m1284 support. This */
/* does not change the 328 binary, so the */
/* version number didn't change either. (?) */
/* June 2011: */
/* 4.4 WestfW: remove automatic soft_uart detect (didn't */
/* know what it was doing or why.) Added a */
/* check of the calculated BRG value instead. */
/* Version stays 4.4; existing binaries are */
/* not changed. */
/* 4.4 WestfW: add initialization of address to keep */
/* the compiler happy. Change SC'ed targets. */
/* Return the SW version via READ PARAM */
/* 4.3 WestfW: catch framing errors in getch(), so that */
/* AVRISP works without HW kludges. */
/* http://code.google.com/p/arduino/issues/detail?id=368n*/
/* 4.2 WestfW: reduce code size, fix timeouts, change */
/* verifySpace to use WDT instead of appstart */
/* 4.1 WestfW: put version number in binary. */
/**********************************************************/
#define OPTIBOOT_MAJVER 4
#define OPTIBOOT_MINVER 5
#define MAKESTR(a) #a
#define MAKEVER(a, b) MAKESTR(a*256+b)
asm(" .section .version\n"
"optiboot_version: .word " MAKEVER(OPTIBOOT_MAJVER, OPTIBOOT_MINVER) "\n"
" .section .text\n");
#include <inttypes.h>
#include <avr/io.h>
#include <avr/pgmspace.h>
// <avr/boot.h> uses sts instructions, but this version uses out instructions
// This saves cycles and program memory.
#include "boot.h"
// We don't use <avr/wdt.h> as those routines have interrupt overhead we don't need.
#include "pin_defs.h"
#include "stk500.h"
#ifndef LED_START_FLASHES
#define LED_START_FLASHES 0
#endif
#ifdef LUDICROUS_SPEED
#define BAUD_RATE 230400L
#endif
/* set the UART baud rate defaults */
#ifndef BAUD_RATE
#if F_CPU >= 8000000L
#define BAUD_RATE 115200L // Highest rate Avrdude win32 will support
#elsif F_CPU >= 1000000L
#define BAUD_RATE 9600L // 19200 also supported, but with significant error
#elsif F_CPU >= 128000L
#define BAUD_RATE 4800L // Good for 128kHz internal RC
#else
#define BAUD_RATE 1200L // Good even at 32768Hz
#endif
#endif
#if 0
/* Switch in soft UART for hard baud rates */
/*
* I don't understand what this was supposed to accomplish, where the
* constant "280" came from, or why automatically (and perhaps unexpectedly)
* switching to a soft uart is a good thing, so I'm undoing this in favor
* of a range check using the same calc used to config the BRG...
*/
#if (F_CPU/BAUD_RATE) > 280 // > 57600 for 16MHz
#ifndef SOFT_UART
#define SOFT_UART
#endif
#endif
#else // 0
#if (F_CPU + BAUD_RATE * 4L) / (BAUD_RATE * 8L) - 1 > 250
#error Unachievable baud rate (too slow) BAUD_RATE
#endif // baud rate slow check
#if (F_CPU + BAUD_RATE * 4L) / (BAUD_RATE * 8L) - 1 < 3
#error Unachievable baud rate (too fast) BAUD_RATE
#endif // baud rate fastn check
#endif
/* Watchdog settings */
#define WATCHDOG_OFF (0)
#define WATCHDOG_16MS (_BV(WDE))
#define WATCHDOG_32MS (_BV(WDP0) | _BV(WDE))
#define WATCHDOG_64MS (_BV(WDP1) | _BV(WDE))
#define WATCHDOG_125MS (_BV(WDP1) | _BV(WDP0) | _BV(WDE))
#define WATCHDOG_250MS (_BV(WDP2) | _BV(WDE))
#define WATCHDOG_500MS (_BV(WDP2) | _BV(WDP0) | _BV(WDE))
#define WATCHDOG_1S (_BV(WDP2) | _BV(WDP1) | _BV(WDE))
#define WATCHDOG_2S (_BV(WDP2) | _BV(WDP1) | _BV(WDP0) | _BV(WDE))
#ifndef __AVR_ATmega8__
#define WATCHDOG_4S (_BV(WDP3) | _BV(WDE))
#define WATCHDOG_8S (_BV(WDP3) | _BV(WDP0) | _BV(WDE))
#endif
/* Function Prototypes */
/* The main function is in init9, which removes the interrupt vector table */
/* we don't need. It is also 'naked', which means the compiler does not */
/* generate any entry or exit code itself. */
int main(void) __attribute__ ((OS_main)) __attribute__ ((section (".init9")));
void putch(char);
uint8_t getch(void);
static inline void getNch(uint8_t); /* "static inline" is a compiler hint to reduce code size */
void verifySpace();
static inline void flash_led(uint8_t);
uint8_t getLen();
static inline void watchdogReset();
void watchdogConfig(uint8_t x);
#ifdef SOFT_UART
void uartDelay() __attribute__ ((naked));
#endif
void appStart() __attribute__ ((naked));
/*
* NRWW memory
* Addresses below NRWW (Non-Read-While-Write) can be programmed while
* continuing to run code from flash, slightly speeding up programming
* time. Beware that Atmel data sheets specify this as a WORD address,
* while optiboot will be comparing against a 16-bit byte address. This
* means that on a part with 128kB of memory, the upper part of the lower
* 64k will get NRWW processing as well, even though it doesn't need it.
* That's OK. In fact, you can disable the overlapping processing for
* a part entirely by setting NRWWSTART to zero. This reduces code
* space a bit, at the expense of being slightly slower, overall.
*
* RAMSTART should be self-explanatory. It's bigger on parts with a
* lot of peripheral registers.
*/
#if defined(__AVR_ATmega168__)
#define RAMSTART (0x100)
#define NRWWSTART (0x3800)
#elif defined(__AVR_ATmega328P__)
#define RAMSTART (0x100)
#define NRWWSTART (0x7000)
#elif defined (__AVR_ATmega644P__)
#define RAMSTART (0x100)
#define NRWWSTART (0xE000)
#elif defined (__AVR_ATmega1284P__)
#define RAMSTART (0x100)
#define NRWWSTART (0xE000)
#elif defined(__AVR_ATtiny84__)
#define RAMSTART (0x100)
#define NRWWSTART (0x0000)
#elif defined(__AVR_ATmega1280__)
#define RAMSTART (0x200)
#define NRWWSTART (0xE000)
#elif defined(__AVR_ATmega8__) || defined(__AVR_ATmega88__)
#define RAMSTART (0x100)
#define NRWWSTART (0x1800)
#endif
/* C zero initialises all global variables. However, that requires */
/* These definitions are NOT zero initialised, but that doesn't matter */
/* This allows us to drop the zero init code, saving us memory */
#define buff ((uint8_t*)(RAMSTART))
#ifdef VIRTUAL_BOOT_PARTITION
#define rstVect (*(uint16_t*)(RAMSTART+SPM_PAGESIZE*2+4))
#define wdtVect (*(uint16_t*)(RAMSTART+SPM_PAGESIZE*2+6))
#endif
/* main program starts here */
int main(void) {
uint8_t ch;
/*
* Making these local and in registers prevents the need for initializing
* them, and also saves space because code no longer stores to memory.
* (initializing address keeps the compiler happy, but isn't really
* necessary, and uses 4 bytes of flash.)
*/
register uint16_t address = 0;
register uint8_t length;
// After the zero init loop, this is the first code to run.
//
// This code makes the following assumptions:
// No interrupts will execute
// SP points to RAMEND
// r1 contains zero
//
// If not, uncomment the following instructions:
// cli();
asm volatile ("clr __zero_reg__");
#ifdef __AVR_ATmega8__
SP=RAMEND; // This is done by hardware reset
#endif
// Adaboot no-wait mod
ch = MCUSR;
MCUSR = 0;
if (!(ch & _BV(EXTRF))) appStart();
#if LED_START_FLASHES > 0
// Set up Timer 1 for timeout counter
TCCR1B = _BV(CS12) | _BV(CS10); // div 1024
#endif
#ifndef SOFT_UART
#ifdef __AVR_ATmega8__
UCSRA = _BV(U2X); //Double speed mode USART
UCSRB = _BV(RXEN) | _BV(TXEN); // enable Rx & Tx
UCSRC = _BV(URSEL) | _BV(UCSZ1) | _BV(UCSZ0); // config USART; 8N1
UBRRL = (uint8_t)( (F_CPU + BAUD_RATE * 4L) / (BAUD_RATE * 8L) - 1 );
#else
UCSR0A = _BV(U2X0); //Double speed mode USART0
UCSR0B = _BV(RXEN0) | _BV(TXEN0);
UCSR0C = _BV(UCSZ00) | _BV(UCSZ01);
UBRR0L = (uint8_t)( (F_CPU + BAUD_RATE * 4L) / (BAUD_RATE * 8L) - 1 );
#endif
#endif
// Set up watchdog to trigger after 500ms
watchdogConfig(WATCHDOG_1S);
/* Set LED pin as output */
LED_DDR |= _BV(LED);
#ifdef SOFT_UART
/* Set TX pin as output */
UART_DDR |= _BV(UART_TX_BIT);
#endif
#if LED_START_FLASHES > 0
/* Flash onboard LED to signal entering of bootloader */
flash_led(LED_START_FLASHES * 2);
#endif
/* Forever loop */
for (;;) {
/* get character from UART */
ch = getch();
if(ch == STK_GET_PARAMETER) {
unsigned char which = getch();
verifySpace();
if (which == 0x82) {
/*
* Send optiboot version as "minor SW version"
*/
putch(OPTIBOOT_MINVER);
} else if (which == 0x81) {
putch(OPTIBOOT_MAJVER);
} else {
/*
* GET PARAMETER returns a generic 0x03 reply for
* other parameters - enough to keep Avrdude happy
*/
putch(0x03);
}
}
else if(ch == STK_SET_DEVICE) {
// SET DEVICE is ignored
getNch(20);
}
else if(ch == STK_SET_DEVICE_EXT) {
// SET DEVICE EXT is ignored
getNch(5);
}
else if(ch == STK_LOAD_ADDRESS) {
// LOAD ADDRESS
uint16_t newAddress;
newAddress = getch();
newAddress = (newAddress & 0xff) | (getch() << 8);
#ifdef RAMPZ
// Transfer top bit to RAMPZ
RAMPZ = (newAddress & 0x8000) ? 1 : 0;
#endif
newAddress += newAddress; // Convert from word address to byte address
address = newAddress;
verifySpace();
}
else if(ch == STK_UNIVERSAL) {
// UNIVERSAL command is ignored
getNch(4);
putch(0x00);
}
/* Write memory, length is big endian and is in bytes */
else if(ch == STK_PROG_PAGE) {
// PROGRAM PAGE - we support flash programming only, not EEPROM
uint8_t *bufPtr;
uint16_t addrPtr;
getch(); /* getlen() */
length = getch();
getch();
// If we are in RWW section, immediately start page erase
if (address < NRWWSTART) __boot_page_erase_short((uint16_t)(void*)address);
// While that is going on, read in page contents
bufPtr = buff;
do *bufPtr++ = getch();
while (--length);
// If we are in NRWW section, page erase has to be delayed until now.
// Todo: Take RAMPZ into account
if (address >= NRWWSTART) __boot_page_erase_short((uint16_t)(void*)address);
// Read command terminator, start reply
verifySpace();
// If only a partial page is to be programmed, the erase might not be complete.
// So check that here
boot_spm_busy_wait();
#ifdef VIRTUAL_BOOT_PARTITION
if ((uint16_t)(void*)address == 0) {
// This is the reset vector page. We need to live-patch the code so the
// bootloader runs.
//
// Move RESET vector to WDT vector
uint16_t vect = buff[0] | (buff[1]<<8);
rstVect = vect;
wdtVect = buff[8] | (buff[9]<<8);
vect -= 4; // Instruction is a relative jump (rjmp), so recalculate.
buff[8] = vect & 0xff;
buff[9] = vect >> 8;
// Add jump to bootloader at RESET vector
buff[0] = 0x7f;
buff[1] = 0xce; // rjmp 0x1d00 instruction
}
#endif
// Copy buffer into programming buffer
bufPtr = buff;
addrPtr = (uint16_t)(void*)address;
ch = SPM_PAGESIZE / 2;
do {
uint16_t a;
a = *bufPtr++;
a |= (*bufPtr++) << 8;
__boot_page_fill_short((uint16_t)(void*)addrPtr,a);
addrPtr += 2;
} while (--ch);
// Write from programming buffer
__boot_page_write_short((uint16_t)(void*)address);
boot_spm_busy_wait();
#if defined(RWWSRE)
// Reenable read access to flash
boot_rww_enable();
#endif
}
/* Read memory block mode, length is big endian. */
else if(ch == STK_READ_PAGE) {
// READ PAGE - we only read flash
getch(); /* getlen() */
length = getch();
getch();
verifySpace();
#ifdef VIRTUAL_BOOT_PARTITION
do {
// Undo vector patch in bottom page so verify passes
if (address == 0) ch=rstVect & 0xff;
else if (address == 1) ch=rstVect >> 8;
else if (address == 8) ch=wdtVect & 0xff;
else if (address == 9) ch=wdtVect >> 8;
else ch = pgm_read_byte_near(address);
address++;
putch(ch);
} while (--length);
#else
#ifdef RAMPZ
// Since RAMPZ should already be set, we need to use EPLM directly.
// do putch(pgm_read_byte_near(address++));
// while (--length);
do {
uint8_t result;
__asm__ ("elpm %0,Z\n":"=r"(result):"z"(address));
putch(result);
address++;
}
while (--length);
#else
do putch(pgm_read_byte_near(address++));
while (--length);
#endif
#endif
}
/* Get device signature bytes */
else if(ch == STK_READ_SIGN) {
// READ SIGN - return what Avrdude wants to hear
verifySpace();
putch(SIGNATURE_0);
putch(SIGNATURE_1);
putch(SIGNATURE_2);
}
else if (ch == STK_LEAVE_PROGMODE) { /* 'Q' */
// Adaboot no-wait mod
watchdogConfig(WATCHDOG_16MS);
verifySpace();
}
else {
// This covers the response to commands like STK_ENTER_PROGMODE
verifySpace();
}
putch(STK_OK);
}
}
void putch(char ch) {
#ifndef SOFT_UART
while (!(UCSR0A & _BV(UDRE0)));
UDR0 = ch;
#else
__asm__ __volatile__ (
" com %[ch]\n" // ones complement, carry set
" sec\n"
"1: brcc 2f\n"
" cbi %[uartPort],%[uartBit]\n"
" rjmp 3f\n"
"2: sbi %[uartPort],%[uartBit]\n"
" nop\n"
"3: rcall uartDelay\n"
" rcall uartDelay\n"
" lsr %[ch]\n"
" dec %[bitcnt]\n"
" brne 1b\n"
:
:
[bitcnt] "d" (10),
[ch] "r" (ch),
[uartPort] "I" (_SFR_IO_ADDR(UART_PORT)),
[uartBit] "I" (UART_TX_BIT)
:
"r25"
);
#endif
}
uint8_t getch(void) {
uint8_t ch;
#ifdef LED_DATA_FLASH
#ifdef __AVR_ATmega8__
LED_PORT ^= _BV(LED);
#else
LED_PIN |= _BV(LED);
#endif
#endif
#ifdef SOFT_UART
__asm__ __volatile__ (
"1: sbic %[uartPin],%[uartBit]\n" // Wait for start edge
" rjmp 1b\n"
" rcall uartDelay\n" // Get to middle of start bit
"2: rcall uartDelay\n" // Wait 1 bit period
" rcall uartDelay\n" // Wait 1 bit period
" clc\n"
" sbic %[uartPin],%[uartBit]\n"
" sec\n"
" dec %[bitCnt]\n"
" breq 3f\n"
" ror %[ch]\n"
" rjmp 2b\n"
"3:\n"
:
[ch] "=r" (ch)
:
[bitCnt] "d" (9),
[uartPin] "I" (_SFR_IO_ADDR(UART_PIN)),
[uartBit] "I" (UART_RX_BIT)
:
"r25"
);
#else
while(!(UCSR0A & _BV(RXC0)))
;
if (!(UCSR0A & _BV(FE0))) {
/*
* A Framing Error indicates (probably) that something is talking
* to us at the wrong bit rate. Assume that this is because it
* expects to be talking to the application, and DON'T reset the
* watchdog. This should cause the bootloader to abort and run
* the application "soon", if it keeps happening. (Note that we
* don't care that an invalid char is returned...)
*/
watchdogReset();
}
ch = UDR0;
#endif
#ifdef LED_DATA_FLASH
#ifdef __AVR_ATmega8__
LED_PORT ^= _BV(LED);
#else
LED_PIN |= _BV(LED);
#endif
#endif
return ch;
}
#ifdef SOFT_UART
// AVR305 equation: #define UART_B_VALUE (((F_CPU/BAUD_RATE)-23)/6)
// Adding 3 to numerator simulates nearest rounding for more accurate baud rates
#define UART_B_VALUE (((F_CPU/BAUD_RATE)-20)/6)
#if UART_B_VALUE > 255
#error Baud rate too slow for soft UART
#endif
void uartDelay() {
__asm__ __volatile__ (
"ldi r25,%[count]\n"
"1:dec r25\n"
"brne 1b\n"
"ret\n"
::[count] "M" (UART_B_VALUE)
);
}
#endif
void getNch(uint8_t count) {
do getch(); while (--count);
verifySpace();
}
void verifySpace() {
if (getch() != CRC_EOP) {
watchdogConfig(WATCHDOG_16MS); // shorten WD timeout
while (1) // and busy-loop so that WD causes
; // a reset and app start.
}
putch(STK_INSYNC);
}
#if LED_START_FLASHES > 0
void flash_led(uint8_t count) {
do {
TCNT1 = -(F_CPU/(1024*16));
TIFR1 = _BV(TOV1);
while(!(TIFR1 & _BV(TOV1)));
#ifdef __AVR_ATmega8__
LED_PORT ^= _BV(LED);
#else
LED_PIN |= _BV(LED);
#endif
watchdogReset();
} while (--count);
}
#endif
// Watchdog functions. These are only safe with interrupts turned off.
void watchdogReset() {
__asm__ __volatile__ (
"wdr\n"
);
}
void watchdogConfig(uint8_t x) {
WDTCSR = _BV(WDCE) | _BV(WDE);
WDTCSR = x;
}
void appStart() {
watchdogConfig(WATCHDOG_OFF);
__asm__ __volatile__ (
#ifdef VIRTUAL_BOOT_PARTITION
// Jump to WDT vector
"ldi r30,4\n"
"clr r31\n"
#else
// Jump to RST vector
"clr r30\n"
"clr r31\n"
#endif
"ijmp\n"
);
}
@@ -1,33 +0,0 @@
:020000021000EC
:10FE00000F92CDB7DEB7112484B714BE81FFDFD0C7
:10FE100082E08093C00088E18093C10086E08093F7
:10FE2000C2008AE28093C4008EE0BBD0209A00E03A
:10FE300010E0EE24E394E1E1DE2EF3E0FF2EA5D006
:10FE4000813471F4A2D08983B2D08981823809F4D7
:10FE50008BC0813811F484E001C083E08FD08BC067
:10FE6000823411F484E103C0853419F485E0A7D00D
:10FE700082C0853591F489D0A82EBB2486D0082F66
:10FE800010E0102F00270A291B29812F881F88279F
:10FE9000881F8BBF000F111F6DC0863521F484E0D1
:10FEA0008ED080E0DBCF843609F040C06ED06DD0BC
:10FEB000C82E6BD080EE0030180718F4F801F7BE9A
:10FEC000E895A12C51E0B52E60D0F50181935F013A
:10FED000CE16D1F7F0EE00301F0718F0F801F7BE8C
:10FEE000E89565D007B600FCFDCFF801A0E0B1E0D1
:10FEF0002C9130E011968C91119790E0982F8827E3
:10FF0000822B932B12960C01E7BEE89511243296B2
:10FF100082E0A030B80761F785E0F80187BFE89577
:10FF200007B600FCFDCFD7BEE89525C08437A9F4FD
:10FF30002CD02BD0B82E29D03AD0CB2C4801F401AC
:10FF400086911CD00894811C911CCA94C1F70F5F44
:10FF50001F4FBA940B0D111D0EC0853739F427D0F1
:10FF60008EE10CD087E90AD085E078CF813511F495
:10FF700088E017D01CD080E101D061CF9091C00003
:10FF800095FFFCCF8093C60008958091C00087FF45
:10FF9000FCCF8091C00084FD01C0A8958091C6006F
:10FFA0000895E0E6F0E098E1908380830895EDDF26
:10FFB000803219F088E0F5DFFFCF84E1DFCFCF9307
:10FFC000C82FE3DFC150E9F7F2DFCF91089580E059
:08FFD000E8DFEE27FF2709948A
:040000031000FE00EB
:00000001FF
@@ -1,81 +0,0 @@
#if defined(__AVR_ATmega168__) || defined(__AVR_ATmega328P__) || defined(__AVR_ATmega88) || defined(__AVR_ATmega8__) || defined(__AVR_ATmega88__)
/* Onboard LED is connected to pin PB5 in Arduino NG, Diecimila, and Duemilanove */
#define LED_DDR DDRB
#define LED_PORT PORTB
#define LED_PIN PINB
#define LED PINB5
/* Ports for soft UART */
#ifdef SOFT_UART
#define UART_PORT PORTD
#define UART_PIN PIND
#define UART_DDR DDRD
#define UART_TX_BIT 1
#define UART_RX_BIT 0
#endif
#endif
#if defined(__AVR_ATmega8__)
//Name conversion R.Wiersma
#define UCSR0A UCSRA
#define UDR0 UDR
#define UDRE0 UDRE
#define RXC0 RXC
#define FE0 FE
#define TIFR1 TIFR
#define WDTCSR WDTCR
#endif
/* Luminet support */
#if defined(__AVR_ATtiny84__)
/* Red LED is connected to pin PA4 */
#define LED_DDR DDRA
#define LED_PORT PORTA
#define LED_PIN PINA
#define LED PINA4
/* Ports for soft UART - left port only for now. TX/RX on PA2/PA3 */
#ifdef SOFT_UART
#define UART_PORT PORTA
#define UART_PIN PINA
#define UART_DDR DDRA
#define UART_TX_BIT 2
#define UART_RX_BIT 3
#endif
#endif
/* Sanguino support */
#if defined(__AVR_ATmega644P__) || defined(__AVR_ATmega1284P__)
/* Onboard LED is connected to pin PB0 on Sanguino */
#define LED_DDR DDRB
#define LED_PORT PORTB
#define LED_PIN PINB
#define LED PINB0
/* Ports for soft UART */
#ifdef SOFT_UART
#define UART_PORT PORTD
#define UART_PIN PIND
#define UART_DDR DDRD
#define UART_TX_BIT 1
#define UART_RX_BIT 0
#endif
#endif
/* Mega support */
#if defined(__AVR_ATmega1280__)
/* Onboard LED is connected to pin PB7 on Arduino Mega */
#define LED_DDR DDRB
#define LED_PORT PORTB
#define LED_PIN PINB
#define LED PINB7
/* Ports for soft UART */
#ifdef SOFT_UART
#define UART_PORT PORTE
#define UART_PIN PINE
#define UART_DDR DDRE
#define UART_TX_BIT 1
#define UART_RX_BIT 0
#endif
#endif
@@ -1,39 +0,0 @@
/* STK500 constants list, from AVRDUDE */
#define STK_OK 0x10
#define STK_FAILED 0x11 // Not used
#define STK_UNKNOWN 0x12 // Not used
#define STK_NODEVICE 0x13 // Not used
#define STK_INSYNC 0x14 // ' '
#define STK_NOSYNC 0x15 // Not used
#define ADC_CHANNEL_ERROR 0x16 // Not used
#define ADC_MEASURE_OK 0x17 // Not used
#define PWM_CHANNEL_ERROR 0x18 // Not used
#define PWM_ADJUST_OK 0x19 // Not used
#define CRC_EOP 0x20 // 'SPACE'
#define STK_GET_SYNC 0x30 // '0'
#define STK_GET_SIGN_ON 0x31 // '1'
#define STK_SET_PARAMETER 0x40 // '@'
#define STK_GET_PARAMETER 0x41 // 'A'
#define STK_SET_DEVICE 0x42 // 'B'
#define STK_SET_DEVICE_EXT 0x45 // 'E'
#define STK_ENTER_PROGMODE 0x50 // 'P'
#define STK_LEAVE_PROGMODE 0x51 // 'Q'
#define STK_CHIP_ERASE 0x52 // 'R'
#define STK_CHECK_AUTOINC 0x53 // 'S'
#define STK_LOAD_ADDRESS 0x55 // 'U'
#define STK_UNIVERSAL 0x56 // 'V'
#define STK_PROG_FLASH 0x60 // '`'
#define STK_PROG_DATA 0x61 // 'a'
#define STK_PROG_FUSE 0x62 // 'b'
#define STK_PROG_LOCK 0x63 // 'c'
#define STK_PROG_PAGE 0x64 // 'd'
#define STK_PROG_FUSE_EXT 0x65 // 'e'
#define STK_READ_FLASH 0x70 // 'p'
#define STK_READ_DATA 0x71 // 'q'
#define STK_READ_FUSE 0x72 // 'r'
#define STK_READ_LOCK 0x73 // 's'
#define STK_READ_PAGE 0x74 // 't'
#define STK_READ_SIGN 0x75 // 'u'
#define STK_READ_OSCCAL 0x76 // 'v'
#define STK_READ_FUSE_EXT 0x77 // 'w'
#define STK_READ_OSCCAL_EXT 0x78 // 'x'
@@ -1,713 +0,0 @@
/**********************************************************/
/* Serial Bootloader for Atmel megaAVR Controllers */
/* */
/* tested with ATmega644 and ATmega644P */
/* should work with other mega's, see code for details */
/* */
/* ATmegaBOOT.c */
/* */
/* 20090131: Added 324P support from Alex Leone */
/* Marius Kintel */
/* 20080915: applied ADABoot mods for Sanguino 644P */
/* Brian Riley */
/* 20080711: hacked for Sanguino by Zach Smith */
/* and Justin Day */
/* 20070626: hacked for Arduino Diecimila (which auto- */
/* resets when a USB connection is made to it) */
/* by D. Mellis */
/* 20060802: hacked for Arduino by D. Cuartielles */
/* based on a previous hack by D. Mellis */
/* and D. Cuartielles */
/* */
/* Monitor and debug functions were added to the original */
/* code by Dr. Erik Lins, chip45.com. (See below) */
/* */
/* Thanks to Karl Pitrich for fixing a bootloader pin */
/* problem and more informative LED blinking! */
/* */
/* For the latest version see: */
/* http://www.chip45.com/ */
/* */
/* ------------------------------------------------------ */
/* */
/* based on stk500boot.c */
/* Copyright (c) 2003, Jason P. Kyle */
/* All rights reserved. */
/* see avr1.org for original file and information */
/* */
/* This program is free software; you can redistribute it */
/* and/or modify it under the terms of the GNU General */
/* Public License as published by the Free Software */
/* Foundation; either version 2 of the License, or */
/* (at your option) any later version. */
/* */
/* This program is distributed in the hope that it will */
/* be useful, but WITHOUT ANY WARRANTY; without even the */
/* implied warranty of MERCHANTABILITY or FITNESS FOR A */
/* PARTICULAR PURPOSE. See the GNU General Public */
/* License for more details. */
/* */
/* You should have received a copy of the GNU General */
/* Public License along with this program; if not, write */
/* to the Free Software Foundation, Inc., */
/* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
/* */
/* Licence can be viewed at */
/* http://www.fsf.org/licenses/gpl.txt */
/* */
/* Target = Atmel AVR m128,m64,m32,m16,m8,m162,m163,m169, */
/* m8515,m8535. ATmega161 has a very small boot block so */
/* isn't supported. */
/* */
/* Tested with m168 */
/**********************************************************/
/* $Id$ */
/* some includes */
#include <inttypes.h>
#include <avr/io.h>
#include <avr/pgmspace.h>
#include <avr/interrupt.h>
#include <avr/wdt.h>
#include <avr/boot.h>
#ifdef ADABOOT
#define NUM_LED_FLASHES 3
#define ADABOOT_VER 1
#endif
/* 20070707: hacked by David A. Mellis - after this many errors give up and launch application */
#define MAX_ERROR_COUNT 5
/* set the UART baud rate */
/* 20080711: hack by Zach Hoeken */
#define BAUD_RATE 38400
/* SW_MAJOR and MINOR needs to be updated from time to time to avoid warning message from AVR Studio */
/* never allow AVR Studio to do an update !!!! */
#define HW_VER 0x02
#define SW_MAJOR 0x01
#define SW_MINOR 0x10
/* onboard LED is used to indicate, that the bootloader was entered (3x flashing) */
/* if monitor functions are included, LED goes on after monitor was entered */
#define LED_DDR DDRB
#define LED_PORT PORTB
#define LED_PIN PINB
#define LED PINB0
/* define various device id's */
/* manufacturer byte is always the same */
#define SIG1 0x1E // Yep, Atmel is the only manufacturer of AVR micros. Single source :(
#if defined(__AVR_ATmega644P__)
#define SIG2 0x96
#define SIG3 0x0A
#elif defined(__AVR_ATmega644__)
#define SIG2 0x96
#define SIG3 0x09
#elif defined(__AVR_ATmega324P__)
#define SIG2 0x95
#define SIG3 0x08
#endif
#define PAGE_SIZE 0x080U //128 words
#define PAGE_SIZE_BYTES 0x100U //256 bytes
/* function prototypes */
void putch(char);
char getch(void);
void getNch(uint8_t);
void byte_response(uint8_t);
void nothing_response(void);
char gethex(void);
void puthex(char);
void flash_led(uint8_t);
/* some variables */
union address_union
{
uint16_t word;
uint8_t byte[2];
} address;
union length_union
{
uint16_t word;
uint8_t byte[2];
} length;
struct flags_struct
{
unsigned eeprom : 1;
unsigned rampz : 1;
} flags;
uint8_t buff[256];
uint8_t error_count = 0;
uint8_t sreg;
void (*app_start)(void) = 0x0000;
/* main program starts here */
int main(void)
{
uint8_t ch,ch2;
uint16_t w;
uint16_t i;
asm volatile("nop\n\t");
#ifdef ADABOOT // BBR/LF 10/8/2007 & 9/13/2008
ch = MCUSR;
MCUSR = 0;
WDTCSR |= _BV(WDCE) | _BV(WDE);
WDTCSR = 0;
// Check if the WDT was used to reset, in which case we dont bootload and skip straight to the code. woot.
if (! (ch & _BV(EXTRF))) // if it's a not an external reset...
app_start(); // skip bootloader
#endif
//initialize our serial port.
UBRR0L = (uint8_t)(F_CPU/(BAUD_RATE*16L)-1);
UBRR0H = (F_CPU/(BAUD_RATE*16L)-1) >> 8;
UCSR0B = (1<<RXEN0) | (1<<TXEN0);
UCSR0C = (1<<UCSZ00) | (1<<UCSZ01);
/* Enable internal pull-up resistor on pin D0 (RX), in order
to supress line noise that prevents the bootloader from
timing out (DAM: 20070509) */
DDRD &= ~_BV(PIND0);
PORTD |= _BV(PIND0);
/* set LED pin as output */
LED_DDR |= _BV(LED);
/* flash onboard LED to signal entering of bootloader */
/* ADABOOT will do two series of flashes. first 4 - signifying ADABOOT */
/* then a pause and another flash series signifying ADABOOT sub-version */
flash_led(NUM_LED_FLASHES);
#ifdef ADABOOT
flash_led(ADABOOT_VER); // BBR 9/13/2008
#endif
/* forever loop */
for (;;)
{
/* get character from UART */
ch = getch();
/* A bunch of if...else if... gives smaller code than switch...case ! */
/* Hello is anyone home ? */
if(ch=='0')
nothing_response();
/* Request programmer ID */
/* Not using PROGMEM string due to boot block in m128 being beyond 64kB boundry */
/* Would need to selectively manipulate RAMPZ, and it's only 9 characters anyway so who cares. */
else if(ch=='1')
{
if (getch() == ' ')
{
putch(0x14);
putch('A');
putch('V');
putch('R');
putch(' ');
putch('I');
putch('S');
putch('P');
putch(0x10);
}
else
{
if (++error_count == MAX_ERROR_COUNT)
app_start();
}
}
/* AVR ISP/STK500 board commands DON'T CARE so default nothing_response */
else if(ch=='@')
{
ch2 = getch();
if (ch2 > 0x85)
getch();
nothing_response();
}
/* AVR ISP/STK500 board requests */
else if(ch=='A')
{
ch2 = getch();
if(ch2 == 0x80)
byte_response(HW_VER); // Hardware version
else if(ch2==0x81)
byte_response(SW_MAJOR); // Software major version
else if(ch2==0x82)
byte_response(SW_MINOR); // Software minor version
else if(ch2==0x98)
byte_response(0x03); // Unknown but seems to be required by avr studio 3.56
else
byte_response(0x00); // Covers various unnecessary responses we don't care about
}
/* Device Parameters DON'T CARE, DEVICE IS FIXED */
else if(ch=='B')
{
getNch(20);
nothing_response();
}
/* Parallel programming stuff DON'T CARE */
else if(ch=='E')
{
getNch(5);
nothing_response();
}
/* Enter programming mode */
else if(ch=='P')
{
nothing_response();
}
/* Leave programming mode */
else if(ch=='Q')
{
nothing_response();
#ifdef ADABOOT
// autoreset via watchdog (sneaky!) BBR/LF 9/13/2008
WDTCSR = _BV(WDE);
while (1); // 16 ms
#endif
}
/* Erase device, don't care as we will erase one page at a time anyway. */
else if(ch=='R')
{
nothing_response();
}
/* Set address, little endian. EEPROM in bytes, FLASH in words */
/* Perhaps extra address bytes may be added in future to support > 128kB FLASH. */
/* This might explain why little endian was used here, big endian used everywhere else. */
else if(ch=='U')
{
address.byte[0] = getch();
address.byte[1] = getch();
nothing_response();
}
/* Universal SPI programming command, disabled. Would be used for fuses and lock bits. */
else if(ch=='V')
{
getNch(4);
byte_response(0x00);
}
/* Write memory, length is big endian and is in bytes */
else if(ch=='d')
{
length.byte[1] = getch();
length.byte[0] = getch();
flags.eeprom = 0;
if (getch() == 'E')
flags.eeprom = 1;
for (i=0; i<PAGE_SIZE; i++)
buff[i] = 0;
for (w = 0; w < length.word; w++)
{
// Store data in buffer, can't keep up with serial data stream whilst programming pages
buff[w] = getch();
}
if (getch() == ' ')
{
if (flags.eeprom)
{
//Write to EEPROM one byte at a time
for(w=0;w<length.word;w++)
{
while(EECR & (1<<EEPE));
EEAR = (uint16_t)(void *)address.word;
EEDR = buff[w];
EECR |= (1<<EEMPE);
EECR |= (1<<EEPE);
address.word++;
}
}
else
{
//address * 2 -> byte location
address.word = address.word << 1;
//Even up an odd number of bytes
if ((length.byte[0] & 0x01))
length.word++;
// HACKME: EEPE used to be EEWE
//Wait for previous EEPROM writes to complete
//while(bit_is_set(EECR,EEPE));
while(EECR & (1<<EEPE));
asm volatile(
"clr r17 \n\t" //page_word_count
"lds r30,address \n\t" //Address of FLASH location (in bytes)
"lds r31,address+1 \n\t"
"ldi r28,lo8(buff) \n\t" //Start of buffer array in RAM
"ldi r29,hi8(buff) \n\t"
"lds r24,length \n\t" //Length of data to be written (in bytes)
"lds r25,length+1 \n\t"
"length_loop: \n\t" //Main loop, repeat for number of words in block
"cpi r17,0x00 \n\t" //If page_word_count=0 then erase page
"brne no_page_erase \n\t"
"wait_spm1: \n\t"
"lds r16,%0 \n\t" //Wait for previous spm to complete
"andi r16,1 \n\t"
"cpi r16,1 \n\t"
"breq wait_spm1 \n\t"
"ldi r16,0x03 \n\t" //Erase page pointed to by Z
"sts %0,r16 \n\t"
"spm \n\t"
"wait_spm2: \n\t"
"lds r16,%0 \n\t" //Wait for previous spm to complete
"andi r16,1 \n\t"
"cpi r16,1 \n\t"
"breq wait_spm2 \n\t"
"ldi r16,0x11 \n\t" //Re-enable RWW section
"sts %0,r16 \n\t"
"spm \n\t"
"no_page_erase: \n\t"
"ld r0,Y+ \n\t" //Write 2 bytes into page buffer
"ld r1,Y+ \n\t"
"wait_spm3: \n\t"
"lds r16,%0 \n\t" //Wait for previous spm to complete
"andi r16,1 \n\t"
"cpi r16,1 \n\t"
"breq wait_spm3 \n\t"
"ldi r16,0x01 \n\t" //Load r0,r1 into FLASH page buffer
"sts %0,r16 \n\t"
"spm \n\t"
"inc r17 \n\t" //page_word_count++
"cpi r17,%1 \n\t"
"brlo same_page \n\t" //Still same page in FLASH
"write_page: \n\t"
"clr r17 \n\t" //New page, write current one first
"wait_spm4: \n\t"
"lds r16,%0 \n\t" //Wait for previous spm to complete
"andi r16,1 \n\t"
"cpi r16,1 \n\t"
"breq wait_spm4 \n\t"
"ldi r16,0x05 \n\t" //Write page pointed to by Z
"sts %0,r16 \n\t"
"spm \n\t"
"wait_spm5: \n\t"
"lds r16,%0 \n\t" //Wait for previous spm to complete
"andi r16,1 \n\t"
"cpi r16,1 \n\t"
"breq wait_spm5 \n\t"
"ldi r16,0x11 \n\t" //Re-enable RWW section
"sts %0,r16 \n\t"
"spm \n\t"
"same_page: \n\t"
"adiw r30,2 \n\t" //Next word in FLASH
"sbiw r24,2 \n\t" //length-2
"breq final_write \n\t" //Finished
"rjmp length_loop \n\t"
"final_write: \n\t"
"cpi r17,0 \n\t"
"breq block_done \n\t"
"adiw r24,2 \n\t" //length+2, fool above check on length after short page write
"rjmp write_page \n\t"
"block_done: \n\t"
"clr __zero_reg__ \n\t" //restore zero register
: "=m" (SPMCSR) : "M" (PAGE_SIZE) : "r0","r16","r17","r24","r25","r28","r29","r30","r31"
);
}
putch(0x14);
putch(0x10);
}
else
{
if (++error_count == MAX_ERROR_COUNT)
app_start();
}
}
/* Read memory block mode, length is big endian. */
else if(ch=='t')
{
length.byte[1] = getch();
length.byte[0] = getch();
if (getch() == 'E')
flags.eeprom = 1;
else
{
flags.eeprom = 0;
address.word = address.word << 1; // address * 2 -> byte location
}
// Command terminator
if (getch() == ' ')
{
putch(0x14);
for (w=0; w<length.word; w++)
{
// Can handle odd and even lengths okay
if (flags.eeprom)
{
// Byte access EEPROM read
while(EECR & (1<<EEPE));
EEAR = (uint16_t)(void *)address.word;
EECR |= (1<<EERE);
putch(EEDR);
address.word++;
}
else
{
if (!flags.rampz)
putch(pgm_read_byte_near(address.word));
address.word++;
}
}
putch(0x10);
}
}
/* Get device signature bytes */
else if(ch=='u')
{
if (getch() == ' ')
{
putch(0x14);
putch(SIG1);
putch(SIG2);
putch(SIG3);
putch(0x10);
}
else
{
if (++error_count == MAX_ERROR_COUNT)
app_start();
}
}
/* Read oscillator calibration byte */
else if(ch=='v')
byte_response(0x00);
else if (++error_count == MAX_ERROR_COUNT)
app_start();
}
/* end of forever loop */
}
char gethex(void)
{
char ah,al;
ah = getch();
putch(ah);
al = getch();
putch(al);
if(ah >= 'a')
ah = ah - 'a' + 0x0a;
else if(ah >= '0')
ah -= '0';
if(al >= 'a')
al = al - 'a' + 0x0a;
else if(al >= '0')
al -= '0';
return (ah << 4) + al;
}
void puthex(char ch)
{
char ah,al;
ah = (ch & 0xf0) >> 4;
if(ah >= 0x0a)
ah = ah - 0x0a + 'a';
else
ah += '0';
al = (ch & 0x0f);
if(al >= 0x0a)
al = al - 0x0a + 'a';
else
al += '0';
putch(ah);
putch(al);
}
void putch(char ch)
{
while (!(UCSR0A & _BV(UDRE0)));
UDR0 = ch;
}
char getch(void)
{
uint32_t count = 0;
#ifdef ADABOOT
LED_PORT &= ~_BV(LED); // toggle LED to show activity - BBR/LF 10/3/2007 & 9/13/2008
#endif
while(!(UCSR0A & _BV(RXC0)))
{
/* 20060803 DojoCorp:: Addon coming from the previous Bootloader*/
/* HACKME:: here is a good place to count times*/
count++;
if (count > MAX_TIME_COUNT)
app_start();
}
#ifdef ADABOOT
LED_PORT |= _BV(LED); // toggle LED to show activity - BBR/LF 10/3/2007 & 9/13/2008
#endif
return UDR0;
}
void getNch(uint8_t count)
{
uint8_t i;
for(i=0;i<count;i++)
{
while(!(UCSR0A & _BV(RXC0)));
UDR0;
}
}
void byte_response(uint8_t val)
{
if (getch() == ' ')
{
putch(0x14);
putch(val);
putch(0x10);
}
else
{
if (++error_count == MAX_ERROR_COUNT)
app_start();
}
}
void nothing_response(void)
{
if (getch() == ' ')
{
putch(0x14);
putch(0x10);
}
else
{
if (++error_count == MAX_ERROR_COUNT)
app_start();
}
}
#ifdef ADABOOT
void flash_led(uint8_t count)
{
/* flash onboard LED count times to signal entering of bootloader */
/* l needs to be volatile or the delay loops below might get */
/* optimized away if compiling with optimizations (DAM). */
volatile uint32_t l;
if (count == 0) {
count = ADABOOT;
}
int8_t i;
for (i = 0; i < count; ++i) {
LED_PORT |= _BV(LED); // LED on
for(l = 0; l < (F_CPU / 1000); ++l); // delay NGvalue was 1000 for both loops - BBR
LED_PORT &= ~_BV(LED); // LED off
for(l = 0; l < (F_CPU / 250); ++l); // delay asymmteric for ADA BOOT BBR
}
for(l = 0; l < (F_CPU / 100); ++l); // pause ADA BOOT BBR
}
#else
void flash_led(uint8_t count)
{
/* flash onboard LED three times to signal entering of bootloader */
/* l needs to be volatile or the delay loops below might get
optimized away if compiling with optimizations (DAM). */
volatile uint32_t l;
if (count == 0) {
count = 3;
}
int8_t i;
for (i = 0; i < count; ++i) {
LED_PORT |= _BV(LED);
for(l = 0; l < (F_CPU / 1000); ++l);
LED_PORT &= ~_BV(LED);
for(l = 0; l < (F_CPU / 1000); ++l);
}
}
#endif
/* end of file ATmegaBOOT.c */
@@ -1,121 +0,0 @@
:10F800000C943E7C0C945B7C0C945B7C0C945B7C39
:10F810000C945B7C0C945B7C0C945B7C0C945B7C0C
:10F820000C945B7C0C945B7C0C945B7C0C945B7CFC
:10F830000C945B7C0C945B7C0C945B7C0C945B7CEC
:10F840000C945B7C0C945B7C0C945B7C0C945B7CDC
:10F850000C945B7C0C945B7C0C945B7C0C945B7CCC
:10F860000C945B7C0C945B7C0C945B7C0C945B7CBC
:10F870000C945B7C0C945B7C0C945B7C11241FBE11
:10F88000CFEFD8E0DEBFCDBF11E0A0E0B1E0E6E60B
:10F89000FFEF02C005900D92A030B107D9F712E03A
:10F8A000A0E0B1E001C01D92A930B107E1F70E94CC
:10F8B000537D0C94B27F0C94007CCF93DF93CDB733
:10F8C000DEB724970FB6F894DEBF0FBECDBF8823F6
:10F8D00009F481E020E0482F55274115510509F42E
:10F8E0003DC0289A19821A821B821C820BC0898112
:10F8F0009A81AB81BC810196A11DB11D89839A8338
:10F90000AB83BC8389819A81AB81BC8180589E4343
:10F91000A040B04060F3289819821A821B821C8292
:10F920000BC089819A81AB81BC810196A11DB11D5B
:10F9300089839A83AB83BC8389819A81AB81BC81A3
:10F9400080509A4FA040B04060F32F5F822F9927DC
:10F9500087FD9095841795070CF4C3CF19821A82FE
:10F960001B821C8289819A81AB81BC818050914726
:10F97000A240B040A0F489819A81AB81BC810196FC
:10F98000A11DB11D89839A83AB83BC8389819A8130
:10F99000AB81BC8180509147A240B04060F3249677
:10F9A0000FB6F894DEBF0FBECDBFDF91CF910895A3
:10F9B000EF92FF920F931F93EE24FF248701289864
:10F9C0008091C00087FD17C00894E11CF11C011D47
:10F9D000111D81E0E81689E0F8068DE3080780E054
:10F9E000180770F3E0910001F091010109958091F1
:10F9F000C00087FFE9CF289A8091C600992787FD2C
:10FA000090951F910F91FF90EF900895982F8091FE
:10FA1000C00085FFFCCF9093C60008950E94D87C5B
:10FA2000803271F0809102018F5F809302018530F6
:10FA300009F00895E0910001F09101010995089500
:10FA400084E10E94067D80E10E94067D0895CF93A7
:10FA5000C82F0E94D87C803241F0809102018F5FD4
:10FA600080930201853081F40AC084E10E94067D02
:10FA70008C2F0E94067D80E10E94067D05C0E091EA
:10FA80000001F09101010995CF910895282F90E090
:10FA900007C08091C0008823E4F78091C6009F5F73
:10FAA0009217B8F30895CFEFD8E0DEBFCDBF0000C6
:10FAB00094B714BE809160008861809360001092BA
:10FAC000600091FF74C189E18093C4001092C50069
:10FAD00088E18093C10086E08093C2005098589AD4
:10FAE000209A83E00E945D7C81E00E945D7C0E9400
:10FAF000D87C8033B9F18133C1F1803409F456C028
:10FB0000813409F45CC0823409F46EC0853409F490
:10FB100071C0803539F1813509F4F3C0823511F1B6
:10FB2000853509F4D3C0863509F4CBC0843609F491
:10FB300065C0843709F4EBC0853709F4D2C0863735
:10FB400009F44AC0809102018F5F809302018530E1
:10FB500071F6E0910001F091010109950E94D87CB5
:10FB6000803349F60E940E7DC2CF0E94D87CC82FF8
:10FB7000803241F784E10E94067D81E40E94067D87
:10FB800086E50E94067D82E50E94067D8C2F0E94FC
:10FB9000067D89E40E94067D83E50E94067D80E55E
:10FBA0000E94067D80E10E94067DA1CF0E94D87C44
:10FBB0008638C0F20E94D87C0E940E7D98CF0E94A9
:10FBC000D87C803809F407C1813809F400C1823833
:10FBD00009F4F9C0883921F080E00E94277D87CFA1
:10FBE00083E00E94277D83CF84E10E94467D0E94AE
:10FBF0000E7D7DCF85E00E94467DF9CF0E94D87CA6
:10FC0000809306020E94D87C8093050280910802AE
:10FC10008E7F809308020E94D87C853409F44BC003
:10FC2000E5E0F1E0119281E0E438F807D9F3D0F390
:10FC3000C0E0D0E0809105029091060218161906E6
:10FC400078F405E011E00E94D87CF80181938F01DF
:10FC500021968091050290910602C817D90798F362
:10FC60000E94D87C803209F06DCF8091080280FF1D
:10FC7000B6C0C0E0D0E02091050230910602121615
:10FC80001306B8F4E0910301F0910401A5E0B1E09E
:10FC9000F999FECFF2BDE1BD8D9180BDFA9AF99A36
:10FCA00031962196C217D30798F3F0930401E0939D
:10FCB000030184E175CF809108028160809308027E
:10FCC000AFCF84E00E94467D80E087CF0E94D87C41
:10FCD000809303010E94D87C809304010E940E7DD2
:10FCE00006CF0E94D87C803209F02CCF84E10E949C
:10FCF000067D8EE10E94067D85E90E94067D88E0F2
:10FD00004FCF0E940E7D88E080936000FFCF0E945D
:10FD1000D87C809306020E94D87C809305020E94C2
:10FD2000D87C853409F449C0809108028E7F809385
:10FD300008028091030190910401880F991F90930C
:10FD40000401809303010E94D87C803209F0CFCE59
:10FD500084E10E94067DC0E0D0E020910502309150
:10FD600006021216130608F01DCFE0910301F09170
:10FD700004018091080280FF96C0F999FECFF2BD80
:10FD8000E1BDF89A80B50E94067DE0910301F091F3
:10FD900004013196F0930401E093030120910502E0
:10FDA000309106022196C217D30718F3FBCEE091DB
:10FDB0000001F0910101099586CE809108028160D1
:10FDC00080930802C0CF80E10E94277D90CE81E021
:10FDD0000E94277D8CCE82E00E94277D88CE809174
:10FDE000030190910401880F991F9093040180935F
:10FDF00003018091050280FF09C080910502909166
:10FE0000060201969093060280930502F999FECFAF
:10FE10001127E0910301F0910401C5E0D1E0809148
:10FE2000050290910602103091F400915700017084
:10FE30000130D9F303E000935700E8950091570093
:10FE400001700130D9F301E100935700E895099062
:10FE500019900091570001700130D9F301E000932F
:10FE60005700E8951395103898F011270091570026
:10FE700001700130D9F305E000935700E895009137
:10FE8000570001700130D9F301E100935700E89564
:10FE90003296029709F0C7CF103011F00296E5CFE5
:10FEA000112484E17DCE869580FF06C03196F093C3
:10FEB0000401E093030176CF84910E94067D209196
:10FEC000050230910602E0910301F0910401EECFAA
:10FED0001F93CF930E94D87CC82F0E94067D0E945A
:10FEE000D87C182F0E94067DC1362CF0C7551136DC
:10FEF0003CF0175508C0C033D4F3C0531136CCF7CB
:10FF000010330CF01053C295C07FC10F8C2F99276E
:10FF100087FD9095CF911F910895CF93282F992712
:10FF200087FD9095807F907095958795959587959D
:10FF300095958795959587958A303CF0895AC22F7B
:10FF4000CF70CA303CF0C95A06C0805DC22FCF7056
:10FF5000CA30CCF7C05D0E94067D8C2F0E94067DC2
:06FF6000CF910895FFCFD0
:040000030000F80001
:00000001FF
@@ -1,120 +0,0 @@
:10F800000C94387C0C94557C0C94557C0C94557C51
:10F810000C94557C0C94557C0C94557C0C94557C24
:10F820000C94557C0C94557C0C94557C0C94557C14
:10F830000C94557C0C94557C0C94557C0C94557C04
:10F840000C94557C0C94557C0C94557C0C94557CF4
:10F850000C94557C0C94557C0C94557C0C94557CE4
:10F860000C94557C0C94557C0C94557C0C94557CD4
:10F8700011241FBECFEFD0E1DEBFCDBF11E0A0E06D
:10F88000B1E0EAE5FFEF02C005900D92A030B107AC
:10F89000D9F712E0A0E0B1E001C01D92A930B10794
:10F8A000E1F70E944D7D0C94AC7F0C94007CCF93CB
:10F8B000DF93CDB7DEB724970FB6F894DEBF0FBE47
:10F8C000CDBF882309F481E020E0482F552741155A
:10F8D000510509F43DC0289A19821A821B821C82A4
:10F8E0000BC089819A81AB81BC810196A11DB11D9C
:10F8F00089839A83AB83BC8389819A81AB81BC81E4
:10F9000080589E43A040B04060F3289819821A8224
:10F910001B821C820BC089819A81AB81BC810196BC
:10F92000A11DB11D89839A83AB83BC8389819A8190
:10F93000AB81BC8180509A4FA040B04060F32F5FF4
:10F94000822F992787FD9095841795070CF4C3CFD4
:10F9500019821A821B821C8289819A81AB81BC81A7
:10F9600080509147A240B040A0F489819A81AB8138
:10F97000BC810196A11DB11D89839A83AB83BC8391
:10F9800089819A81AB81BC8180509147A240B0406F
:10F9900060F324960FB6F894DEBF0FBECDBFDF91A3
:10F9A000CF910895EF92FF920F931F93EE24FF24BF
:10F9B000870128988091C00087FD17C00894E11C3A
:10F9C000F11C011D111D81E0E81689E0F8068DE3A8
:10F9D000080780E0180770F3E0910001F091010141
:10F9E00009958091C00087FFE9CF289A8091C600D1
:10F9F000992787FD90951F910F91FF90EF900895A3
:10FA0000982F8091C00085FFFCCF9093C600089589
:10FA10000E94D27C803271F0809102018F5F8093CE
:10FA20000201853009F00895E0910001F091010193
:10FA30000995089584E10E94007D80E10E94007D87
:10FA40000895CF93C82F0E94D27C803241F08091DC
:10FA500002018F5F80930201853081F40AC084E146
:10FA60000E94007D8C2F0E94007D80E10E94007D1D
:10FA700005C0E0910001F09101010995CF91089531
:10FA8000282F90E007C08091C0008823E4F7809180
:10FA9000C6009F5F9217B8F30895CFEFD0E1DEBFA5
:10FAA000CDBF000094B714BE809160008861809340
:10FAB00060001092600091FF74C189E18093C400DE
:10FAC0001092C50088E18093C10086E08093C20057
:10FAD0005098589A209A83E00E94577C81E00E94B7
:10FAE000577C0E94D27C8033B9F18133C1F18034DC
:10FAF00009F456C0813409F45CC0823409F46EC044
:10FB0000853409F471C0803539F1813509F4F3C0C9
:10FB1000823511F1853509F4D3C0863509F4CBC09F
:10FB2000843609F465C0843709F4EBC0853709F4DD
:10FB3000D2C0863709F44AC0809102018F5F80935A
:10FB40000201853071F6E0910001F0910101099503
:10FB50000E94D27C803349F60E94087DC2CF0E9469
:10FB6000D27CC82F803241F784E10E94007D81E47D
:10FB70000E94007D86E50E94007D82E50E94007D56
:10FB80008C2F0E94007D89E40E94007D83E50E9405
:10FB9000007D80E50E94007D80E10E94007DA1CF74
:10FBA0000E94D27C8638C0F20E94D27C0E94087DDE
:10FBB00098CF0E94D27C803809F407C1813809F4BB
:10FBC00000C1823809F4F9C0883921F080E00E9430
:10FBD000217D87CF83E00E94217D83CF84E10E9435
:10FBE000407D0E94087D7DCF85E00E94407DF9CF59
:10FBF0000E94D27C809306020E94D27C80930502F0
:10FC0000809108028E7F809308020E94D27C853406
:10FC100009F44BC0E5E0F1E0119281E0E438F80727
:10FC2000D9F3D0F3C0E0D0E08091050290910602B4
:10FC30001816190678F405E011E00E94D27CF8014C
:10FC400081938F0121968091050290910602C81739
:10FC5000D90798F30E94D27C803209F06DCF809151
:10FC6000080280FFB6C0C0E0D0E0209105023091CC
:10FC7000060212161306B8F4E0910301F091040194
:10FC8000A5E0B1E0F999FECFF2BDE1BD8D9180BD57
:10FC9000FA9AF99A31962196C217D30798F3F093FE
:10FCA0000401E093030184E175CF80910802816033
:10FCB00080930802AFCF84E00E94407D80E087CF30
:10FCC0000E94D27C809303010E94D27C8093040125
:10FCD0000E94087D06CF0E94D27C803209F02CCF92
:10FCE00084E10E94007D8EE10E94007D86E90E94F1
:10FCF000007D89E04FCF0E94087D88E080936000FE
:10FD0000FFCF0E94D27C809306020E94D27C809317
:10FD100005020E94D27C853409F449C08091080212
:10FD20008E7F809308028091030190910401880FD7
:10FD3000991F90930401809303010E94D27C80322A
:10FD400009F0CFCE84E10E94007DC0E0D0E0209198
:10FD50000502309106021216130608F01DCFE0913D
:10FD60000301F09104018091080280FF96C0F99987
:10FD7000FECFF2BDE1BDF89A80B50E94007DE09112
:10FD80000301F09104013196F0930401E093030123
:10FD900020910502309106022196C217D30718F36D
:10FDA000FBCEE0910001F0910101099586CE809192
:10FDB0000802816080930802C0CF80E10E94217D0B
:10FDC00090CE81E00E94217D8CCE82E00E94217D38
:10FDD00088CE8091030190910401880F991F909320
:10FDE0000401809303018091050280FF09C0809186
:10FDF00005029091060201969093060280930502F7
:10FE0000F999FECF1127E0910301F0910401C5E0BB
:10FE1000D1E08091050290910602103091F400919A
:10FE2000570001700130D9F303E000935700E895C3
:10FE30000091570001700130D9F301E100935700A0
:10FE4000E895099019900091570001700130D9F39D
:10FE500001E000935700E8951395103898F01127AA
:10FE60000091570001700130D9F305E0009357006D
:10FE7000E8950091570001700130D9F301E100933A
:10FE80005700E8953296029709F0C7CF103011F06D
:10FE90000296E5CF112484E17DCE869580FF06C0D1
:10FEA0003196F0930401E093030176CF84910E9490
:10FEB000007D2091050230910602E0910301F0914E
:10FEC0000401EECF1F93CF930E94D27CC82F0E94D3
:10FED000007D0E94D27C182F0E94007DC1362CF03C
:10FEE000C75511363CF0175508C0C033D4F3C05382
:10FEF0001136CCF710330CF01053C295C07FC10FF0
:10FF00008C2F992787FD9095CF911F910895CF93BE
:10FF1000282F992787FD9095807F907095958795DC
:10FF20009595879595958795959587958A303CF019
:10FF3000895AC22FCF70CA303CF0C95A06C0805DC2
:10FF4000C22FCF70CA30CCF7C05D0E94007D8C2FCD
:0AFF50000E94007DCF910895FFCFBD
:040000030000F80001
:00000001FF
@@ -1,121 +0,0 @@
:10F800000C943E7C0C945B7C0C945B7C0C945B7C39
:10F810000C945B7C0C945B7C0C945B7C0C945B7C0C
:10F820000C945B7C0C945B7C0C945B7C0C945B7CFC
:10F830000C945B7C0C945B7C0C945B7C0C945B7CEC
:10F840000C945B7C0C945B7C0C945B7C0C945B7CDC
:10F850000C945B7C0C945B7C0C945B7C0C945B7CCC
:10F860000C945B7C0C945B7C0C945B7C0C945B7CBC
:10F870000C945B7C0C945B7C0C945B7C11241FBE11
:10F88000CFEFD0E1DEBFCDBF11E0A0E0B1E0E6E612
:10F89000FFEF02C005900D92A030B107D9F712E03A
:10F8A000A0E0B1E001C01D92A930B107E1F70E94CC
:10F8B000537D0C94B27F0C94007CCF93DF93CDB733
:10F8C000DEB724970FB6F894DEBF0FBECDBF8823F6
:10F8D00009F481E020E0482F55274115510509F42E
:10F8E0003DC0289A19821A821B821C820BC0898112
:10F8F0009A81AB81BC810196A11DB11D89839A8338
:10F90000AB83BC8389819A81AB81BC8180589E4343
:10F91000A040B04060F3289819821A821B821C8292
:10F920000BC089819A81AB81BC810196A11DB11D5B
:10F9300089839A83AB83BC8389819A81AB81BC81A3
:10F9400080509A4FA040B04060F32F5F822F9927DC
:10F9500087FD9095841795070CF4C3CF19821A82FE
:10F960001B821C8289819A81AB81BC818050914726
:10F97000A240B040A0F489819A81AB81BC810196FC
:10F98000A11DB11D89839A83AB83BC8389819A8130
:10F99000AB81BC8180509147A240B04060F3249677
:10F9A0000FB6F894DEBF0FBECDBFDF91CF910895A3
:10F9B000EF92FF920F931F93EE24FF248701289864
:10F9C0008091C00087FD17C00894E11CF11C011D47
:10F9D000111D81E0E81689E0F8068DE3080780E054
:10F9E000180770F3E0910001F091010109958091F1
:10F9F000C00087FFE9CF289A8091C600992787FD2C
:10FA000090951F910F91FF90EF900895982F8091FE
:10FA1000C00085FFFCCF9093C60008950E94D87C5B
:10FA2000803271F0809102018F5F809302018530F6
:10FA300009F00895E0910001F09101010995089500
:10FA400084E10E94067D80E10E94067D0895CF93A7
:10FA5000C82F0E94D87C803241F0809102018F5FD4
:10FA600080930201853081F40AC084E10E94067D02
:10FA70008C2F0E94067D80E10E94067D05C0E091EA
:10FA80000001F09101010995CF910895282F90E090
:10FA900007C08091C0008823E4F78091C6009F5F73
:10FAA0009217B8F30895CFEFD0E1DEBFCDBF0000CD
:10FAB00094B714BE809160008861809360001092BA
:10FAC000600091FF74C189E18093C4001092C50069
:10FAD00088E18093C10086E08093C2005098589AD4
:10FAE000209A83E00E945D7C81E00E945D7C0E9400
:10FAF000D87C8033B9F18133C1F1803409F456C028
:10FB0000813409F45CC0823409F46EC0853409F490
:10FB100071C0803539F1813509F4F3C0823511F1B6
:10FB2000853509F4D3C0863509F4CBC0843609F491
:10FB300065C0843709F4EBC0853709F4D2C0863735
:10FB400009F44AC0809102018F5F809302018530E1
:10FB500071F6E0910001F091010109950E94D87CB5
:10FB6000803349F60E940E7DC2CF0E94D87CC82FF8
:10FB7000803241F784E10E94067D81E40E94067D87
:10FB800086E50E94067D82E50E94067D8C2F0E94FC
:10FB9000067D89E40E94067D83E50E94067D80E55E
:10FBA0000E94067D80E10E94067DA1CF0E94D87C44
:10FBB0008638C0F20E94D87C0E940E7D98CF0E94A9
:10FBC000D87C803809F407C1813809F400C1823833
:10FBD00009F4F9C0883921F080E00E94277D87CFA1
:10FBE00083E00E94277D83CF84E10E94467D0E94AE
:10FBF0000E7D7DCF85E00E94467DF9CF0E94D87CA6
:10FC0000809306020E94D87C8093050280910802AE
:10FC10008E7F809308020E94D87C853409F44BC003
:10FC2000E5E0F1E0119281E0E438F807D9F3D0F390
:10FC3000C0E0D0E0809105029091060218161906E6
:10FC400078F405E011E00E94D87CF80181938F01DF
:10FC500021968091050290910602C817D90798F362
:10FC60000E94D87C803209F06DCF8091080280FF1D
:10FC7000B6C0C0E0D0E02091050230910602121615
:10FC80001306B8F4E0910301F0910401A5E0B1E09E
:10FC9000F999FECFF2BDE1BD8D9180BDFA9AF99A36
:10FCA00031962196C217D30798F3F0930401E0939D
:10FCB000030184E175CF809108028160809308027E
:10FCC000AFCF84E00E94467D80E087CF0E94D87C41
:10FCD000809303010E94D87C809304010E940E7DD2
:10FCE00006CF0E94D87C803209F02CCF84E10E949C
:10FCF000067D8EE10E94067D86E90E94067D8AE0EF
:10FD00004FCF0E940E7D88E080936000FFCF0E945D
:10FD1000D87C809306020E94D87C809305020E94C2
:10FD2000D87C853409F449C0809108028E7F809385
:10FD300008028091030190910401880F991F90930C
:10FD40000401809303010E94D87C803209F0CFCE59
:10FD500084E10E94067DC0E0D0E020910502309150
:10FD600006021216130608F01DCFE0910301F09170
:10FD700004018091080280FF96C0F999FECFF2BD80
:10FD8000E1BDF89A80B50E94067DE0910301F091F3
:10FD900004013196F0930401E093030120910502E0
:10FDA000309106022196C217D30718F3FBCEE091DB
:10FDB0000001F0910101099586CE809108028160D1
:10FDC00080930802C0CF80E10E94277D90CE81E021
:10FDD0000E94277D8CCE82E00E94277D88CE809174
:10FDE000030190910401880F991F9093040180935F
:10FDF00003018091050280FF09C080910502909166
:10FE0000060201969093060280930502F999FECFAF
:10FE10001127E0910301F0910401C5E0D1E0809148
:10FE2000050290910602103091F400915700017084
:10FE30000130D9F303E000935700E8950091570093
:10FE400001700130D9F301E100935700E895099062
:10FE500019900091570001700130D9F301E000932F
:10FE60005700E8951395103898F011270091570026
:10FE700001700130D9F305E000935700E895009137
:10FE8000570001700130D9F301E100935700E89564
:10FE90003296029709F0C7CF103011F00296E5CFE5
:10FEA000112484E17DCE869580FF06C03196F093C3
:10FEB0000401E093030176CF84910E94067D209196
:10FEC000050230910602E0910301F0910401EECFAA
:10FED0001F93CF930E94D87CC82F0E94067D0E945A
:10FEE000D87C182F0E94067DC1362CF0C7551136DC
:10FEF0003CF0175508C0C033D4F3C0531136CCF7CB
:10FF000010330CF01053C295C07FC10F8C2F99276E
:10FF100087FD9095CF911F910895CF93282F992712
:10FF200087FD9095807F907095958795959587959D
:10FF300095958795959587958A303CF0895AC22F7B
:10FF4000CF70CA303CF0C95A06C0805DC22FCF7056
:10FF5000CA30CCF7C05D0E94067D8C2F0E94067DC2
:06FF6000CF910895FFCFD0
:040000030000F80001
:00000001FF
@@ -1,56 +0,0 @@
# Makefile for ATmegaBOOT
# E.Lins, 18.7.2005
# $Id$
# program name should not be changed...
PROGRAM = ATmegaBOOT_644P
# enter the target CPU frequency
AVR_FREQ = 16000000L
MCU_TARGET = atmega644p
LDSECTION = --section-start=.text=0xF800
OBJ = $(PROGRAM).o
OPTIMIZE = -O2
DEFS =
LIBS =
CC = avr-gcc
# Override is only needed by avr-lib build system.
override CFLAGS = -g -Wall $(OPTIMIZE) -mmcu=$(MCU_TARGET) -DF_CPU=$(AVR_FREQ) $(DEFS)
override LDFLAGS = -Wl,$(LDSECTION)
#override LDFLAGS = -Wl,-Map,$(PROGRAM).map,$(LDSECTION)
OBJCOPY = avr-objcopy
OBJDUMP = avr-objdump
all: CFLAGS += '-DMAX_TIME_COUNT=8000000L>>1' -DADABOOT
all: $(PROGRAM).hex
$(PROGRAM).hex: $(PROGRAM).elf
$(OBJCOPY) -j .text -j .data -O ihex $< $@
$(PROGRAM).elf: $(OBJ)
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS)
$(OBJ): ATmegaBOOT.c
avr-gcc $(CFLAGS) $(LDFLAGS) -c -g -O2 -Wall -mmcu=$(MCU_TARGET) ATmegaBOOT.c -o $(PROGRAM).o
%.lst: %.elf
$(OBJDUMP) -h -S $< > $@
%.srec: %.elf
$(OBJCOPY) -j .text -j .data -O srec $< $@
%.bin: %.elf
$(OBJCOPY) -j .text -j .data -O binary $< $@
clean:
rm -rf *.o *.elf *.lst *.map *.sym *.lss *.eep *.srec *.bin *.hex
@@ -1,3 +0,0 @@
Note: This bootloader support ATmega644, ATmega644P and ATmega324P.
To build, set PROGRAM and MCU_TARGET in the Makefile according to your target device.
@@ -1,303 +0,0 @@
/*
HardwareSerial.cpp - Hardware serial library for Wiring
Copyright (c) 2006 Nicholas Zambetti. All right reserved.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Modified 23 November 2006 by David A. Mellis
Modified 28 September 2010 by Mark Sproul
*/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <inttypes.h>
#include "wiring.h"
#include "wiring_private.h"
// this next line disables the entire HardwareSerial.cpp,
// this is so I can support Attiny series and any other chip without a uart
#if defined(UBRRH) || defined(UBRR0H) || defined(UBRR1H) || defined(UBRR2H) || defined(UBRR3H)
#include "HardwareSerial.h"
// Define constants and variables for buffering incoming serial data. We're
// using a ring buffer (I think), in which rx_buffer_head is the index of the
// location to which to write the next incoming character and rx_buffer_tail
// is the index of the location from which to read.
#if (RAMEND < 1000)
#define RX_BUFFER_SIZE 32
#else
#define RX_BUFFER_SIZE 128
#endif
struct ring_buffer
{
unsigned char buffer[RX_BUFFER_SIZE];
int head;
int tail;
};
#if defined(UBRRH) || defined(UBRR0H)
ring_buffer rx_buffer = { { 0 }, 0, 0 };
#endif
#if defined(UBRR1H)
ring_buffer rx_buffer1 = { { 0 }, 0, 0 };
#endif
#if defined(UBRR2H)
ring_buffer rx_buffer2 = { { 0 }, 0, 0 };
#endif
#if defined(UBRR3H)
ring_buffer rx_buffer3 = { { 0 }, 0, 0 };
#endif
inline void store_char(unsigned char c, ring_buffer *rx_buffer)
{
int i = (unsigned int)(rx_buffer->head + 1) % RX_BUFFER_SIZE;
// if we should be storing the received character into the location
// just before the tail (meaning that the head would advance to the
// current location of the tail), we're about to overflow the buffer
// and so we don't write the character or advance the head.
if (i != rx_buffer->tail) {
rx_buffer->buffer[rx_buffer->head] = c;
rx_buffer->head = i;
}
}
#if defined(USART_RX_vect)
SIGNAL(USART_RX_vect)
{
#if defined(UDR0)
unsigned char c = UDR0;
#elif defined(UDR)
unsigned char c = UDR; // atmega8535
#else
#error UDR not defined
#endif
store_char(c, &rx_buffer);
}
#elif defined(SIG_USART0_RECV) && defined(UDR0)
SIGNAL(SIG_USART0_RECV)
{
unsigned char c = UDR0;
store_char(c, &rx_buffer);
}
#elif defined(SIG_UART0_RECV) && defined(UDR0)
SIGNAL(SIG_UART0_RECV)
{
unsigned char c = UDR0;
store_char(c, &rx_buffer);
}
//#elif defined(SIG_USART_RECV)
#elif defined(USART0_RX_vect)
// fixed by Mark Sproul this is on the 644/644p
//SIGNAL(SIG_USART_RECV)
SIGNAL(USART0_RX_vect)
{
#if defined(UDR0)
unsigned char c = UDR0;
#elif defined(UDR)
unsigned char c = UDR; // atmega8, atmega32
#else
#error UDR not defined
#endif
store_char(c, &rx_buffer);
}
#elif defined(SIG_UART_RECV)
// this is for atmega8
SIGNAL(SIG_UART_RECV)
{
#if defined(UDR0)
unsigned char c = UDR0; // atmega645
#elif defined(UDR)
unsigned char c = UDR; // atmega8
#endif
store_char(c, &rx_buffer);
}
#elif defined(USBCON)
#warning No interrupt handler for usart 0
#warning Serial(0) is on USB interface
#else
#error No interrupt handler for usart 0
#endif
//#if defined(SIG_USART1_RECV)
#if defined(USART1_RX_vect)
//SIGNAL(SIG_USART1_RECV)
SIGNAL(USART1_RX_vect)
{
unsigned char c = UDR1;
store_char(c, &rx_buffer1);
}
#elif defined(SIG_USART1_RECV)
#error SIG_USART1_RECV
#endif
#if defined(USART2_RX_vect) && defined(UDR2)
SIGNAL(USART2_RX_vect)
{
unsigned char c = UDR2;
store_char(c, &rx_buffer2);
}
#elif defined(SIG_USART2_RECV)
#error SIG_USART2_RECV
#endif
#if defined(USART3_RX_vect) && defined(UDR3)
SIGNAL(USART3_RX_vect)
{
unsigned char c = UDR3;
store_char(c, &rx_buffer3);
}
#elif defined(SIG_USART3_RECV)
#error SIG_USART3_RECV
#endif
// Constructors ////////////////////////////////////////////////////////////////
HardwareSerial::HardwareSerial(ring_buffer *rx_buffer,
volatile uint8_t *ubrrh, volatile uint8_t *ubrrl,
volatile uint8_t *ucsra, volatile uint8_t *ucsrb,
volatile uint8_t *udr,
uint8_t rxen, uint8_t txen, uint8_t rxcie, uint8_t udre, uint8_t u2x)
{
_rx_buffer = rx_buffer;
_ubrrh = ubrrh;
_ubrrl = ubrrl;
_ucsra = ucsra;
_ucsrb = ucsrb;
_udr = udr;
_rxen = rxen;
_txen = txen;
_rxcie = rxcie;
_udre = udre;
_u2x = u2x;
}
// Public Methods //////////////////////////////////////////////////////////////
void HardwareSerial::begin(long baud)
{
uint16_t baud_setting;
bool use_u2x = true;
#if F_CPU == 16000000UL
// hardcoded exception for compatibility with the bootloader shipped
// with the Duemilanove and previous boards and the firmware on the 8U2
// on the Uno and Mega 2560.
if (baud == 57600) {
use_u2x = false;
}
#endif
if (use_u2x) {
*_ucsra = 1 << _u2x;
baud_setting = (F_CPU / 4 / baud - 1) / 2;
} else {
*_ucsra = 0;
baud_setting = (F_CPU / 8 / baud - 1) / 2;
}
// assign the baud_setting, a.k.a. ubbr (USART Baud Rate Register)
*_ubrrh = baud_setting >> 8;
*_ubrrl = baud_setting;
sbi(*_ucsrb, _rxen);
sbi(*_ucsrb, _txen);
sbi(*_ucsrb, _rxcie);
}
void HardwareSerial::end()
{
cbi(*_ucsrb, _rxen);
cbi(*_ucsrb, _txen);
cbi(*_ucsrb, _rxcie);
}
int HardwareSerial::available(void)
{
return (unsigned int)(RX_BUFFER_SIZE + _rx_buffer->head - _rx_buffer->tail) % RX_BUFFER_SIZE;
}
int HardwareSerial::peek(void)
{
if (_rx_buffer->head == _rx_buffer->tail) {
return -1;
} else {
return _rx_buffer->buffer[_rx_buffer->tail];
}
}
int HardwareSerial::read(void)
{
// if the head isn't ahead of the tail, we don't have any characters
if (_rx_buffer->head == _rx_buffer->tail) {
return -1;
} else {
unsigned char c = _rx_buffer->buffer[_rx_buffer->tail];
_rx_buffer->tail = (unsigned int)(_rx_buffer->tail + 1) % RX_BUFFER_SIZE;
return c;
}
}
void HardwareSerial::flush()
{
// don't reverse this or there may be problems if the RX interrupt
// occurs after reading the value of rx_buffer_head but before writing
// the value to rx_buffer_tail; the previous value of rx_buffer_head
// may be written to rx_buffer_tail, making it appear as if the buffer
// don't reverse this or there may be problems if the RX interrupt
// occurs after reading the value of rx_buffer_head but before writing
// the value to rx_buffer_tail; the previous value of rx_buffer_head
// may be written to rx_buffer_tail, making it appear as if the buffer
// were full, not empty.
_rx_buffer->head = _rx_buffer->tail;
}
void HardwareSerial::write(uint8_t c)
{
while (!((*_ucsra) & (1 << _udre)))
;
*_udr = c;
}
// Preinstantiate Objects //////////////////////////////////////////////////////
#if defined(UBRRH) && defined(UBRRL)
HardwareSerial Serial(&rx_buffer, &UBRRH, &UBRRL, &UCSRA, &UCSRB, &UDR, RXEN, TXEN, RXCIE, UDRE, U2X);
#elif defined(UBRR0H) && defined(UBRR0L)
HardwareSerial Serial(&rx_buffer, &UBRR0H, &UBRR0L, &UCSR0A, &UCSR0B, &UDR0, RXEN0, TXEN0, RXCIE0, UDRE0, U2X0);
#elif defined(USBCON)
#warning no serial port defined (port 0)
#else
#error no serial port defined (port 0)
#endif
#if defined(UBRR1H)
HardwareSerial Serial1(&rx_buffer1, &UBRR1H, &UBRR1L, &UCSR1A, &UCSR1B, &UDR1, RXEN1, TXEN1, RXCIE1, UDRE1, U2X1);
#endif
#if defined(UBRR2H)
HardwareSerial Serial2(&rx_buffer2, &UBRR2H, &UBRR2L, &UCSR2A, &UCSR2B, &UDR2, RXEN2, TXEN2, RXCIE2, UDRE2, U2X2);
#endif
#if defined(UBRR3H)
HardwareSerial Serial3(&rx_buffer3, &UBRR3H, &UBRR3L, &UCSR3A, &UCSR3B, &UDR3, RXEN3, TXEN3, RXCIE3, UDRE3, U2X3);
#endif
#endif // whole file
@@ -1,76 +0,0 @@
/*
HardwareSerial.h - Hardware serial library for Wiring
Copyright (c) 2006 Nicholas Zambetti. All right reserved.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Modified 28 September 2010 by Mark Sproul
*/
#ifndef HardwareSerial_h
#define HardwareSerial_h
#include <inttypes.h>
#include "Stream.h"
struct ring_buffer;
class HardwareSerial : public Stream
{
private:
ring_buffer *_rx_buffer;
volatile uint8_t *_ubrrh;
volatile uint8_t *_ubrrl;
volatile uint8_t *_ucsra;
volatile uint8_t *_ucsrb;
volatile uint8_t *_udr;
uint8_t _rxen;
uint8_t _txen;
uint8_t _rxcie;
uint8_t _udre;
uint8_t _u2x;
public:
HardwareSerial(ring_buffer *rx_buffer,
volatile uint8_t *ubrrh, volatile uint8_t *ubrrl,
volatile uint8_t *ucsra, volatile uint8_t *ucsrb,
volatile uint8_t *udr,
uint8_t rxen, uint8_t txen, uint8_t rxcie, uint8_t udre, uint8_t u2x);
void begin(long);
void end();
virtual int available(void);
virtual int peek(void);
virtual int read(void);
virtual void flush(void);
virtual void write(uint8_t);
using Print::write; // pull in write(str) and write(buf, size) from Print
};
#if defined(UBRRH) || defined(UBRR0H)
extern HardwareSerial Serial;
#elif defined(USBCON)
#include "usb_api.h"
#endif
#if defined(UBRR1H)
extern HardwareSerial Serial1;
#endif
#if defined(UBRR2H)
extern HardwareSerial Serial2;
#endif
#if defined(UBRR3H)
extern HardwareSerial Serial3;
#endif
#endif
@@ -1,220 +0,0 @@
/*
Print.cpp - Base class that provides print() and println()
Copyright (c) 2008 David A. Mellis. All right reserved.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Modified 23 November 2006 by David A. Mellis
*/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include "wiring.h"
#include "Print.h"
// Public Methods //////////////////////////////////////////////////////////////
/* default implementation: may be overridden */
void Print::write(const char *str)
{
while (*str)
write(*str++);
}
/* default implementation: may be overridden */
void Print::write(const uint8_t *buffer, size_t size)
{
while (size--)
write(*buffer++);
}
void Print::print(const String &s)
{
for (int i = 0; i < s.length(); i++) {
write(s[i]);
}
}
void Print::print(const char str[])
{
write(str);
}
void Print::print(char c, int base)
{
print((long) c, base);
}
void Print::print(unsigned char b, int base)
{
print((unsigned long) b, base);
}
void Print::print(int n, int base)
{
print((long) n, base);
}
void Print::print(unsigned int n, int base)
{
print((unsigned long) n, base);
}
void Print::print(long n, int base)
{
if (base == 0) {
write(n);
} else if (base == 10) {
if (n < 0) {
print('-');
n = -n;
}
printNumber(n, 10);
} else {
printNumber(n, base);
}
}
void Print::print(unsigned long n, int base)
{
if (base == 0) write(n);
else printNumber(n, base);
}
void Print::print(double n, int digits)
{
printFloat(n, digits);
}
void Print::println(void)
{
print('\r');
print('\n');
}
void Print::println(const String &s)
{
print(s);
println();
}
void Print::println(const char c[])
{
print(c);
println();
}
void Print::println(char c, int base)
{
print(c, base);
println();
}
void Print::println(unsigned char b, int base)
{
print(b, base);
println();
}
void Print::println(int n, int base)
{
print(n, base);
println();
}
void Print::println(unsigned int n, int base)
{
print(n, base);
println();
}
void Print::println(long n, int base)
{
print(n, base);
println();
}
void Print::println(unsigned long n, int base)
{
print(n, base);
println();
}
void Print::println(double n, int digits)
{
print(n, digits);
println();
}
// Private Methods /////////////////////////////////////////////////////////////
void Print::printNumber(unsigned long n, uint8_t base)
{
unsigned char buf[8 * sizeof(long)]; // Assumes 8-bit chars.
unsigned long i = 0;
if (n == 0) {
print('0');
return;
}
while (n > 0) {
buf[i++] = n % base;
n /= base;
}
for (; i > 0; i--)
print((char) (buf[i - 1] < 10 ?
'0' + buf[i - 1] :
'A' + buf[i - 1] - 10));
}
void Print::printFloat(double number, uint8_t digits)
{
// Handle negative numbers
if (number < 0.0)
{
print('-');
number = -number;
}
// Round correctly so that print(1.999, 2) prints as "2.00"
double rounding = 0.5;
for (uint8_t i=0; i<digits; ++i)
rounding /= 10.0;
number += rounding;
// Extract the integer part of the number and print it
unsigned long int_part = (unsigned long)number;
double remainder = number - (double)int_part;
print(int_part);
// Print the decimal point, but only if there are digits beyond
if (digits > 0)
print(".");
// Extract digits from the remainder one at a time
while (digits-- > 0)
{
remainder *= 10.0;
int toPrint = int(remainder);
print(toPrint);
remainder -= toPrint;
}
}
@@ -1,66 +0,0 @@
/*
Print.h - Base class that provides print() and println()
Copyright (c) 2008 David A. Mellis. All right reserved.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef Print_h
#define Print_h
#include <inttypes.h>
#include <stdio.h> // for size_t
#include "WString.h"
#define DEC 10
#define HEX 16
#define OCT 8
#define BIN 2
#define BYTE 0
class Print
{
private:
void printNumber(unsigned long, uint8_t);
void printFloat(double, uint8_t);
public:
virtual void write(uint8_t) = 0;
virtual void write(const char *str);
virtual void write(const uint8_t *buffer, size_t size);
void print(const String &);
void print(const char[]);
void print(char, int = BYTE);
void print(unsigned char, int = BYTE);
void print(int, int = DEC);
void print(unsigned int, int = DEC);
void print(long, int = DEC);
void print(unsigned long, int = DEC);
void print(double, int = 2);
void println(const String &s);
void println(const char[]);
void println(char, int = BYTE);
void println(unsigned char, int = BYTE);
void println(int, int = DEC);
void println(unsigned int, int = DEC);
void println(long, int = DEC);
void println(unsigned long, int = DEC);
void println(double, int = 2);
void println(void);
};
#endif
@@ -1,35 +0,0 @@
/*
Stream.h - base class for character-based streams.
Copyright (c) 2010 David A. Mellis. All right reserved.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef Stream_h
#define Stream_h
#include <inttypes.h>
#include "Print.h"
class Stream : public Print
{
public:
virtual int available() = 0;
virtual int read() = 0;
virtual int peek() = 0;
virtual void flush() = 0;
};
#endif
@@ -1,601 +0,0 @@
/* Tone.cpp
A Tone Generator Library
Written by Brett Hagman
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Version Modified By Date Comments
------- ----------- -------- --------
0001 B Hagman 09/08/02 Initial coding
0002 B Hagman 09/08/18 Multiple pins
0003 B Hagman 09/08/18 Moved initialization from constructor to begin()
0004 B Hagman 09/09/26 Fixed problems with ATmega8
0005 B Hagman 09/11/23 Scanned prescalars for best fit on 8 bit timers
09/11/25 Changed pin toggle method to XOR
09/11/25 Fixed timer0 from being excluded
0006 D Mellis 09/12/29 Replaced objects with functions
0007 M Sproul 10/08/29 Changed #ifdefs from cpu to register
*************************************************/
#include <avr/interrupt.h>
#include <avr/pgmspace.h>
#include "wiring.h"
#include "pins_arduino.h"
#if defined(__AVR_ATmega8__) || defined(__AVR_ATmega128__)
#define TCCR2A TCCR2
#define TCCR2B TCCR2
#define COM2A1 COM21
#define COM2A0 COM20
#define OCR2A OCR2
#define TIMSK2 TIMSK
#define OCIE2A OCIE2
#define TIMER2_COMPA_vect TIMER2_COMP_vect
#define TIMSK1 TIMSK
#endif
// timerx_toggle_count:
// > 0 - duration specified
// = 0 - stopped
// < 0 - infinitely (until stop() method called, or new play() called)
#if !defined(__AVR_ATmega8__)
volatile long timer0_toggle_count;
volatile uint8_t *timer0_pin_port;
volatile uint8_t timer0_pin_mask;
#endif
volatile long timer1_toggle_count;
volatile uint8_t *timer1_pin_port;
volatile uint8_t timer1_pin_mask;
volatile long timer2_toggle_count;
volatile uint8_t *timer2_pin_port;
volatile uint8_t timer2_pin_mask;
#if defined(TIMSK3)
volatile long timer3_toggle_count;
volatile uint8_t *timer3_pin_port;
volatile uint8_t timer3_pin_mask;
#endif
#if defined(TIMSK4)
volatile long timer4_toggle_count;
volatile uint8_t *timer4_pin_port;
volatile uint8_t timer4_pin_mask;
#endif
#if defined(TIMSK5)
volatile long timer5_toggle_count;
volatile uint8_t *timer5_pin_port;
volatile uint8_t timer5_pin_mask;
#endif
// MLS: This does not make sense, the 3 options are the same
#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
#define AVAILABLE_TONE_PINS 1
const uint8_t PROGMEM tone_pin_to_timer_PGM[] = { 2 /*, 3, 4, 5, 1, 0 */ };
static uint8_t tone_pins[AVAILABLE_TONE_PINS] = { 255 /*, 255, 255, 255, 255, 255 */ };
#elif defined(__AVR_ATmega8__)
#define AVAILABLE_TONE_PINS 1
const uint8_t PROGMEM tone_pin_to_timer_PGM[] = { 2 /*, 1 */ };
static uint8_t tone_pins[AVAILABLE_TONE_PINS] = { 255 /*, 255 */ };
#else
#define AVAILABLE_TONE_PINS 1
// Leave timer 0 to last.
const uint8_t PROGMEM tone_pin_to_timer_PGM[] = { 2 /*, 1, 0 */ };
static uint8_t tone_pins[AVAILABLE_TONE_PINS] = { 255 /*, 255, 255 */ };
#endif
static int8_t toneBegin(uint8_t _pin)
{
int8_t _timer = -1;
// if we're already using the pin, the timer should be configured.
for (int i = 0; i < AVAILABLE_TONE_PINS; i++) {
if (tone_pins[i] == _pin) {
return pgm_read_byte(tone_pin_to_timer_PGM + i);
}
}
// search for an unused timer.
for (int i = 0; i < AVAILABLE_TONE_PINS; i++) {
if (tone_pins[i] == 255) {
tone_pins[i] = _pin;
_timer = pgm_read_byte(tone_pin_to_timer_PGM + i);
break;
}
}
if (_timer != -1)
{
// Set timer specific stuff
// All timers in CTC mode
// 8 bit timers will require changing prescalar values,
// whereas 16 bit timers are set to either ck/1 or ck/64 prescalar
switch (_timer)
{
#if defined(TCCR0A) && defined(TCCR0B)
case 0:
// 8 bit timer
TCCR0A = 0;
TCCR0B = 0;
bitWrite(TCCR0A, WGM01, 1);
bitWrite(TCCR0B, CS00, 1);
timer0_pin_port = portOutputRegister(digitalPinToPort(_pin));
timer0_pin_mask = digitalPinToBitMask(_pin);
break;
#endif
#if defined(TCCR1A) && defined(TCCR1B) && defined(WGM12)
case 1:
// 16 bit timer
TCCR1A = 0;
TCCR1B = 0;
bitWrite(TCCR1B, WGM12, 1);
bitWrite(TCCR1B, CS10, 1);
timer1_pin_port = portOutputRegister(digitalPinToPort(_pin));
timer1_pin_mask = digitalPinToBitMask(_pin);
break;
#endif
#if defined(TCCR2A) && defined(TCCR2B)
case 2:
// 8 bit timer
TCCR2A = 0;
TCCR2B = 0;
bitWrite(TCCR2A, WGM21, 1);
bitWrite(TCCR2B, CS20, 1);
timer2_pin_port = portOutputRegister(digitalPinToPort(_pin));
timer2_pin_mask = digitalPinToBitMask(_pin);
break;
#endif
#if defined(TCCR3A) && defined(TCCR3B) && defined(TIMSK3)
case 3:
// 16 bit timer
TCCR3A = 0;
TCCR3B = 0;
bitWrite(TCCR3B, WGM32, 1);
bitWrite(TCCR3B, CS30, 1);
timer3_pin_port = portOutputRegister(digitalPinToPort(_pin));
timer3_pin_mask = digitalPinToBitMask(_pin);
break;
#endif
#if defined(TCCR4A) && defined(TCCR4B) && defined(TIMSK4)
case 4:
// 16 bit timer
TCCR4A = 0;
TCCR4B = 0;
#if defined(WGM42)
bitWrite(TCCR4B, WGM42, 1);
#elif defined(CS43)
#warning this may not be correct
// atmega32u4
bitWrite(TCCR4B, CS43, 1);
#endif
bitWrite(TCCR4B, CS40, 1);
timer4_pin_port = portOutputRegister(digitalPinToPort(_pin));
timer4_pin_mask = digitalPinToBitMask(_pin);
break;
#endif
#if defined(TCCR5A) && defined(TCCR5B) && defined(TIMSK5)
case 5:
// 16 bit timer
TCCR5A = 0;
TCCR5B = 0;
bitWrite(TCCR5B, WGM52, 1);
bitWrite(TCCR5B, CS50, 1);
timer5_pin_port = portOutputRegister(digitalPinToPort(_pin));
timer5_pin_mask = digitalPinToBitMask(_pin);
break;
#endif
}
}
return _timer;
}
// frequency (in hertz) and duration (in milliseconds).
void tone(uint8_t _pin, unsigned int frequency, unsigned long duration)
{
uint8_t prescalarbits = 0b001;
long toggle_count = 0;
uint32_t ocr = 0;
int8_t _timer;
_timer = toneBegin(_pin);
if (_timer >= 0)
{
// Set the pinMode as OUTPUT
pinMode(_pin, OUTPUT);
// if we are using an 8 bit timer, scan through prescalars to find the best fit
if (_timer == 0 || _timer == 2)
{
ocr = F_CPU / frequency / 2 - 1;
prescalarbits = 0b001; // ck/1: same for both timers
if (ocr > 255)
{
ocr = F_CPU / frequency / 2 / 8 - 1;
prescalarbits = 0b010; // ck/8: same for both timers
if (_timer == 2 && ocr > 255)
{
ocr = F_CPU / frequency / 2 / 32 - 1;
prescalarbits = 0b011;
}
if (ocr > 255)
{
ocr = F_CPU / frequency / 2 / 64 - 1;
prescalarbits = _timer == 0 ? 0b011 : 0b100;
if (_timer == 2 && ocr > 255)
{
ocr = F_CPU / frequency / 2 / 128 - 1;
prescalarbits = 0b101;
}
if (ocr > 255)
{
ocr = F_CPU / frequency / 2 / 256 - 1;
prescalarbits = _timer == 0 ? 0b100 : 0b110;
if (ocr > 255)
{
// can't do any better than /1024
ocr = F_CPU / frequency / 2 / 1024 - 1;
prescalarbits = _timer == 0 ? 0b101 : 0b111;
}
}
}
}
#if defined(TCCR0B)
if (_timer == 0)
{
TCCR0B = prescalarbits;
}
else
#endif
#if defined(TCCR2B)
{
TCCR2B = prescalarbits;
}
#else
{
// dummy place holder to make the above ifdefs work
}
#endif
}
else
{
// two choices for the 16 bit timers: ck/1 or ck/64
ocr = F_CPU / frequency / 2 - 1;
prescalarbits = 0b001;
if (ocr > 0xffff)
{
ocr = F_CPU / frequency / 2 / 64 - 1;
prescalarbits = 0b011;
}
if (_timer == 1)
{
#if defined(TCCR1B)
TCCR1B = (TCCR1B & 0b11111000) | prescalarbits;
#endif
}
#if defined(TCCR3B)
else if (_timer == 3)
TCCR3B = (TCCR3B & 0b11111000) | prescalarbits;
#endif
#if defined(TCCR4B)
else if (_timer == 4)
TCCR4B = (TCCR4B & 0b11111000) | prescalarbits;
#endif
#if defined(TCCR5B)
else if (_timer == 5)
TCCR5B = (TCCR5B & 0b11111000) | prescalarbits;
#endif
}
// Calculate the toggle count
if (duration > 0)
{
toggle_count = 2 * frequency * duration / 1000;
}
else
{
toggle_count = -1;
}
// Set the OCR for the given timer,
// set the toggle count,
// then turn on the interrupts
switch (_timer)
{
#if defined(OCR0A) && defined(TIMSK0) && defined(OCIE0A)
case 0:
OCR0A = ocr;
timer0_toggle_count = toggle_count;
bitWrite(TIMSK0, OCIE0A, 1);
break;
#endif
case 1:
#if defined(OCR1A) && defined(TIMSK1) && defined(OCIE1A)
OCR1A = ocr;
timer1_toggle_count = toggle_count;
bitWrite(TIMSK1, OCIE1A, 1);
#elif defined(OCR1A) && defined(TIMSK) && defined(OCIE1A)
// this combination is for at least the ATmega32
OCR1A = ocr;
timer1_toggle_count = toggle_count;
bitWrite(TIMSK, OCIE1A, 1);
#endif
break;
#if defined(OCR2A) && defined(TIMSK2) && defined(OCIE2A)
case 2:
OCR2A = ocr;
timer2_toggle_count = toggle_count;
bitWrite(TIMSK2, OCIE2A, 1);
break;
#endif
#if defined(TIMSK3)
case 3:
OCR3A = ocr;
timer3_toggle_count = toggle_count;
bitWrite(TIMSK3, OCIE3A, 1);
break;
#endif
#if defined(TIMSK4)
case 4:
OCR4A = ocr;
timer4_toggle_count = toggle_count;
bitWrite(TIMSK4, OCIE4A, 1);
break;
#endif
#if defined(OCR5A) && defined(TIMSK5) && defined(OCIE5A)
case 5:
OCR5A = ocr;
timer5_toggle_count = toggle_count;
bitWrite(TIMSK5, OCIE5A, 1);
break;
#endif
}
}
}
// XXX: this function only works properly for timer 2 (the only one we use
// currently). for the others, it should end the tone, but won't restore
// proper PWM functionality for the timer.
void disableTimer(uint8_t _timer)
{
switch (_timer)
{
case 0:
#if defined(TIMSK0)
TIMSK0 = 0;
#elif defined(TIMSK)
TIMSK = 0; // atmega32
#endif
break;
#if defined(TIMSK1) && defined(OCIE1A)
case 1:
bitWrite(TIMSK1, OCIE1A, 0);
break;
#endif
case 2:
#if defined(TIMSK2) && defined(OCIE2A)
bitWrite(TIMSK2, OCIE2A, 0); // disable interrupt
#endif
#if defined(TCCR2A) && defined(WGM20)
TCCR2A = (1 << WGM20);
#endif
#if defined(TCCR2B) && defined(CS22)
TCCR2B = (TCCR2B & 0b11111000) | (1 << CS22);
#endif
#if defined(OCR2A)
OCR2A = 0;
#endif
break;
#if defined(TIMSK3)
case 3:
TIMSK3 = 0;
break;
#endif
#if defined(TIMSK4)
case 4:
TIMSK4 = 0;
break;
#endif
#if defined(TIMSK5)
case 5:
TIMSK5 = 0;
break;
#endif
}
}
void noTone(uint8_t _pin)
{
int8_t _timer = -1;
for (int i = 0; i < AVAILABLE_TONE_PINS; i++) {
if (tone_pins[i] == _pin) {
_timer = pgm_read_byte(tone_pin_to_timer_PGM + i);
tone_pins[i] = 255;
}
}
disableTimer(_timer);
digitalWrite(_pin, 0);
}
#if 0
#if !defined(__AVR_ATmega8__)
ISR(TIMER0_COMPA_vect)
{
if (timer0_toggle_count != 0)
{
// toggle the pin
*timer0_pin_port ^= timer0_pin_mask;
if (timer0_toggle_count > 0)
timer0_toggle_count--;
}
else
{
disableTimer(0);
*timer0_pin_port &= ~(timer0_pin_mask); // keep pin low after stop
}
}
#endif
ISR(TIMER1_COMPA_vect)
{
if (timer1_toggle_count != 0)
{
// toggle the pin
*timer1_pin_port ^= timer1_pin_mask;
if (timer1_toggle_count > 0)
timer1_toggle_count--;
}
else
{
disableTimer(1);
*timer1_pin_port &= ~(timer1_pin_mask); // keep pin low after stop
}
}
#endif
ISR(TIMER2_COMPA_vect)
{
if (timer2_toggle_count != 0)
{
// toggle the pin
*timer2_pin_port ^= timer2_pin_mask;
if (timer2_toggle_count > 0)
timer2_toggle_count--;
}
else
{
// need to call noTone() so that the tone_pins[] entry is reset, so the
// timer gets initialized next time we call tone().
// XXX: this assumes timer 2 is always the first one used.
noTone(tone_pins[0]);
// disableTimer(2);
// *timer2_pin_port &= ~(timer2_pin_mask); // keep pin low after stop
}
}
//#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
#if 0
ISR(TIMER3_COMPA_vect)
{
if (timer3_toggle_count != 0)
{
// toggle the pin
*timer3_pin_port ^= timer3_pin_mask;
if (timer3_toggle_count > 0)
timer3_toggle_count--;
}
else
{
disableTimer(3);
*timer3_pin_port &= ~(timer3_pin_mask); // keep pin low after stop
}
}
ISR(TIMER4_COMPA_vect)
{
if (timer4_toggle_count != 0)
{
// toggle the pin
*timer4_pin_port ^= timer4_pin_mask;
if (timer4_toggle_count > 0)
timer4_toggle_count--;
}
else
{
disableTimer(4);
*timer4_pin_port &= ~(timer4_pin_mask); // keep pin low after stop
}
}
ISR(TIMER5_COMPA_vect)
{
if (timer5_toggle_count != 0)
{
// toggle the pin
*timer5_pin_port ^= timer5_pin_mask;
if (timer5_toggle_count > 0)
timer5_toggle_count--;
}
else
{
disableTimer(5);
*timer5_pin_port &= ~(timer5_pin_mask); // keep pin low after stop
}
}
#endif
@@ -1,168 +0,0 @@
/*
WCharacter.h - Character utility functions for Wiring & Arduino
Copyright (c) 2010 Hernando Barragan. All right reserved.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef Character_h
#define Character_h
#include <ctype.h>
// WCharacter.h prototypes
inline boolean isAlphaNumeric(int c) __attribute__((always_inline));
inline boolean isAlpha(int c) __attribute__((always_inline));
inline boolean isAscii(int c) __attribute__((always_inline));
inline boolean isWhitespace(int c) __attribute__((always_inline));
inline boolean isControl(int c) __attribute__((always_inline));
inline boolean isDigit(int c) __attribute__((always_inline));
inline boolean isGraph(int c) __attribute__((always_inline));
inline boolean isLowerCase(int c) __attribute__((always_inline));
inline boolean isPrintable(int c) __attribute__((always_inline));
inline boolean isPunct(int c) __attribute__((always_inline));
inline boolean isSpace(int c) __attribute__((always_inline));
inline boolean isUpperCase(int c) __attribute__((always_inline));
inline boolean isHexadecimalDigit(int c) __attribute__((always_inline));
inline int toAscii(int c) __attribute__((always_inline));
inline int toLowerCase(int c) __attribute__((always_inline));
inline int toUpperCase(int c)__attribute__((always_inline));
// Checks for an alphanumeric character.
// It is equivalent to (isalpha(c) || isdigit(c)).
inline boolean isAlphaNumeric(int c)
{
return ( isalnum(c) == 0 ? false : true);
}
// Checks for an alphabetic character.
// It is equivalent to (isupper(c) || islower(c)).
inline boolean isAlpha(int c)
{
return ( isalpha(c) == 0 ? false : true);
}
// Checks whether c is a 7-bit unsigned char value
// that fits into the ASCII character set.
inline boolean isAscii(int c)
{
return ( isascii (c) == 0 ? false : true);
}
// Checks for a blank character, that is, a space or a tab.
inline boolean isWhitespace(int c)
{
return ( isblank (c) == 0 ? false : true);
}
// Checks for a control character.
inline boolean isControl(int c)
{
return ( iscntrl (c) == 0 ? false : true);
}
// Checks for a digit (0 through 9).
inline boolean isDigit(int c)
{
return ( isdigit (c) == 0 ? false : true);
}
// Checks for any printable character except space.
inline boolean isGraph(int c)
{
return ( isgraph (c) == 0 ? false : true);
}
// Checks for a lower-case character.
inline boolean isLowerCase(int c)
{
return (islower (c) == 0 ? false : true);
}
// Checks for any printable character including space.
inline boolean isPrintable(int c)
{
return ( isprint (c) == 0 ? false : true);
}
// Checks for any printable character which is not a space
// or an alphanumeric character.
inline boolean isPunct(int c)
{
return ( ispunct (c) == 0 ? false : true);
}
// Checks for white-space characters. For the avr-libc library,
// these are: space, formfeed ('\f'), newline ('\n'), carriage
// return ('\r'), horizontal tab ('\t'), and vertical tab ('\v').
inline boolean isSpace(int c)
{
return ( isspace (c) == 0 ? false : true);
}
// Checks for an uppercase letter.
inline boolean isUpperCase(int c)
{
return ( isupper (c) == 0 ? false : true);
}
// Checks for a hexadecimal digits, i.e. one of 0 1 2 3 4 5 6 7
// 8 9 a b c d e f A B C D E F.
inline boolean isHexadecimalDigit(int c)
{
return ( isxdigit (c) == 0 ? false : true);
}
// Converts c to a 7-bit unsigned char value that fits into the
// ASCII character set, by clearing the high-order bits.
inline int toAscii(int c)
{
return toascii (c);
}
// Warning:
// Many people will be unhappy if you use this function.
// This function will convert accented letters into random
// characters.
// Converts the letter c to lower case, if possible.
inline int toLowerCase(int c)
{
return tolower (c);
}
// Converts the letter c to upper case, if possible.
inline int toUpperCase(int c)
{
return toupper (c);
}
#endif
@@ -1 +0,0 @@
#include "wiring.h"
@@ -1,280 +0,0 @@
/* -*- mode: jde; c-basic-offset: 2; indent-tabs-mode: nil -*- */
/*
Part of the Wiring project - http://wiring.uniandes.edu.co
Copyright (c) 2004-05 Hernando Barragan
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General
Public License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA
Modified 24 November 2006 by David A. Mellis
Modified 1 August 2010 by Mark Sproul
*/
#include <inttypes.h>
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/pgmspace.h>
#include <stdio.h>
#include "WConstants.h"
#include "wiring_private.h"
volatile static voidFuncPtr intFunc[EXTERNAL_NUM_INTERRUPTS];
// volatile static voidFuncPtr twiIntFunc;
void attachInterrupt(uint8_t interruptNum, void (*userFunc)(void), int mode) {
if(interruptNum < EXTERNAL_NUM_INTERRUPTS) {
intFunc[interruptNum] = userFunc;
// Configure the interrupt mode (trigger on low input, any change, rising
// edge, or falling edge). The mode constants were chosen to correspond
// to the configuration bits in the hardware register, so we simply shift
// the mode into place.
// Enable the interrupt.
switch (interruptNum) {
#if defined(EICRA) && defined(EICRB) && defined(EIMSK)
case 2:
EICRA = (EICRA & ~((1 << ISC00) | (1 << ISC01))) | (mode << ISC00);
EIMSK |= (1 << INT0);
break;
case 3:
EICRA = (EICRA & ~((1 << ISC10) | (1 << ISC11))) | (mode << ISC10);
EIMSK |= (1 << INT1);
break;
case 4:
EICRA = (EICRA & ~((1 << ISC20) | (1 << ISC21))) | (mode << ISC20);
EIMSK |= (1 << INT2);
break;
case 5:
EICRA = (EICRA & ~((1 << ISC30) | (1 << ISC31))) | (mode << ISC30);
EIMSK |= (1 << INT3);
break;
case 0:
EICRB = (EICRB & ~((1 << ISC40) | (1 << ISC41))) | (mode << ISC40);
EIMSK |= (1 << INT4);
break;
case 1:
EICRB = (EICRB & ~((1 << ISC50) | (1 << ISC51))) | (mode << ISC50);
EIMSK |= (1 << INT5);
break;
case 6:
EICRB = (EICRB & ~((1 << ISC60) | (1 << ISC61))) | (mode << ISC60);
EIMSK |= (1 << INT6);
break;
case 7:
EICRB = (EICRB & ~((1 << ISC70) | (1 << ISC71))) | (mode << ISC70);
EIMSK |= (1 << INT7);
break;
#elif defined(EICRA) && defined(EIMSK)
case 0:
EICRA = (EICRA & ~((1 << ISC00) | (1 << ISC01))) | (mode << ISC00);
EIMSK |= (1 << INT0);
break;
case 1:
EICRA = (EICRA & ~((1 << ISC10) | (1 << ISC11))) | (mode << ISC10);
EIMSK |= (1 << INT1);
break;
case 2:
EICRA = (EICRA & ~((1 << ISC20) | (1 << ISC21))) | (mode << ISC20);
EIMSK |= (1 << INT2);
break;
#else
case 0:
#if defined(EICRA) && defined(ISC00) && defined(EIMSK)
EICRA = (EICRA & ~((1 << ISC00) | (1 << ISC01))) | (mode << ISC00);
EIMSK |= (1 << INT0);
#elif defined(MCUCR) && defined(ISC00) && defined(GICR)
MCUCR = (MCUCR & ~((1 << ISC00) | (1 << ISC01))) | (mode << ISC00);
GICR |= (1 << INT0);
#elif defined(MCUCR) && defined(ISC00) && defined(GIMSK)
MCUCR = (MCUCR & ~((1 << ISC00) | (1 << ISC01))) | (mode << ISC00);
GIMSK |= (1 << INT0);
#else
#error attachInterrupt not finished for this CPU (case 0)
#endif
break;
case 1:
#if defined(EICRA) && defined(ISC10) && defined(ISC11) && defined(EIMSK)
EICRA = (EICRA & ~((1 << ISC10) | (1 << ISC11))) | (mode << ISC10);
EIMSK |= (1 << INT1);
#elif defined(MCUCR) && defined(ISC10) && defined(ISC11) && defined(GICR)
MCUCR = (MCUCR & ~((1 << ISC10) | (1 << ISC11))) | (mode << ISC10);
GICR |= (1 << INT1);
#elif defined(MCUCR) && defined(ISC10) && defined(GIMSK) && defined(GIMSK)
MCUCR = (MCUCR & ~((1 << ISC10) | (1 << ISC11))) | (mode << ISC10);
GIMSK |= (1 << INT1);
#else
#warning attachInterrupt may need some more work for this cpu (case 1)
#endif
break;
#endif
}
}
}
void detachInterrupt(uint8_t interruptNum) {
if(interruptNum < EXTERNAL_NUM_INTERRUPTS) {
// Disable the interrupt. (We can't assume that interruptNum is equal
// to the number of the EIMSK bit to clear, as this isn't true on the
// ATmega8. There, INT0 is 6 and INT1 is 7.)
switch (interruptNum) {
#if defined(EICRA) && defined(EICRB) && defined(EIMSK)
case 5:
EIMSK &= ~(1 << INT3);
break;
case 0:
EIMSK &= ~(1 << INT4);
break;
case 1:
EIMSK &= ~(1 << INT5);
break;
case 6:
EIMSK &= ~(1 << INT6);
break;
case 7:
EIMSK &= ~(1 << INT7);
break;
#elif defined(EICRA) && defined(EIMSK)
case 0:
EIMSK &= ~(1 << INT0);
break;
case 1:
EIMSK &= ~(1 << INT1);
break;
case 2:
EIMSK &= ~(1 << INT2);
break;
#else
case 0:
#if defined(EIMSK) && defined(INT0)
EIMSK &= ~(1 << INT0);
#elif defined(GICR) && defined(ISC00)
GICR &= ~(1 << INT0); // atmega32
#elif defined(GIMSK) && defined(INT0)
GIMSK &= ~(1 << INT0);
#else
#error detachInterrupt not finished for this cpu
#endif
break;
case 1:
#if defined(EIMSK) && defined(INT1)
EIMSK &= ~(1 << INT1);
#elif defined(GICR) && defined(INT1)
GICR &= ~(1 << INT1); // atmega32
#elif defined(GIMSK) && defined(INT1)
GIMSK &= ~(1 << INT1);
#else
#warning detachInterrupt may need some more work for this cpu (case 1)
#endif
break;
#endif
}
intFunc[interruptNum] = 0;
}
}
/*
void attachInterruptTwi(void (*userFunc)(void) ) {
twiIntFunc = userFunc;
}
*/
#if defined(EICRA) && defined(EICRB)
SIGNAL(INT0_vect) {
if(intFunc[EXTERNAL_INT_2])
intFunc[EXTERNAL_INT_2]();
}
SIGNAL(INT1_vect) {
if(intFunc[EXTERNAL_INT_3])
intFunc[EXTERNAL_INT_3]();
}
SIGNAL(INT2_vect) {
if(intFunc[EXTERNAL_INT_4])
intFunc[EXTERNAL_INT_4]();
}
SIGNAL(INT3_vect) {
if(intFunc[EXTERNAL_INT_5])
intFunc[EXTERNAL_INT_5]();
}
SIGNAL(INT4_vect) {
if(intFunc[EXTERNAL_INT_0])
intFunc[EXTERNAL_INT_0]();
}
SIGNAL(INT5_vect) {
if(intFunc[EXTERNAL_INT_1])
intFunc[EXTERNAL_INT_1]();
}
SIGNAL(INT6_vect) {
if(intFunc[EXTERNAL_INT_6])
intFunc[EXTERNAL_INT_6]();
}
SIGNAL(INT7_vect) {
if(intFunc[EXTERNAL_INT_7])
intFunc[EXTERNAL_INT_7]();
}
#elif defined(EICRA)
SIGNAL(INT0_vect) {
if(intFunc[EXTERNAL_INT_0])
intFunc[EXTERNAL_INT_0]();
}
SIGNAL(INT1_vect) {
if(intFunc[EXTERNAL_INT_1])
intFunc[EXTERNAL_INT_1]();
}
SIGNAL(INT2_vect) {
if(intFunc[EXTERNAL_INT_2])
intFunc[EXTERNAL_INT_2]();
}
#else
SIGNAL(INT0_vect) {
if(intFunc[EXTERNAL_INT_0])
intFunc[EXTERNAL_INT_0]();
}
SIGNAL(INT1_vect) {
if(intFunc[EXTERNAL_INT_1])
intFunc[EXTERNAL_INT_1]();
}
#endif
/*
SIGNAL(SIG_2WIRE_SERIAL) {
if(twiIntFunc)
twiIntFunc();
}
*/
@@ -1,60 +0,0 @@
/* -*- mode: jde; c-basic-offset: 2; indent-tabs-mode: nil -*- */
/*
Part of the Wiring project - http://wiring.org.co
Copyright (c) 2004-06 Hernando Barragan
Modified 13 August 2006, David A. Mellis for Arduino - http://www.arduino.cc/
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General
Public License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA
$Id$
*/
extern "C" {
#include "stdlib.h"
}
void randomSeed(unsigned int seed)
{
if (seed != 0) {
srandom(seed);
}
}
long random(long howbig)
{
if (howbig == 0) {
return 0;
}
return random() % howbig;
}
long random(long howsmall, long howbig)
{
if (howsmall >= howbig) {
return howsmall;
}
long diff = howbig - howsmall;
return random(diff) + howsmall;
}
long map(long x, long in_min, long in_max, long out_min, long out_max)
{
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}
unsigned int makeWord(unsigned int w) { return w; }
unsigned int makeWord(unsigned char h, unsigned char l) { return (h << 8) | l; }
@@ -1,63 +0,0 @@
#ifndef WProgram_h
#define WProgram_h
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <avr/interrupt.h>
#include "wiring.h"
#ifdef __cplusplus
#include "WCharacter.h"
#include "WString.h"
#include "HardwareSerial.h"
uint16_t makeWord(uint16_t w);
uint16_t makeWord(byte h, byte l);
#define word(...) makeWord(__VA_ARGS__)
unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout = 1000000L);
void tone(uint8_t _pin, unsigned int frequency, unsigned long duration = 0);
void noTone(uint8_t _pin);
// WMath prototypes
long random(long);
long random(long, long);
void randomSeed(unsigned int);
long map(long, long, long, long, long);
#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
const static uint8_t A0 = 54;
const static uint8_t A1 = 55;
const static uint8_t A2 = 56;
const static uint8_t A3 = 57;
const static uint8_t A4 = 58;
const static uint8_t A5 = 59;
const static uint8_t A6 = 60;
const static uint8_t A7 = 61;
const static uint8_t A8 = 62;
const static uint8_t A9 = 63;
const static uint8_t A10 = 64;
const static uint8_t A11 = 65;
const static uint8_t A12 = 66;
const static uint8_t A13 = 67;
const static uint8_t A14 = 68;
const static uint8_t A15 = 69;
#else
const static uint8_t A0 = 14;
const static uint8_t A1 = 15;
const static uint8_t A2 = 16;
const static uint8_t A3 = 17;
const static uint8_t A4 = 18;
const static uint8_t A5 = 19;
const static uint8_t A6 = 20;
const static uint8_t A7 = 21;
#endif
#endif
#endif
@@ -1,443 +0,0 @@
/*
WString.cpp - String library for Wiring & Arduino
Copyright (c) 2009-10 Hernando Barragan. All rights reserved.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include <stdlib.h>
#include "WProgram.h"
#include "WString.h"
String::String( const char *value )
{
if ( value == NULL )
value = "";
getBuffer( _length = strlen( value ) );
if ( _buffer != NULL )
strcpy( _buffer, value );
}
String::String( const String &value )
{
getBuffer( _length = value._length );
if ( _buffer != NULL )
strcpy( _buffer, value._buffer );
}
String::String( const char value )
{
_length = 1;
getBuffer(1);
if ( _buffer != NULL ) {
_buffer[0] = value;
_buffer[1] = 0;
}
}
String::String( const unsigned char value )
{
_length = 1;
getBuffer(1);
if ( _buffer != NULL) {
_buffer[0] = value;
_buffer[1] = 0;
}
}
String::String( const int value, const int base )
{
char buf[33];
itoa((signed long)value, buf, base);
getBuffer( _length = strlen(buf) );
if ( _buffer != NULL )
strcpy( _buffer, buf );
}
String::String( const unsigned int value, const int base )
{
char buf[33];
ultoa((unsigned long)value, buf, base);
getBuffer( _length = strlen(buf) );
if ( _buffer != NULL )
strcpy( _buffer, buf );
}
String::String( const long value, const int base )
{
char buf[33];
ltoa(value, buf, base);
getBuffer( _length = strlen(buf) );
if ( _buffer != NULL )
strcpy( _buffer, buf );
}
String::String( const unsigned long value, const int base )
{
char buf[33];
ultoa(value, buf, 10);
getBuffer( _length = strlen(buf) );
if ( _buffer != NULL )
strcpy( _buffer, buf );
}
char String::charAt( unsigned int loc ) const
{
return operator[]( loc );
}
void String::setCharAt( unsigned int loc, const char aChar )
{
if(_buffer == NULL) return;
if(_length > loc) {
_buffer[loc] = aChar;
}
}
int String::compareTo( const String &s2 ) const
{
return strcmp( _buffer, s2._buffer );
}
const String & String::concat( const String &s2 )
{
return (*this) += s2;
}
const String & String::operator=( const String &rhs )
{
if ( this == &rhs )
return *this;
if ( rhs._length > _length )
{
free(_buffer);
getBuffer( rhs._length );
}
if ( _buffer != NULL ) {
_length = rhs._length;
strcpy( _buffer, rhs._buffer );
}
return *this;
}
//const String & String::operator+=( const char aChar )
//{
// if ( _length == _capacity )
// doubleBuffer();
//
// _buffer[ _length++ ] = aChar;
// _buffer[ _length ] = '\0';
// return *this;
//}
const String & String::operator+=( const String &other )
{
_length += other._length;
if ( _length > _capacity )
{
char *temp = (char *)realloc(_buffer, _length + 1);
if ( temp != NULL ) {
_buffer = temp;
_capacity = _length;
} else {
_length -= other._length;
return *this;
}
}
strcat( _buffer, other._buffer );
return *this;
}
int String::operator==( const String &rhs ) const
{
return ( _length == rhs._length && strcmp( _buffer, rhs._buffer ) == 0 );
}
int String::operator!=( const String &rhs ) const
{
return ( _length != rhs.length() || strcmp( _buffer, rhs._buffer ) != 0 );
}
int String::operator<( const String &rhs ) const
{
return strcmp( _buffer, rhs._buffer ) < 0;
}
int String::operator>( const String &rhs ) const
{
return strcmp( _buffer, rhs._buffer ) > 0;
}
int String::operator<=( const String &rhs ) const
{
return strcmp( _buffer, rhs._buffer ) <= 0;
}
int String::operator>=( const String & rhs ) const
{
return strcmp( _buffer, rhs._buffer ) >= 0;
}
char & String::operator[]( unsigned int index )
{
static char dummy_writable_char;
if (index >= _length || !_buffer) {
dummy_writable_char = 0;
return dummy_writable_char;
}
return _buffer[ index ];
}
char String::operator[]( unsigned int index ) const
{
// need to check for valid index, to do later
return _buffer[ index ];
}
boolean String::endsWith( const String &s2 ) const
{
if ( _length < s2._length )
return 0;
return strcmp( &_buffer[ _length - s2._length], s2._buffer ) == 0;
}
boolean String::equals( const String &s2 ) const
{
return ( _length == s2._length && strcmp( _buffer,s2._buffer ) == 0 );
}
boolean String::equalsIgnoreCase( const String &s2 ) const
{
if ( this == &s2 )
return true; //1;
else if ( _length != s2._length )
return false; //0;
return strcmp(toLowerCase()._buffer, s2.toLowerCase()._buffer) == 0;
}
String String::replace( char findChar, char replaceChar )
{
if ( _buffer == NULL ) return *this;
String theReturn = _buffer;
char* temp = theReturn._buffer;
while( (temp = strchr( temp, findChar )) != 0 )
*temp = replaceChar;
return theReturn;
}
String String::replace( const String& match, const String& replace )
{
if ( _buffer == NULL ) return *this;
String temp = _buffer, newString;
int loc;
while ( (loc = temp.indexOf( match )) != -1 )
{
newString += temp.substring( 0, loc );
newString += replace;
temp = temp.substring( loc + match._length );
}
newString += temp;
return newString;
}
int String::indexOf( char temp ) const
{
return indexOf( temp, 0 );
}
int String::indexOf( char ch, unsigned int fromIndex ) const
{
if ( fromIndex >= _length )
return -1;
const char* temp = strchr( &_buffer[fromIndex], ch );
if ( temp == NULL )
return -1;
return temp - _buffer;
}
int String::indexOf( const String &s2 ) const
{
return indexOf( s2, 0 );
}
int String::indexOf( const String &s2, unsigned int fromIndex ) const
{
if ( fromIndex >= _length )
return -1;
const char *theFind = strstr( &_buffer[ fromIndex ], s2._buffer );
if ( theFind == NULL )
return -1;
return theFind - _buffer; // pointer subtraction
}
int String::lastIndexOf( char theChar ) const
{
return lastIndexOf( theChar, _length - 1 );
}
int String::lastIndexOf( char ch, unsigned int fromIndex ) const
{
if ( fromIndex >= _length )
return -1;
char tempchar = _buffer[fromIndex + 1];
_buffer[fromIndex + 1] = '\0';
char* temp = strrchr( _buffer, ch );
_buffer[fromIndex + 1] = tempchar;
if ( temp == NULL )
return -1;
return temp - _buffer;
}
int String::lastIndexOf( const String &s2 ) const
{
return lastIndexOf( s2, _length - s2._length );
}
int String::lastIndexOf( const String &s2, unsigned int fromIndex ) const
{
// check for empty strings
if ( s2._length == 0 || s2._length - 1 > fromIndex || fromIndex >= _length )
return -1;
// matching first character
char temp = s2[ 0 ];
for ( int i = fromIndex; i >= 0; i-- )
{
if ( _buffer[ i ] == temp && (*this).substring( i, i + s2._length ).equals( s2 ) )
return i;
}
return -1;
}
boolean String::startsWith( const String &s2 ) const
{
if ( _length < s2._length )
return 0;
return startsWith( s2, 0 );
}
boolean String::startsWith( const String &s2, unsigned int offset ) const
{
if ( offset > _length - s2._length )
return 0;
return strncmp( &_buffer[offset], s2._buffer, s2._length ) == 0;
}
String String::substring( unsigned int left ) const
{
return substring( left, _length );
}
String String::substring( unsigned int left, unsigned int right ) const
{
if ( left > right )
{
int temp = right;
right = left;
left = temp;
}
if ( right > _length )
{
right = _length;
}
char temp = _buffer[ right ]; // save the replaced character
_buffer[ right ] = '\0';
String outPut = ( _buffer + left ); // pointer arithmetic
_buffer[ right ] = temp; //restore character
return outPut;
}
String String::toLowerCase() const
{
String temp = _buffer;
for ( unsigned int i = 0; i < _length; i++ )
temp._buffer[ i ] = (char)tolower( temp._buffer[ i ] );
return temp;
}
String String::toUpperCase() const
{
String temp = _buffer;
for ( unsigned int i = 0; i < _length; i++ )
temp._buffer[ i ] = (char)toupper( temp._buffer[ i ] );
return temp;
}
String String::trim() const
{
if ( _buffer == NULL ) return *this;
String temp = _buffer;
unsigned int i,j;
for ( i = 0; i < _length; i++ )
{
if ( !isspace(_buffer[i]) )
break;
}
for ( j = temp._length - 1; j > i; j-- )
{
if ( !isspace(_buffer[j]) )
break;
}
return temp.substring( i, j + 1);
}
void String::getBytes(unsigned char *buf, unsigned int bufsize)
{
if (!bufsize || !buf) return;
unsigned int len = bufsize - 1;
if (len > _length) len = _length;
strncpy((char *)buf, _buffer, len);
buf[len] = 0;
}
void String::toCharArray(char *buf, unsigned int bufsize)
{
if (!bufsize || !buf) return;
unsigned int len = bufsize - 1;
if (len > _length) len = _length;
strncpy(buf, _buffer, len);
buf[len] = 0;
}
long String::toInt() {
return atol(_buffer);
}
@@ -1,112 +0,0 @@
/*
WString.h - String library for Wiring & Arduino
Copyright (c) 2009-10 Hernando Barragan. All right reserved.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef String_h
#define String_h
//#include "WProgram.h"
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
class String
{
public:
// constructors
String( const char *value = "" );
String( const String &value );
String( const char );
String( const unsigned char );
String( const int, const int base=10);
String( const unsigned int, const int base=10 );
String( const long, const int base=10 );
String( const unsigned long, const int base=10 );
~String() { free(_buffer); _length = _capacity = 0;} //added _length = _capacity = 0;
// operators
const String & operator = ( const String &rhs );
const String & operator +=( const String &rhs );
//const String & operator +=( const char );
int operator ==( const String &rhs ) const;
int operator !=( const String &rhs ) const;
int operator < ( const String &rhs ) const;
int operator > ( const String &rhs ) const;
int operator <=( const String &rhs ) const;
int operator >=( const String &rhs ) const;
char operator []( unsigned int index ) const;
char& operator []( unsigned int index );
//operator const char *() const { return _buffer; }
// general methods
char charAt( unsigned int index ) const;
int compareTo( const String &anotherString ) const;
unsigned char endsWith( const String &suffix ) const;
unsigned char equals( const String &anObject ) const;
unsigned char equalsIgnoreCase( const String &anotherString ) const;
int indexOf( char ch ) const;
int indexOf( char ch, unsigned int fromIndex ) const;
int indexOf( const String &str ) const;
int indexOf( const String &str, unsigned int fromIndex ) const;
int lastIndexOf( char ch ) const;
int lastIndexOf( char ch, unsigned int fromIndex ) const;
int lastIndexOf( const String &str ) const;
int lastIndexOf( const String &str, unsigned int fromIndex ) const;
const unsigned int length( ) const { return _length; }
void setCharAt(unsigned int index, const char ch);
unsigned char startsWith( const String &prefix ) const;
unsigned char startsWith( const String &prefix, unsigned int toffset ) const;
String substring( unsigned int beginIndex ) const;
String substring( unsigned int beginIndex, unsigned int endIndex ) const;
String toLowerCase( ) const;
String toUpperCase( ) const;
String trim( ) const;
void getBytes(unsigned char *buf, unsigned int bufsize);
void toCharArray(char *buf, unsigned int bufsize);
long toInt( );
const String& concat( const String &str );
String replace( char oldChar, char newChar );
String replace( const String& match, const String& replace );
friend String operator + ( String lhs, const String &rhs );
protected:
char *_buffer; // the actual char array
unsigned int _capacity; // the array length minus one (for the '\0')
unsigned int _length; // the String length (not counting the '\0')
void getBuffer(unsigned int maxStrLen);
private:
};
// allocate buffer space
inline void String::getBuffer(unsigned int maxStrLen)
{
_capacity = maxStrLen;
_buffer = (char *) malloc(_capacity + 1);
if (_buffer == NULL) _length = _capacity = 0;
}
inline String operator+( String lhs, const String &rhs )
{
return lhs += rhs;
}
#endif
@@ -1,515 +0,0 @@
#ifndef Binary_h
#define Binary_h
#define B0 0
#define B00 0
#define B000 0
#define B0000 0
#define B00000 0
#define B000000 0
#define B0000000 0
#define B00000000 0
#define B1 1
#define B01 1
#define B001 1
#define B0001 1
#define B00001 1
#define B000001 1
#define B0000001 1
#define B00000001 1
#define B10 2
#define B010 2
#define B0010 2
#define B00010 2
#define B000010 2
#define B0000010 2
#define B00000010 2
#define B11 3
#define B011 3
#define B0011 3
#define B00011 3
#define B000011 3
#define B0000011 3
#define B00000011 3
#define B100 4
#define B0100 4
#define B00100 4
#define B000100 4
#define B0000100 4
#define B00000100 4
#define B101 5
#define B0101 5
#define B00101 5
#define B000101 5
#define B0000101 5
#define B00000101 5
#define B110 6
#define B0110 6
#define B00110 6
#define B000110 6
#define B0000110 6
#define B00000110 6
#define B111 7
#define B0111 7
#define B00111 7
#define B000111 7
#define B0000111 7
#define B00000111 7
#define B1000 8
#define B01000 8
#define B001000 8
#define B0001000 8
#define B00001000 8
#define B1001 9
#define B01001 9
#define B001001 9
#define B0001001 9
#define B00001001 9
#define B1010 10
#define B01010 10
#define B001010 10
#define B0001010 10
#define B00001010 10
#define B1011 11
#define B01011 11
#define B001011 11
#define B0001011 11
#define B00001011 11
#define B1100 12
#define B01100 12
#define B001100 12
#define B0001100 12
#define B00001100 12
#define B1101 13
#define B01101 13
#define B001101 13
#define B0001101 13
#define B00001101 13
#define B1110 14
#define B01110 14
#define B001110 14
#define B0001110 14
#define B00001110 14
#define B1111 15
#define B01111 15
#define B001111 15
#define B0001111 15
#define B00001111 15
#define B10000 16
#define B010000 16
#define B0010000 16
#define B00010000 16
#define B10001 17
#define B010001 17
#define B0010001 17
#define B00010001 17
#define B10010 18
#define B010010 18
#define B0010010 18
#define B00010010 18
#define B10011 19
#define B010011 19
#define B0010011 19
#define B00010011 19
#define B10100 20
#define B010100 20
#define B0010100 20
#define B00010100 20
#define B10101 21
#define B010101 21
#define B0010101 21
#define B00010101 21
#define B10110 22
#define B010110 22
#define B0010110 22
#define B00010110 22
#define B10111 23
#define B010111 23
#define B0010111 23
#define B00010111 23
#define B11000 24
#define B011000 24
#define B0011000 24
#define B00011000 24
#define B11001 25
#define B011001 25
#define B0011001 25
#define B00011001 25
#define B11010 26
#define B011010 26
#define B0011010 26
#define B00011010 26
#define B11011 27
#define B011011 27
#define B0011011 27
#define B00011011 27
#define B11100 28
#define B011100 28
#define B0011100 28
#define B00011100 28
#define B11101 29
#define B011101 29
#define B0011101 29
#define B00011101 29
#define B11110 30
#define B011110 30
#define B0011110 30
#define B00011110 30
#define B11111 31
#define B011111 31
#define B0011111 31
#define B00011111 31
#define B100000 32
#define B0100000 32
#define B00100000 32
#define B100001 33
#define B0100001 33
#define B00100001 33
#define B100010 34
#define B0100010 34
#define B00100010 34
#define B100011 35
#define B0100011 35
#define B00100011 35
#define B100100 36
#define B0100100 36
#define B00100100 36
#define B100101 37
#define B0100101 37
#define B00100101 37
#define B100110 38
#define B0100110 38
#define B00100110 38
#define B100111 39
#define B0100111 39
#define B00100111 39
#define B101000 40
#define B0101000 40
#define B00101000 40
#define B101001 41
#define B0101001 41
#define B00101001 41
#define B101010 42
#define B0101010 42
#define B00101010 42
#define B101011 43
#define B0101011 43
#define B00101011 43
#define B101100 44
#define B0101100 44
#define B00101100 44
#define B101101 45
#define B0101101 45
#define B00101101 45
#define B101110 46
#define B0101110 46
#define B00101110 46
#define B101111 47
#define B0101111 47
#define B00101111 47
#define B110000 48
#define B0110000 48
#define B00110000 48
#define B110001 49
#define B0110001 49
#define B00110001 49
#define B110010 50
#define B0110010 50
#define B00110010 50
#define B110011 51
#define B0110011 51
#define B00110011 51
#define B110100 52
#define B0110100 52
#define B00110100 52
#define B110101 53
#define B0110101 53
#define B00110101 53
#define B110110 54
#define B0110110 54
#define B00110110 54
#define B110111 55
#define B0110111 55
#define B00110111 55
#define B111000 56
#define B0111000 56
#define B00111000 56
#define B111001 57
#define B0111001 57
#define B00111001 57
#define B111010 58
#define B0111010 58
#define B00111010 58
#define B111011 59
#define B0111011 59
#define B00111011 59
#define B111100 60
#define B0111100 60
#define B00111100 60
#define B111101 61
#define B0111101 61
#define B00111101 61
#define B111110 62
#define B0111110 62
#define B00111110 62
#define B111111 63
#define B0111111 63
#define B00111111 63
#define B1000000 64
#define B01000000 64
#define B1000001 65
#define B01000001 65
#define B1000010 66
#define B01000010 66
#define B1000011 67
#define B01000011 67
#define B1000100 68
#define B01000100 68
#define B1000101 69
#define B01000101 69
#define B1000110 70
#define B01000110 70
#define B1000111 71
#define B01000111 71
#define B1001000 72
#define B01001000 72
#define B1001001 73
#define B01001001 73
#define B1001010 74
#define B01001010 74
#define B1001011 75
#define B01001011 75
#define B1001100 76
#define B01001100 76
#define B1001101 77
#define B01001101 77
#define B1001110 78
#define B01001110 78
#define B1001111 79
#define B01001111 79
#define B1010000 80
#define B01010000 80
#define B1010001 81
#define B01010001 81
#define B1010010 82
#define B01010010 82
#define B1010011 83
#define B01010011 83
#define B1010100 84
#define B01010100 84
#define B1010101 85
#define B01010101 85
#define B1010110 86
#define B01010110 86
#define B1010111 87
#define B01010111 87
#define B1011000 88
#define B01011000 88
#define B1011001 89
#define B01011001 89
#define B1011010 90
#define B01011010 90
#define B1011011 91
#define B01011011 91
#define B1011100 92
#define B01011100 92
#define B1011101 93
#define B01011101 93
#define B1011110 94
#define B01011110 94
#define B1011111 95
#define B01011111 95
#define B1100000 96
#define B01100000 96
#define B1100001 97
#define B01100001 97
#define B1100010 98
#define B01100010 98
#define B1100011 99
#define B01100011 99
#define B1100100 100
#define B01100100 100
#define B1100101 101
#define B01100101 101
#define B1100110 102
#define B01100110 102
#define B1100111 103
#define B01100111 103
#define B1101000 104
#define B01101000 104
#define B1101001 105
#define B01101001 105
#define B1101010 106
#define B01101010 106
#define B1101011 107
#define B01101011 107
#define B1101100 108
#define B01101100 108
#define B1101101 109
#define B01101101 109
#define B1101110 110
#define B01101110 110
#define B1101111 111
#define B01101111 111
#define B1110000 112
#define B01110000 112
#define B1110001 113
#define B01110001 113
#define B1110010 114
#define B01110010 114
#define B1110011 115
#define B01110011 115
#define B1110100 116
#define B01110100 116
#define B1110101 117
#define B01110101 117
#define B1110110 118
#define B01110110 118
#define B1110111 119
#define B01110111 119
#define B1111000 120
#define B01111000 120
#define B1111001 121
#define B01111001 121
#define B1111010 122
#define B01111010 122
#define B1111011 123
#define B01111011 123
#define B1111100 124
#define B01111100 124
#define B1111101 125
#define B01111101 125
#define B1111110 126
#define B01111110 126
#define B1111111 127
#define B01111111 127
#define B10000000 128
#define B10000001 129
#define B10000010 130
#define B10000011 131
#define B10000100 132
#define B10000101 133
#define B10000110 134
#define B10000111 135
#define B10001000 136
#define B10001001 137
#define B10001010 138
#define B10001011 139
#define B10001100 140
#define B10001101 141
#define B10001110 142
#define B10001111 143
#define B10010000 144
#define B10010001 145
#define B10010010 146
#define B10010011 147
#define B10010100 148
#define B10010101 149
#define B10010110 150
#define B10010111 151
#define B10011000 152
#define B10011001 153
#define B10011010 154
#define B10011011 155
#define B10011100 156
#define B10011101 157
#define B10011110 158
#define B10011111 159
#define B10100000 160
#define B10100001 161
#define B10100010 162
#define B10100011 163
#define B10100100 164
#define B10100101 165
#define B10100110 166
#define B10100111 167
#define B10101000 168
#define B10101001 169
#define B10101010 170
#define B10101011 171
#define B10101100 172
#define B10101101 173
#define B10101110 174
#define B10101111 175
#define B10110000 176
#define B10110001 177
#define B10110010 178
#define B10110011 179
#define B10110100 180
#define B10110101 181
#define B10110110 182
#define B10110111 183
#define B10111000 184
#define B10111001 185
#define B10111010 186
#define B10111011 187
#define B10111100 188
#define B10111101 189
#define B10111110 190
#define B10111111 191
#define B11000000 192
#define B11000001 193
#define B11000010 194
#define B11000011 195
#define B11000100 196
#define B11000101 197
#define B11000110 198
#define B11000111 199
#define B11001000 200
#define B11001001 201
#define B11001010 202
#define B11001011 203
#define B11001100 204
#define B11001101 205
#define B11001110 206
#define B11001111 207
#define B11010000 208
#define B11010001 209
#define B11010010 210
#define B11010011 211
#define B11010100 212
#define B11010101 213
#define B11010110 214
#define B11010111 215
#define B11011000 216
#define B11011001 217
#define B11011010 218
#define B11011011 219
#define B11011100 220
#define B11011101 221
#define B11011110 222
#define B11011111 223
#define B11100000 224
#define B11100001 225
#define B11100010 226
#define B11100011 227
#define B11100100 228
#define B11100101 229
#define B11100110 230
#define B11100111 231
#define B11101000 232
#define B11101001 233
#define B11101010 234
#define B11101011 235
#define B11101100 236
#define B11101101 237
#define B11101110 238
#define B11101111 239
#define B11110000 240
#define B11110001 241
#define B11110010 242
#define B11110011 243
#define B11110100 244
#define B11110101 245
#define B11110110 246
#define B11110111 247
#define B11111000 248
#define B11111001 249
#define B11111010 250
#define B11111011 251
#define B11111100 252
#define B11111101 253
#define B11111110 254
#define B11111111 255
#endif
@@ -1,14 +0,0 @@
#include <WProgram.h>
int main(void)
{
init();
setup();
for (;;)
loop();
return 0;
}
@@ -1,627 +0,0 @@
/*
pins_arduino.c - pin definitions for the Arduino board
Part of Arduino / Wiring Lite
Copyright (c) 2005 David A. Mellis
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General
Public License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA
Changelog
-----------
11/25/11 - ryan@ryanmsutton.com - Add pins for Sanguino 644P and 1284P
$Id$
*/
#include <avr/io.h>
#include "wiring_private.h"
#include "pins_arduino.h"
// On the Arduino board, digital pins are also used
// for the analog output (software PWM). Analog input
// pins are a separate set.
// ATMEL ATMEGA8 & 168 / ARDUINO
//
// +-\/-+
// PC6 1| |28 PC5 (AI 5)
// (D 0) PD0 2| |27 PC4 (AI 4)
// (D 1) PD1 3| |26 PC3 (AI 3)
// (D 2) PD2 4| |25 PC2 (AI 2)
// PWM+ (D 3) PD3 5| |24 PC1 (AI 1)
// (D 4) PD4 6| |23 PC0 (AI 0)
// VCC 7| |22 GND
// GND 8| |21 AREF
// PB6 9| |20 AVCC
// PB7 10| |19 PB5 (D 13)
// PWM+ (D 5) PD5 11| |18 PB4 (D 12)
// PWM+ (D 6) PD6 12| |17 PB3 (D 11) PWM
// (D 7) PD7 13| |16 PB2 (D 10) PWM
// (D 8) PB0 14| |15 PB1 (D 9) PWM
// +----+
//
// (PWM+ indicates the additional PWM pins on the ATmega168.)
// ATMEL ATMEGA1280 / ARDUINO
//
// 0-7 PE0-PE7 works
// 8-13 PB0-PB5 works
// 14-21 PA0-PA7 works
// 22-29 PH0-PH7 works
// 30-35 PG5-PG0 works
// 36-43 PC7-PC0 works
// 44-51 PJ7-PJ0 works
// 52-59 PL7-PL0 works
// 60-67 PD7-PD0 works
// A0-A7 PF0-PF7
// A8-A15 PK0-PK7
// ATMEL ATMEGA644P / SANGUINO
//
// +---\/---+
// INT0 (D 0) PB0 1| |40 PA0 (AI 0 / D31)
// INT1 (D 1) PB1 2| |39 PA1 (AI 1 / D30)
// INT2 (D 2) PB2 3| |38 PA2 (AI 2 / D29)
// PWM (D 3) PB3 4| |37 PA3 (AI 3 / D28)
// PWM (D 4) PB4 5| |36 PA4 (AI 4 / D27)
// MOSI (D 5) PB5 6| |35 PA5 (AI 5 / D26)
// MISO (D 6) PB6 7| |34 PA6 (AI 6 / D25)
// SCK (D 7) PB7 8| |33 PA7 (AI 7 / D24)
// RST 9| |32 AREF
// VCC 10| |31 GND
// GND 11| |30 AVCC
// XTAL2 12| |29 PC7 (D 23)
// XTAL1 13| |28 PC6 (D 22)
// RX0 (D 8) PD0 14| |27 PC5 (D 21) TDI
// TX0 (D 9) PD1 15| |26 PC4 (D 20) TDO
// RX1 (D 10) PD2 16| |25 PC3 (D 19) TMS
// TX1 (D 11) PD3 17| |24 PC2 (D 18) TCK
// PWM (D 12) PD4 18| |23 PC1 (D 17) SDA
// PWM (D 13) PD5 19| |22 PC0 (D 16) SCL
// PWM (D 14) PD6 20| |21 PD7 (D 15) PWM
// +--------+
//
#define PA 1
#define PB 2
#define PC 3
#define PD 4
#define PE 5
#define PF 6
#define PG 7
#define PH 8
#define PJ 10
#define PK 11
#define PL 12
#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
const uint16_t PROGMEM port_to_mode_PGM[] = {
NOT_A_PORT,
&DDRA,
&DDRB,
&DDRC,
&DDRD,
&DDRE,
&DDRF,
&DDRG,
&DDRH,
NOT_A_PORT,
&DDRJ,
&DDRK,
&DDRL,
};
const uint16_t PROGMEM port_to_output_PGM[] = {
NOT_A_PORT,
&PORTA,
&PORTB,
&PORTC,
&PORTD,
&PORTE,
&PORTF,
&PORTG,
&PORTH,
NOT_A_PORT,
&PORTJ,
&PORTK,
&PORTL,
};
const uint16_t PROGMEM port_to_input_PGM[] = {
NOT_A_PIN,
&PINA,
&PINB,
&PINC,
&PIND,
&PINE,
&PINF,
&PING,
&PINH,
NOT_A_PIN,
&PINJ,
&PINK,
&PINL,
};
const uint8_t PROGMEM digital_pin_to_port_PGM[] = {
// PORTLIST
// -------------------------------------------
PE , // PE 0 ** 0 ** USART0_RX
PE , // PE 1 ** 1 ** USART0_TX
PE , // PE 4 ** 2 ** PWM2
PE , // PE 5 ** 3 ** PWM3
PG , // PG 5 ** 4 ** PWM4
PE , // PE 3 ** 5 ** PWM5
PH , // PH 3 ** 6 ** PWM6
PH , // PH 4 ** 7 ** PWM7
PH , // PH 5 ** 8 ** PWM8
PH , // PH 6 ** 9 ** PWM9
PB , // PB 4 ** 10 ** PWM10
PB , // PB 5 ** 11 ** PWM11
PB , // PB 6 ** 12 ** PWM12
PB , // PB 7 ** 13 ** PWM13
PJ , // PJ 1 ** 14 ** USART3_TX
PJ , // PJ 0 ** 15 ** USART3_RX
PH , // PH 1 ** 16 ** USART2_TX
PH , // PH 0 ** 17 ** USART2_RX
PD , // PD 3 ** 18 ** USART1_TX
PD , // PD 2 ** 19 ** USART1_RX
PD , // PD 1 ** 20 ** I2C_SDA
PD , // PD 0 ** 21 ** I2C_SCL
PA , // PA 0 ** 22 ** D22
PA , // PA 1 ** 23 ** D23
PA , // PA 2 ** 24 ** D24
PA , // PA 3 ** 25 ** D25
PA , // PA 4 ** 26 ** D26
PA , // PA 5 ** 27 ** D27
PA , // PA 6 ** 28 ** D28
PA , // PA 7 ** 29 ** D29
PC , // PC 7 ** 30 ** D30
PC , // PC 6 ** 31 ** D31
PC , // PC 5 ** 32 ** D32
PC , // PC 4 ** 33 ** D33
PC , // PC 3 ** 34 ** D34
PC , // PC 2 ** 35 ** D35
PC , // PC 1 ** 36 ** D36
PC , // PC 0 ** 37 ** D37
PD , // PD 7 ** 38 ** D38
PG , // PG 2 ** 39 ** D39
PG , // PG 1 ** 40 ** D40
PG , // PG 0 ** 41 ** D41
PL , // PL 7 ** 42 ** D42
PL , // PL 6 ** 43 ** D43
PL , // PL 5 ** 44 ** D44
PL , // PL 4 ** 45 ** D45
PL , // PL 3 ** 46 ** D46
PL , // PL 2 ** 47 ** D47
PL , // PL 1 ** 48 ** D48
PL , // PL 0 ** 49 ** D49
PB , // PB 3 ** 50 ** SPI_MISO
PB , // PB 2 ** 51 ** SPI_MOSI
PB , // PB 1 ** 52 ** SPI_SCK
PB , // PB 0 ** 53 ** SPI_SS
PF , // PF 0 ** 54 ** A0
PF , // PF 1 ** 55 ** A1
PF , // PF 2 ** 56 ** A2
PF , // PF 3 ** 57 ** A3
PF , // PF 4 ** 58 ** A4
PF , // PF 5 ** 59 ** A5
PF , // PF 6 ** 60 ** A6
PF , // PF 7 ** 61 ** A7
PK , // PK 0 ** 62 ** A8
PK , // PK 1 ** 63 ** A9
PK , // PK 2 ** 64 ** A10
PK , // PK 3 ** 65 ** A11
PK , // PK 4 ** 66 ** A12
PK , // PK 5 ** 67 ** A13
PK , // PK 6 ** 68 ** A14
PK , // PK 7 ** 69 ** A15
};
const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] = {
// PIN IN PORT
// -------------------------------------------
_BV( 0 ) , // PE 0 ** 0 ** USART0_RX
_BV( 1 ) , // PE 1 ** 1 ** USART0_TX
_BV( 4 ) , // PE 4 ** 2 ** PWM2
_BV( 5 ) , // PE 5 ** 3 ** PWM3
_BV( 5 ) , // PG 5 ** 4 ** PWM4
_BV( 3 ) , // PE 3 ** 5 ** PWM5
_BV( 3 ) , // PH 3 ** 6 ** PWM6
_BV( 4 ) , // PH 4 ** 7 ** PWM7
_BV( 5 ) , // PH 5 ** 8 ** PWM8
_BV( 6 ) , // PH 6 ** 9 ** PWM9
_BV( 4 ) , // PB 4 ** 10 ** PWM10
_BV( 5 ) , // PB 5 ** 11 ** PWM11
_BV( 6 ) , // PB 6 ** 12 ** PWM12
_BV( 7 ) , // PB 7 ** 13 ** PWM13
_BV( 1 ) , // PJ 1 ** 14 ** USART3_TX
_BV( 0 ) , // PJ 0 ** 15 ** USART3_RX
_BV( 1 ) , // PH 1 ** 16 ** USART2_TX
_BV( 0 ) , // PH 0 ** 17 ** USART2_RX
_BV( 3 ) , // PD 3 ** 18 ** USART1_TX
_BV( 2 ) , // PD 2 ** 19 ** USART1_RX
_BV( 1 ) , // PD 1 ** 20 ** I2C_SDA
_BV( 0 ) , // PD 0 ** 21 ** I2C_SCL
_BV( 0 ) , // PA 0 ** 22 ** D22
_BV( 1 ) , // PA 1 ** 23 ** D23
_BV( 2 ) , // PA 2 ** 24 ** D24
_BV( 3 ) , // PA 3 ** 25 ** D25
_BV( 4 ) , // PA 4 ** 26 ** D26
_BV( 5 ) , // PA 5 ** 27 ** D27
_BV( 6 ) , // PA 6 ** 28 ** D28
_BV( 7 ) , // PA 7 ** 29 ** D29
_BV( 7 ) , // PC 7 ** 30 ** D30
_BV( 6 ) , // PC 6 ** 31 ** D31
_BV( 5 ) , // PC 5 ** 32 ** D32
_BV( 4 ) , // PC 4 ** 33 ** D33
_BV( 3 ) , // PC 3 ** 34 ** D34
_BV( 2 ) , // PC 2 ** 35 ** D35
_BV( 1 ) , // PC 1 ** 36 ** D36
_BV( 0 ) , // PC 0 ** 37 ** D37
_BV( 7 ) , // PD 7 ** 38 ** D38
_BV( 2 ) , // PG 2 ** 39 ** D39
_BV( 1 ) , // PG 1 ** 40 ** D40
_BV( 0 ) , // PG 0 ** 41 ** D41
_BV( 7 ) , // PL 7 ** 42 ** D42
_BV( 6 ) , // PL 6 ** 43 ** D43
_BV( 5 ) , // PL 5 ** 44 ** D44
_BV( 4 ) , // PL 4 ** 45 ** D45
_BV( 3 ) , // PL 3 ** 46 ** D46
_BV( 2 ) , // PL 2 ** 47 ** D47
_BV( 1 ) , // PL 1 ** 48 ** D48
_BV( 0 ) , // PL 0 ** 49 ** D49
_BV( 3 ) , // PB 3 ** 50 ** SPI_MISO
_BV( 2 ) , // PB 2 ** 51 ** SPI_MOSI
_BV( 1 ) , // PB 1 ** 52 ** SPI_SCK
_BV( 0 ) , // PB 0 ** 53 ** SPI_SS
_BV( 0 ) , // PF 0 ** 54 ** A0
_BV( 1 ) , // PF 1 ** 55 ** A1
_BV( 2 ) , // PF 2 ** 56 ** A2
_BV( 3 ) , // PF 3 ** 57 ** A3
_BV( 4 ) , // PF 4 ** 58 ** A4
_BV( 5 ) , // PF 5 ** 59 ** A5
_BV( 6 ) , // PF 6 ** 60 ** A6
_BV( 7 ) , // PF 7 ** 61 ** A7
_BV( 0 ) , // PK 0 ** 62 ** A8
_BV( 1 ) , // PK 1 ** 63 ** A9
_BV( 2 ) , // PK 2 ** 64 ** A10
_BV( 3 ) , // PK 3 ** 65 ** A11
_BV( 4 ) , // PK 4 ** 66 ** A12
_BV( 5 ) , // PK 5 ** 67 ** A13
_BV( 6 ) , // PK 6 ** 68 ** A14
_BV( 7 ) , // PK 7 ** 69 ** A15
};
const uint8_t PROGMEM digital_pin_to_timer_PGM[] = {
// TIMERS
// -------------------------------------------
NOT_ON_TIMER , // PE 0 ** 0 ** USART0_RX
NOT_ON_TIMER , // PE 1 ** 1 ** USART0_TX
TIMER3B , // PE 4 ** 2 ** PWM2
TIMER3C , // PE 5 ** 3 ** PWM3
TIMER0B , // PG 5 ** 4 ** PWM4
TIMER3A , // PE 3 ** 5 ** PWM5
TIMER4A , // PH 3 ** 6 ** PWM6
TIMER4B , // PH 4 ** 7 ** PWM7
TIMER4C , // PH 5 ** 8 ** PWM8
TIMER2B , // PH 6 ** 9 ** PWM9
TIMER2A , // PB 4 ** 10 ** PWM10
TIMER1A , // PB 5 ** 11 ** PWM11
TIMER1B , // PB 6 ** 12 ** PWM12
TIMER0A , // PB 7 ** 13 ** PWM13
NOT_ON_TIMER , // PJ 1 ** 14 ** USART3_TX
NOT_ON_TIMER , // PJ 0 ** 15 ** USART3_RX
NOT_ON_TIMER , // PH 1 ** 16 ** USART2_TX
NOT_ON_TIMER , // PH 0 ** 17 ** USART2_RX
NOT_ON_TIMER , // PD 3 ** 18 ** USART1_TX
NOT_ON_TIMER , // PD 2 ** 19 ** USART1_RX
NOT_ON_TIMER , // PD 1 ** 20 ** I2C_SDA
NOT_ON_TIMER , // PD 0 ** 21 ** I2C_SCL
NOT_ON_TIMER , // PA 0 ** 22 ** D22
NOT_ON_TIMER , // PA 1 ** 23 ** D23
NOT_ON_TIMER , // PA 2 ** 24 ** D24
NOT_ON_TIMER , // PA 3 ** 25 ** D25
NOT_ON_TIMER , // PA 4 ** 26 ** D26
NOT_ON_TIMER , // PA 5 ** 27 ** D27
NOT_ON_TIMER , // PA 6 ** 28 ** D28
NOT_ON_TIMER , // PA 7 ** 29 ** D29
NOT_ON_TIMER , // PC 7 ** 30 ** D30
NOT_ON_TIMER , // PC 6 ** 31 ** D31
NOT_ON_TIMER , // PC 5 ** 32 ** D32
NOT_ON_TIMER , // PC 4 ** 33 ** D33
NOT_ON_TIMER , // PC 3 ** 34 ** D34
NOT_ON_TIMER , // PC 2 ** 35 ** D35
NOT_ON_TIMER , // PC 1 ** 36 ** D36
NOT_ON_TIMER , // PC 0 ** 37 ** D37
NOT_ON_TIMER , // PD 7 ** 38 ** D38
NOT_ON_TIMER , // PG 2 ** 39 ** D39
NOT_ON_TIMER , // PG 1 ** 40 ** D40
NOT_ON_TIMER , // PG 0 ** 41 ** D41
NOT_ON_TIMER , // PL 7 ** 42 ** D42
NOT_ON_TIMER , // PL 6 ** 43 ** D43
TIMER5C , // PL 5 ** 44 ** D44
TIMER5B , // PL 4 ** 45 ** D45
TIMER5A , // PL 3 ** 46 ** D46
NOT_ON_TIMER , // PL 2 ** 47 ** D47
NOT_ON_TIMER , // PL 1 ** 48 ** D48
NOT_ON_TIMER , // PL 0 ** 49 ** D49
NOT_ON_TIMER , // PB 3 ** 50 ** SPI_MISO
NOT_ON_TIMER , // PB 2 ** 51 ** SPI_MOSI
NOT_ON_TIMER , // PB 1 ** 52 ** SPI_SCK
NOT_ON_TIMER , // PB 0 ** 53 ** SPI_SS
NOT_ON_TIMER , // PF 0 ** 54 ** A0
NOT_ON_TIMER , // PF 1 ** 55 ** A1
NOT_ON_TIMER , // PF 2 ** 56 ** A2
NOT_ON_TIMER , // PF 3 ** 57 ** A3
NOT_ON_TIMER , // PF 4 ** 58 ** A4
NOT_ON_TIMER , // PF 5 ** 59 ** A5
NOT_ON_TIMER , // PF 6 ** 60 ** A6
NOT_ON_TIMER , // PF 7 ** 61 ** A7
NOT_ON_TIMER , // PK 0 ** 62 ** A8
NOT_ON_TIMER , // PK 1 ** 63 ** A9
NOT_ON_TIMER , // PK 2 ** 64 ** A10
NOT_ON_TIMER , // PK 3 ** 65 ** A11
NOT_ON_TIMER , // PK 4 ** 66 ** A12
NOT_ON_TIMER , // PK 5 ** 67 ** A13
NOT_ON_TIMER , // PK 6 ** 68 ** A14
NOT_ON_TIMER , // PK 7 ** 69 ** A15
};
#elif defined(__AVR_ATmega644P__) || defined(__AVR_ATmega1284P__)
// these arrays map port names (e.g. port B) to the
// appropriate addresses for various functions (e.g. reading
// and writing)
const uint16_t PROGMEM port_to_mode_PGM[] =
{
NOT_A_PORT,
&DDRA,
&DDRB,
&DDRC,
&DDRD,
};
const uint16_t PROGMEM port_to_output_PGM[] =
{
NOT_A_PORT,
&PORTA,
&PORTB,
&PORTC,
&PORTD,
};
const uint16_t PROGMEM port_to_input_PGM[] =
{
NOT_A_PORT,
&PINA,
&PINB,
&PINC,
&PIND,
};
const uint8_t PROGMEM digital_pin_to_port_PGM[] =
{
PB, /* 0 */
PB,
PB,
PB,
PB,
PB,
PB,
PB,
PD, /* 8 */
PD,
PD,
PD,
PD,
PD,
PD,
PD,
PC, /* 16 */
PC,
PC,
PC,
PC,
PC,
PC,
PC,
PA, /* 24 */
PA,
PA,
PA,
PA,
PA,
PA,
PA /* 31 */
};
const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] =
{
_BV(0), /* 0, port B */
_BV(1),
_BV(2),
_BV(3),
_BV(4),
_BV(5),
_BV(6),
_BV(7),
_BV(0), /* 8, port D */
_BV(1),
_BV(2),
_BV(3),
_BV(4),
_BV(5),
_BV(6),
_BV(7),
_BV(0), /* 16, port C */
_BV(1),
_BV(2),
_BV(3),
_BV(4),
_BV(5),
_BV(6),
_BV(7),
_BV(7), /* 24, port A */
_BV(6),
_BV(5),
_BV(4),
_BV(3),
_BV(2),
_BV(1),
_BV(0)
};
const uint8_t PROGMEM digital_pin_to_timer_PGM[] =
{
NOT_ON_TIMER, /* 0 - PB0 */
NOT_ON_TIMER, /* 1 - PB1 */
NOT_ON_TIMER, /* 2 - PB2 */
TIMER0A, /* 3 - PB3 */
TIMER0B, /* 4 - PB4 */
NOT_ON_TIMER, /* 5 - PB5 */
NOT_ON_TIMER, /* 6 - PB6 */
NOT_ON_TIMER, /* 7 - PB7 */
NOT_ON_TIMER, /* 8 - PD0 */
NOT_ON_TIMER, /* 9 - PD1 */
NOT_ON_TIMER, /* 10 - PD2 */
NOT_ON_TIMER, /* 11 - PD3 */
TIMER1B, /* 12 - PD4 */
TIMER1A, /* 13 - PD5 */
TIMER2B, /* 14 - PD6 */
TIMER2A, /* 15 - PD7 */
NOT_ON_TIMER, /* 16 - PC0 */
NOT_ON_TIMER, /* 17 - PC1 */
NOT_ON_TIMER, /* 18 - PC2 */
NOT_ON_TIMER, /* 19 - PC3 */
NOT_ON_TIMER, /* 20 - PC4 */
NOT_ON_TIMER, /* 21 - PC5 */
NOT_ON_TIMER, /* 22 - PC6 */
NOT_ON_TIMER, /* 23 - PC7 */
NOT_ON_TIMER, /* 24 - PA0 */
NOT_ON_TIMER, /* 25 - PA1 */
NOT_ON_TIMER, /* 26 - PA2 */
NOT_ON_TIMER, /* 27 - PA3 */
NOT_ON_TIMER, /* 28 - PA4 */
NOT_ON_TIMER, /* 29 - PA5 */
NOT_ON_TIMER, /* 30 - PA6 */
NOT_ON_TIMER /* 31 - PA7 */
};
#else
// these arrays map port names (e.g. port B) to the
// appropriate addresses for various functions (e.g. reading
// and writing)
const uint16_t PROGMEM port_to_mode_PGM[] = {
NOT_A_PORT,
NOT_A_PORT,
&DDRB,
&DDRC,
&DDRD,
};
const uint16_t PROGMEM port_to_output_PGM[] = {
NOT_A_PORT,
NOT_A_PORT,
&PORTB,
&PORTC,
&PORTD,
};
const uint16_t PROGMEM port_to_input_PGM[] = {
NOT_A_PORT,
NOT_A_PORT,
&PINB,
&PINC,
&PIND,
};
const uint8_t PROGMEM digital_pin_to_port_PGM[] = {
PD, /* 0 */
PD,
PD,
PD,
PD,
PD,
PD,
PD,
PB, /* 8 */
PB,
PB,
PB,
PB,
PB,
PC, /* 14 */
PC,
PC,
PC,
PC,
PC,
};
const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] = {
_BV(0), /* 0, port D */
_BV(1),
_BV(2),
_BV(3),
_BV(4),
_BV(5),
_BV(6),
_BV(7),
_BV(0), /* 8, port B */
_BV(1),
_BV(2),
_BV(3),
_BV(4),
_BV(5),
_BV(0), /* 14, port C */
_BV(1),
_BV(2),
_BV(3),
_BV(4),
_BV(5),
};
const uint8_t PROGMEM digital_pin_to_timer_PGM[] = {
NOT_ON_TIMER, /* 0 - port D */
NOT_ON_TIMER,
NOT_ON_TIMER,
// on the ATmega168, digital pin 3 has hardware pwm
#if defined(__AVR_ATmega8__)
NOT_ON_TIMER,
#else
TIMER2B,
#endif
NOT_ON_TIMER,
// on the ATmega168, digital pins 5 and 6 have hardware pwm
#if defined(__AVR_ATmega8__)
NOT_ON_TIMER,
NOT_ON_TIMER,
#else
TIMER0B,
TIMER0A,
#endif
NOT_ON_TIMER,
NOT_ON_TIMER, /* 8 - port B */
TIMER1A,
TIMER1B,
#if defined(__AVR_ATmega8__)
TIMER2,
#else
TIMER2A,
#endif
NOT_ON_TIMER,
NOT_ON_TIMER,
NOT_ON_TIMER,
NOT_ON_TIMER, /* 14 - port C */
NOT_ON_TIMER,
NOT_ON_TIMER,
NOT_ON_TIMER,
NOT_ON_TIMER,
};
#endif
@@ -1,94 +0,0 @@
/*
pins_arduino.h - Pin definition functions for Arduino
Part of Arduino - http://www.arduino.cc/
Copyright (c) 2007 David A. Mellis
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General
Public License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA
$Id: wiring.h 249 2007-02-03 16:52:51Z mellis $
*/
#ifndef Pins_Arduino_h
#define Pins_Arduino_h
#include <avr/pgmspace.h>
#define NOT_A_PIN 0
#define NOT_A_PORT 0
#define NOT_ON_TIMER 0
#define TIMER0A 1
#define TIMER0B 2
#define TIMER1A 3
#define TIMER1B 4
#define TIMER2 5
#define TIMER2A 6
#define TIMER2B 7
#define TIMER3A 8
#define TIMER3B 9
#define TIMER3C 10
#define TIMER4A 11
#define TIMER4B 12
#define TIMER4C 13
#define TIMER5A 14
#define TIMER5B 15
#define TIMER5C 16
#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
const static uint8_t SS = 53;
const static uint8_t MOSI = 51;
const static uint8_t MISO = 50;
const static uint8_t SCK = 52;
#elif defined(__AVR_ATmega644P__) || defined(__AVR_ATmega1284P__)
const static uint8_t SS = 4;
const static uint8_t MOSI = 5;
const static uint8_t MISO = 6;
const static uint8_t SCK = 7;
#else
const static uint8_t SS = 10;
const static uint8_t MOSI = 11;
const static uint8_t MISO = 12;
const static uint8_t SCK = 13;
#endif
// On the ATmega1280, the addresses of some of the port registers are
// greater than 255, so we can't store them in uint8_t's.
extern const uint16_t PROGMEM port_to_mode_PGM[];
extern const uint16_t PROGMEM port_to_input_PGM[];
extern const uint16_t PROGMEM port_to_output_PGM[];
extern const uint8_t PROGMEM digital_pin_to_port_PGM[];
// extern const uint8_t PROGMEM digital_pin_to_bit_PGM[];
extern const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[];
extern const uint8_t PROGMEM digital_pin_to_timer_PGM[];
// Get the bit location within the hardware port of the given virtual pin.
// This comes from the pins_*.c file for the active board configuration.
//
// These perform slightly better as macros compared to inline functions
//
#define digitalPinToPort(P) ( pgm_read_byte( digital_pin_to_port_PGM + (P) ) )
#define digitalPinToBitMask(P) ( pgm_read_byte( digital_pin_to_bit_mask_PGM + (P) ) )
#define digitalPinToTimer(P) ( pgm_read_byte( digital_pin_to_timer_PGM + (P) ) )
#define analogInPinToBit(P) (P)
#define portOutputRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_output_PGM + (P))) )
#define portInputRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_input_PGM + (P))) )
#define portModeRegister(P) ( (volatile uint8_t *)( pgm_read_word( port_to_mode_PGM + (P))) )
#endif
@@ -1,289 +0,0 @@
/*
wiring.c - Partial implementation of the Wiring API for the ATmega8.
Part of Arduino - http://www.arduino.cc/
Copyright (c) 2005-2006 David A. Mellis
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General
Public License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA
$Id$
*/
#include "wiring_private.h"
// the prescaler is set so that timer0 ticks every 64 clock cycles, and the
// the overflow handler is called every 256 ticks.
#define MICROSECONDS_PER_TIMER0_OVERFLOW (clockCyclesToMicroseconds(64 * 256))
// the whole number of milliseconds per timer0 overflow
#define MILLIS_INC (MICROSECONDS_PER_TIMER0_OVERFLOW / 1000)
// the fractional number of milliseconds per timer0 overflow. we shift right
// by three to fit these numbers into a byte. (for the clock speeds we care
// about - 8 and 16 MHz - this doesn't lose precision.)
#define FRACT_INC ((MICROSECONDS_PER_TIMER0_OVERFLOW % 1000) >> 3)
#define FRACT_MAX (1000 >> 3)
volatile unsigned long timer0_overflow_count = 0;
volatile unsigned long timer0_millis = 0;
static unsigned char timer0_fract = 0;
SIGNAL(TIMER0_OVF_vect)
{
// copy these to local variables so they can be stored in registers
// (volatile variables must be read from memory on every access)
unsigned long m = timer0_millis;
unsigned char f = timer0_fract;
m += MILLIS_INC;
f += FRACT_INC;
if (f >= FRACT_MAX) {
f -= FRACT_MAX;
m += 1;
}
timer0_fract = f;
timer0_millis = m;
timer0_overflow_count++;
}
unsigned long millis()
{
unsigned long m;
uint8_t oldSREG = SREG;
// disable interrupts while we read timer0_millis or we might get an
// inconsistent value (e.g. in the middle of a write to timer0_millis)
cli();
m = timer0_millis;
SREG = oldSREG;
return m;
}
unsigned long micros() {
unsigned long m;
uint8_t oldSREG = SREG, t;
cli();
m = timer0_overflow_count;
#if defined(TCNT0)
t = TCNT0;
#elif defined(TCNT0L)
t = TCNT0L;
#else
#error TIMER 0 not defined
#endif
#ifdef TIFR0
if ((TIFR0 & _BV(TOV0)) && (t < 255))
m++;
#else
if ((TIFR & _BV(TOV0)) && (t < 255))
m++;
#endif
SREG = oldSREG;
return ((m << 8) + t) * (64 / clockCyclesPerMicrosecond());
}
void delay(unsigned long ms)
{
uint16_t start = (uint16_t)micros();
while (ms > 0) {
if (((uint16_t)micros() - start) >= 1000) {
ms--;
start += 1000;
}
}
}
/* Delay for the given number of microseconds. Assumes a 8 or 16 MHz clock. */
void delayMicroseconds(unsigned int us)
{
// calling avrlib's delay_us() function with low values (e.g. 1 or
// 2 microseconds) gives delays longer than desired.
//delay_us(us);
#if F_CPU >= 16000000L
// for the 16 MHz clock on most Arduino boards
// for a one-microsecond delay, simply return. the overhead
// of the function call yields a delay of approximately 1 1/8 us.
if (--us == 0)
return;
// the following loop takes a quarter of a microsecond (4 cycles)
// per iteration, so execute it four times for each microsecond of
// delay requested.
us <<= 2;
// account for the time taken in the preceeding commands.
us -= 2;
#else
// for the 8 MHz internal clock on the ATmega168
// for a one- or two-microsecond delay, simply return. the overhead of
// the function calls takes more than two microseconds. can't just
// subtract two, since us is unsigned; we'd overflow.
if (--us == 0)
return;
if (--us == 0)
return;
// the following loop takes half of a microsecond (4 cycles)
// per iteration, so execute it twice for each microsecond of
// delay requested.
us <<= 1;
// partially compensate for the time taken by the preceeding commands.
// we can't subtract any more than this or we'd overflow w/ small delays.
us--;
#endif
// busy wait
__asm__ __volatile__ (
"1: sbiw %0,1" "\n\t" // 2 cycles
"brne 1b" : "=w" (us) : "0" (us) // 2 cycles
);
}
void init()
{
// this needs to be called before setup() or some functions won't
// work there
sei();
// on the ATmega168, timer 0 is also used for fast hardware pwm
// (using phase-correct PWM would mean that timer 0 overflowed half as often
// resulting in different millis() behavior on the ATmega8 and ATmega168)
#if defined(TCCR0A) && defined(WGM01)
sbi(TCCR0A, WGM01);
sbi(TCCR0A, WGM00);
#endif
// set timer 0 prescale factor to 64
#if defined(__AVR_ATmega128__)
// CPU specific: different values for the ATmega128
sbi(TCCR0, CS02);
#elif defined(TCCR0) && defined(CS01) && defined(CS00)
// this combination is for the standard atmega8
sbi(TCCR0, CS01);
sbi(TCCR0, CS00);
#elif defined(TCCR0B) && defined(CS01) && defined(CS00)
// this combination is for the standard 168/328/1280/2560
sbi(TCCR0B, CS01);
sbi(TCCR0B, CS00);
#elif defined(TCCR0A) && defined(CS01) && defined(CS00)
// this combination is for the __AVR_ATmega645__ series
sbi(TCCR0A, CS01);
sbi(TCCR0A, CS00);
#else
#error Timer 0 prescale factor 64 not set correctly
#endif
// enable timer 0 overflow interrupt
#if defined(TIMSK) && defined(TOIE0)
sbi(TIMSK, TOIE0);
#elif defined(TIMSK0) && defined(TOIE0)
sbi(TIMSK0, TOIE0);
#else
#error Timer 0 overflow interrupt not set correctly
#endif
// timers 1 and 2 are used for phase-correct hardware pwm
// this is better for motors as it ensures an even waveform
// note, however, that fast pwm mode can achieve a frequency of up
// 8 MHz (with a 16 MHz clock) at 50% duty cycle
TCCR1B = 0;
// set timer 1 prescale factor to 64
#if defined(TCCR1B) && defined(CS11) && defined(CS10)
sbi(TCCR1B, CS11);
sbi(TCCR1B, CS10);
#elif defined(TCCR1) && defined(CS11) && defined(CS10)
sbi(TCCR1, CS11);
sbi(TCCR1, CS10);
#endif
// put timer 1 in 8-bit phase correct pwm mode
#if defined(TCCR1A) && defined(WGM10)
sbi(TCCR1A, WGM10);
#elif defined(TCCR1)
#warning this needs to be finished
#endif
// set timer 2 prescale factor to 64
#if defined(TCCR2) && defined(CS22)
sbi(TCCR2, CS22);
#elif defined(TCCR2B) && defined(CS22)
sbi(TCCR2B, CS22);
#else
#warning Timer 2 not finished (may not be present on this CPU)
#endif
// configure timer 2 for phase correct pwm (8-bit)
#if defined(TCCR2) && defined(WGM20)
sbi(TCCR2, WGM20);
#elif defined(TCCR2A) && defined(WGM20)
sbi(TCCR2A, WGM20);
#else
#warning Timer 2 not finished (may not be present on this CPU)
#endif
#if defined(TCCR3B) && defined(CS31) && defined(WGM30)
sbi(TCCR3B, CS31); // set timer 3 prescale factor to 64
sbi(TCCR3B, CS30);
sbi(TCCR3A, WGM30); // put timer 3 in 8-bit phase correct pwm mode
#endif
#if defined(TCCR4B) && defined(CS41) && defined(WGM40)
sbi(TCCR4B, CS41); // set timer 4 prescale factor to 64
sbi(TCCR4B, CS40);
sbi(TCCR4A, WGM40); // put timer 4 in 8-bit phase correct pwm mode
#endif
#if defined(TCCR5B) && defined(CS51) && defined(WGM50)
sbi(TCCR5B, CS51); // set timer 5 prescale factor to 64
sbi(TCCR5B, CS50);
sbi(TCCR5A, WGM50); // put timer 5 in 8-bit phase correct pwm mode
#endif
#if defined(ADCSRA)
// set a2d prescale factor to 128
// 16 MHz / 128 = 125 KHz, inside the desired 50-200 KHz range.
// XXX: this will not work properly for other clock speeds, and
// this code should use F_CPU to determine the prescale factor.
sbi(ADCSRA, ADPS2);
sbi(ADCSRA, ADPS1);
sbi(ADCSRA, ADPS0);
// enable a2d conversions
sbi(ADCSRA, ADEN);
#endif
// the bootloader connects pins 0 and 1 to the USART; disconnect them
// here so they can be used as normal digital i/o; they will be
// reconnected in Serial.begin()
#if defined(UCSRB)
UCSRB = 0;
#elif defined(UCSR0B)
UCSR0B = 0;
#endif
}
@@ -1,138 +0,0 @@
/*
wiring.h - Partial implementation of the Wiring API for the ATmega8.
Part of Arduino - http://www.arduino.cc/
Copyright (c) 2005-2006 David A. Mellis
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General
Public License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA
$Id$
*/
#ifndef Wiring_h
#define Wiring_h
#include <avr/io.h>
#include <stdlib.h>
#include "binary.h"
#ifdef __cplusplus
extern "C"{
#endif
#define HIGH 0x1
#define LOW 0x0
#define INPUT 0x0
#define OUTPUT 0x1
#define true 0x1
#define false 0x0
#define PI 3.1415926535897932384626433832795
#define HALF_PI 1.5707963267948966192313216916398
#define TWO_PI 6.283185307179586476925286766559
#define DEG_TO_RAD 0.017453292519943295769236907684886
#define RAD_TO_DEG 57.295779513082320876798154814105
#define SERIAL 0x0
#define DISPLAY 0x1
#define LSBFIRST 0
#define MSBFIRST 1
#define CHANGE 1
#define FALLING 2
#define RISING 3
#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
#define INTERNAL1V1 2
#define INTERNAL2V56 3
#else
#define INTERNAL 3
#endif
#define DEFAULT 1
#define EXTERNAL 0
// undefine stdlib's abs if encountered
#ifdef abs
#undef abs
#endif
#define min(a,b) ((a)<(b)?(a):(b))
#define max(a,b) ((a)>(b)?(a):(b))
#define abs(x) ((x)>0?(x):-(x))
#define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt)))
// Removed to work with newer AVRLIBC
//#define round(x) ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))
#define radians(deg) ((deg)*DEG_TO_RAD)
#define degrees(rad) ((rad)*RAD_TO_DEG)
#define sq(x) ((x)*(x))
#define interrupts() sei()
#define noInterrupts() cli()
#define clockCyclesPerMicrosecond() ( F_CPU / 1000000L )
#define clockCyclesToMicroseconds(a) ( ((a) * 1000L) / (F_CPU / 1000L) )
#define microsecondsToClockCycles(a) ( ((a) * (F_CPU / 1000L)) / 1000L )
#define lowByte(w) ((uint8_t) ((w) & 0xff))
#define highByte(w) ((uint8_t) ((w) >> 8))
#define bitRead(value, bit) (((value) >> (bit)) & 0x01)
#define bitSet(value, bit) ((value) |= (1UL << (bit)))
#define bitClear(value, bit) ((value) &= ~(1UL << (bit)))
#define bitWrite(value, bit, bitvalue) (bitvalue ? bitSet(value, bit) : bitClear(value, bit))
typedef unsigned int word;
#define bit(b) (1UL << (b))
typedef uint8_t boolean;
typedef uint8_t byte;
void init(void);
void pinMode(uint8_t, uint8_t);
void digitalWrite(uint8_t, uint8_t);
int digitalRead(uint8_t);
int analogRead(uint8_t);
void analogReference(uint8_t mode);
void analogWrite(uint8_t, int);
unsigned long millis(void);
unsigned long micros(void);
void delay(unsigned long);
void delayMicroseconds(unsigned int us);
unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout);
void shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val);
uint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder);
void attachInterrupt(uint8_t, void (*)(void), int mode);
void detachInterrupt(uint8_t);
void setup(void);
void loop(void);
#ifdef __cplusplus
} // extern "C"
#endif
#endif
@@ -1,259 +0,0 @@
/*
wiring_analog.c - analog input and output
Part of Arduino - http://www.arduino.cc/
Copyright (c) 2005-2006 David A. Mellis
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General
Public License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA
Modified 28 September 2010 by Mark Sproul
$Id: wiring.c 248 2007-02-03 15:36:30Z mellis $
*/
#include "wiring_private.h"
#include "pins_arduino.h"
uint8_t analog_reference = DEFAULT;
void analogReference(uint8_t mode)
{
// can't actually set the register here because the default setting
// will connect AVCC and the AREF pin, which would cause a short if
// there's something connected to AREF.
analog_reference = mode;
}
int analogRead(uint8_t pin)
{
uint8_t low, high;
#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
if (pin >= 54) pin -= 54; // allow for channel or pin numbers
#else
if (pin >= 14) pin -= 14; // allow for channel or pin numbers
#endif
#if defined(ADCSRB) && defined(MUX5)
// the MUX5 bit of ADCSRB selects whether we're reading from channels
// 0 to 7 (MUX5 low) or 8 to 15 (MUX5 high).
ADCSRB = (ADCSRB & ~(1 << MUX5)) | (((pin >> 3) & 0x01) << MUX5);
#endif
// set the analog reference (high two bits of ADMUX) and select the
// channel (low 4 bits). this also sets ADLAR (left-adjust result)
// to 0 (the default).
#if defined(ADMUX)
ADMUX = (analog_reference << 6) | (pin & 0x07);
#endif
// without a delay, we seem to read from the wrong channel
//delay(1);
#if defined(ADCSRA) && defined(ADCL)
// start the conversion
sbi(ADCSRA, ADSC);
// ADSC is cleared when the conversion finishes
while (bit_is_set(ADCSRA, ADSC));
// we have to read ADCL first; doing so locks both ADCL
// and ADCH until ADCH is read. reading ADCL second would
// cause the results of each conversion to be discarded,
// as ADCL and ADCH would be locked when it completed.
low = ADCL;
high = ADCH;
#else
// we dont have an ADC, return 0
low = 0;
high = 0;
#endif
// combine the two bytes
return (high << 8) | low;
}
// Right now, PWM output only works on the pins with
// hardware support. These are defined in the appropriate
// pins_*.c file. For the rest of the pins, we default
// to digital output.
void analogWrite(uint8_t pin, int val)
{
// We need to make sure the PWM output is enabled for those pins
// that support it, as we turn it off when digitally reading or
// writing with them. Also, make sure the pin is in output mode
// for consistenty with Wiring, which doesn't require a pinMode
// call for the analog output pins.
pinMode(pin, OUTPUT);
if (val == 0)
{
digitalWrite(pin, LOW);
}
else if (val == 255)
{
digitalWrite(pin, HIGH);
}
else
{
switch(digitalPinToTimer(pin))
{
// XXX fix needed for atmega8
#if defined(TCCR0) && defined(COM00) && !defined(__AVR_ATmega8__)
case TIMER0A:
// connect pwm to pin on timer 0
sbi(TCCR0, COM00);
OCR0 = val; // set pwm duty
break;
#endif
#if defined(TCCR0A) && defined(COM0A1)
case TIMER0A:
// connect pwm to pin on timer 0, channel A
sbi(TCCR0A, COM0A1);
OCR0A = val; // set pwm duty
break;
#endif
#if defined(TCCR0A) && defined(COM0B1)
case TIMER0B:
// connect pwm to pin on timer 0, channel B
sbi(TCCR0A, COM0B1);
OCR0B = val; // set pwm duty
break;
#endif
#if defined(TCCR1A) && defined(COM1A1)
case TIMER1A:
// connect pwm to pin on timer 1, channel A
sbi(TCCR1A, COM1A1);
OCR1A = val; // set pwm duty
break;
#endif
#if defined(TCCR1A) && defined(COM1B1)
case TIMER1B:
// connect pwm to pin on timer 1, channel B
sbi(TCCR1A, COM1B1);
OCR1B = val; // set pwm duty
break;
#endif
#if defined(TCCR2) && defined(COM21)
case TIMER2:
// connect pwm to pin on timer 2
sbi(TCCR2, COM21);
OCR2 = val; // set pwm duty
break;
#endif
#if defined(TCCR2A) && defined(COM2A1)
case TIMER2A:
// connect pwm to pin on timer 2, channel A
sbi(TCCR2A, COM2A1);
OCR2A = val; // set pwm duty
break;
#endif
#if defined(TCCR2A) && defined(COM2B1)
case TIMER2B:
// connect pwm to pin on timer 2, channel B
sbi(TCCR2A, COM2B1);
OCR2B = val; // set pwm duty
break;
#endif
#if defined(TCCR3A) && defined(COM3A1)
case TIMER3A:
// connect pwm to pin on timer 3, channel A
sbi(TCCR3A, COM3A1);
OCR3A = val; // set pwm duty
break;
#endif
#if defined(TCCR3A) && defined(COM3B1)
case TIMER3B:
// connect pwm to pin on timer 3, channel B
sbi(TCCR3A, COM3B1);
OCR3B = val; // set pwm duty
break;
#endif
#if defined(TCCR3A) && defined(COM3C1)
case TIMER3C:
// connect pwm to pin on timer 3, channel C
sbi(TCCR3A, COM3C1);
OCR3C = val; // set pwm duty
break;
#endif
#if defined(TCCR4A) && defined(COM4A1)
case TIMER4A:
// connect pwm to pin on timer 4, channel A
sbi(TCCR4A, COM4A1);
OCR4A = val; // set pwm duty
break;
#endif
#if defined(TCCR4A) && defined(COM4B1)
case TIMER4B:
// connect pwm to pin on timer 4, channel B
sbi(TCCR4A, COM4B1);
OCR4B = val; // set pwm duty
break;
#endif
#if defined(TCCR4A) && defined(COM4C1)
case TIMER4C:
// connect pwm to pin on timer 4, channel C
sbi(TCCR4A, COM4C1);
OCR4C = val; // set pwm duty
break;
#endif
#if defined(TCCR5A) && defined(COM5A1)
case TIMER5A:
// connect pwm to pin on timer 5, channel A
sbi(TCCR5A, COM5A1);
OCR5A = val; // set pwm duty
break;
#endif
#if defined(TCCR5A) && defined(COM5B1)
case TIMER5B:
// connect pwm to pin on timer 5, channel B
sbi(TCCR5A, COM5B1);
OCR5B = val; // set pwm duty
break;
#endif
#if defined(TCCR5A) && defined(COM5C1)
case TIMER5C:
// connect pwm to pin on timer 5, channel C
sbi(TCCR5A, COM5C1);
OCR5C = val; // set pwm duty
break;
#endif
case NOT_ON_TIMER:
default:
if (val < 128) {
digitalWrite(pin, LOW);
} else {
digitalWrite(pin, HIGH);
}
}
}
}

Some files were not shown because too many files have changed in this diff Show More