414 Commits (7a04eb3a8b80e2c67eb7c35e83be84d761aa3d1a)

Author SHA1 Message Date
Scott Lahteine 0987ed2a18 Use American English 6 years ago
jmz52 a77f8c6dd5 Implement servo support for STM32F1 (#11580)
Implement servo support for STM32F1. Original code was incomplete and depended on Servo library from stm32duino which conflicts with `module/servo.h`.
6 years ago
Dave Johnson 0456caf0ad Consolidate shared HALs and isolate HAL compile (#11552) 6 years ago
jmz52 dfe18ac633 Fix compilation error for STM32F1 with U8GLIB_SSD1306 or U8GLIB_SH1106 enabled (#11583)
The `binary.h` file required by `lcd/dogm/dogm_bitmaps.h` is not present in stm32duino environment. Binary macros are defined in `bit_constants.h` in stm32duino framework.
6 years ago
ghent360 00d24a8219 Don't call __delay_4cycles for 0 cycle delay - takes a really long time. (#11586) 6 years ago
jmz52 0b2d686160 Fix "SD init fail" problem for STM32F1 (#11579)
Fix "SD init fail" problem for STM32F1 caused by incorrect SS pin state and incorrect SPI mode. Issue #11225
6 years ago
Nils Hasenbanck b37bfeffeb [2.0.x] Use the new const functions of the persistentStore api (#11544) 7 years ago
Chris Pepper 5573ef62c6 [2.0.x] PersistentStore update followup (#11549) 7 years ago
Scott Lahteine 834ea7fcea Remove 'const' from PersistentStore::capacity 7 years ago
Dave Johnson c64199941e Compile only selected PIO environment (#11519) 7 years ago
Andy Shaw 5be2559eda Use flash memory to emulate EEPROM (#11500)
Use a sector of the LPC flash memory to emulate EEPROM storage, removing the need to have an SD card to store system parameters.
7 years ago
Scott Lahteine 865ee5985f Followup persistent store with heading, const 7 years ago
Scott Lahteine 6a8b906318 Followup for persistent_store_api.h 7 years ago
Chris Pepper 66d2b48b59 Update PersistentStore api (#11538)
- Clean up the API to use a `static` class instance to adhere to Marlin convention
- Add `const` position data access for read/write
- Add Storage capacity to the interface
7 years ago
Scott Lahteine 15d68cb496 Pre-override of ST7920 delays before HAL.h 7 years ago
Scott Lahteine 244b9a8257 Better fastio 1280/2560 pin list
Co-Authored-By: bleughb <36889022+bleughb@users.noreply.github.com>
7 years ago
Andy Shaw 624986d423 Ensure ADC conversion is complete before reading (#11336)
The current Marlin implementation relies on a timer interrupt to start the ADC conversion and read it. However in some circumstances the interrupt can be delayed resulting in insufficient time being available for the ADC conversion. This results in a bad reading and false temperature fluctuations. These changes make sure that the conversion is complete (by checking the ADC hardware via the HAL) before reading a value.

See: https://github.com/MarlinFirmware/Marlin/issues/11323
7 years ago
teemuatlut fbcdf5eaeb Simplify stepper driver per-axis selection 7 years ago
Scott Lahteine 64f007580b Fix some header comments 7 years ago
teemuatlut f38c81cdde LPC176x: Expand HW SPI class 7 years ago
teemuatlut 3b5dec4b13 Add new LPC include folder 7 years ago
Scott Lahteine d05e832f29 Add STM32F1 support for SD-based EEPROM 7 years ago
etagle 1367df2875 Replace double with float, optimize calculation 7 years ago
etagle e7e896e7d7 More tweaks to fastio_Due.h 7 years ago
Chris Pepper 55f4744e54 [LPC176x] Endstop Interrupts Feature (#11202)
Enable the endstop interrupts feature for LPC176x boards. Although Smoothieboard chose to use non-interrupt capable pins for their endstops, and this has been copied by clones, so they can't use it.
7 years ago
Chris Pepper 5abf5bc8a7 [LPC176x] Fix Interrupt forward declarations (#11200) 7 years ago
Chris Pepper 5616581eb1 [LPC176x] Update fastio _GET_INPUT, _GET_OUTPUT macros (#11168) 7 years ago
Scott Lahteine 8a8eae8d97
Implement more fastio_Due macros (#11165) 7 years ago
Scott Lahteine fc10101b06 Tweaks to fastio_Due.h 7 years ago
Alexander Amelkin ffdbc1f42c STM32F1: Fix SD card persistent store API (#11090) 7 years ago
Scott Lahteine d86f25ab63 Fix Serial ISR priority for LPC1768
Co-Authored-By: p3p <p3p@p3psoft.co.uk>
7 years ago
Scott Lahteine 99591dc20c
Filter endstops state at all times (#11066) 7 years ago
Chris Pepper 0312c42f9d [2.0.x] LPC176x Serial cleanup (#11032) 7 years ago
Scott Lahteine c1269c2ec1 Tweak AVR critical section defines 7 years ago
Chris Pepper f88adcbfd5 [2.0.x][LPC176x] Fix binary linking broken by pio update (#11026) 7 years ago
Simon Jouet e2aeda61ed HAL for Espressif ESP32 Wifi 7 years ago
Scott Lahteine 19d4c7c1cd Tweak HAL header comments 7 years ago
etagle a215725df6 Fix stepper pulse timing
Always honor minimum period on stepper pulse generation, and fix timing calculations

Signed-off-by: etagle <ejtagle@hotmail.com>
7 years ago
Scott Lahteine a9861a780e Tweak HAL heading 7 years ago
Scott Lahteine cf53e502a2 No need to set input after attachInterrupt 7 years ago
Karl Andersson e0276d2f32 Official STMicroelectronics Arduino Core STM32F4 HAL compatibility (#11006) 7 years ago
Scott Lahteine 4dbec774b5 HAL_*_TIMER_RATE => *_TIMER_RATE 7 years ago
Scott Lahteine 9b945c13a1 Fix STM32F1 ISR_ENABLED 7 years ago
Alexey Shvetsov 2ddba201c0 STM32F1 HAL Fixes (#10999)
- Enable / disable interrupts with `__iSeiRetVal` / `__iCliRetVal`
- Add STM32F1 to Travis CI tests
7 years ago
Eduardo José Tagle 5590c8ffd0 Fix MarlinSerial (AVR) (#10991)
An undocumented hw bug makes the UART lose chars when RX ISR is disabled, even for a very small amount of time. This happens when RX_BUFFER > 256, and the result is corrupted received commands. Solved by implementing pseudo-atomic operations on 16bit indices.
7 years ago
Scott Lahteine 117fd007a9 Followup to pin error change 7 years ago
etagle 99af086cea Add hidden Serial overflow debug options 7 years ago
etagle d90e8fcad9 Fix XON/XOFF implementation
Pointed out by @GMagician
7 years ago
Scott Lahteine 3701869e6c Add HAL_timer_start for AVR, use stepper timer to time pulses 7 years ago
Scott Lahteine a426986df8
Ensure pins set to INPUT after attachInterrupt (#10928) 7 years ago
Giuliano c9d1a620d4 [2.0.x] fix indentations (#10934) 7 years ago
Scott Lahteine c685c7b7dd STM32F4: All pins can do PWM 7 years ago
Eduardo José Tagle d3c02410a8 [2.0.x] Small assorted collection of fixes and improvements (#10911)
* Misc fixes and improvements

- Get rid of most critical sections on the Serial port drivers for AVR and DUE. Proper usage of FIFOs should allow interrupts to stay enabled without harm to queuing and dequeuing.
  Also, with 8-bit indices (for AVR) and up to 32-bit indices (for ARM), there is no need to protect reads and writes to those indices.
- Simplify the XON/XOFF logic quite a bit. Much cleaner now (both for AVR and ARM)
- Prevent a race condition (edge case) that could happen when estimating the proper value for the stepper timer (by reading it) and writing the calculated value for the time to the next ISR by disabling interrupts in those critical and small sections of the code - The problem could lead to lost steps.
- Fix dual endstops not properly homing bug (maybe).

* Set position immediately when possible
7 years ago
Chris Pepper d87257f63c [2.0.x][LPC176x] Fix PIO build flags (#10909)
Don't build and link with different flags, the binary may not work.
7 years ago
Scott Lahteine cbcb284f4a Allow libServo::attach to work on Teensy 3.5/3.6 7 years ago
Chris Pepper f89f7c4a82 [2.0.x][LPC176x][Build] Force single precision constants, disable freestanding (#10892) 7 years ago
android444 16da5c62d0 Teensy 3.x fastio pullup (#10890) 7 years ago
Scott Lahteine 9b9b62b218 delay(SERVO_DELAY) => safe_delay(servo_delay[servo_index]) 7 years ago
android444 9c235ef821 [HAL]Add support for ST7920 - Teensy 3.x (#10872) 7 years ago
Bob-the-Kuhn 1c0ad8bbae wrong type of exit method 7 years ago
Eduardo José Tagle 6f330f397e [2.0.x] Buffer overflow and scroll fix, UTF8 cleanup (#10844) 7 years ago
Bob Kuhn 235facd545 install AVRDUDE 5.10, faster disk find for LPC1768 (#10849) 7 years ago
Bob Kuhn e2db509d58 [2.0.x] Update/Fix LPC1768 extra script upload_extra_script.py (#10843)
* Use a different method to find the volume info in Windows
7 years ago
Scott Lahteine 5f8591528e Remove #pragmas that don't help c files 7 years ago
Scott Lahteine c89649b46e Suppress U8glib build warnings 7 years ago
Scott Lahteine 4118199ddd Tweaks to core headers 7 years ago
Bob Kuhn 6dfbb39f83 [LPC1768] Add error-handling to upload script, update autobuild.py (#10802) 7 years ago
etagle 569df3fc0c Fix interrupt-based endstop detection
- Also implemented real endstop reading on interrupt.
7 years ago
etagle 0566badcef Add memory barrier, optimal interrupt on-off
Disabling an ISR on ARM has 3 instructions of latency. A Memory barrier is REQUIRED to ensure proper and predictable disabling. Memory barriers are expensive, so avoid disabling if already disabled (See https://mcuoneclipse.com/2015/10/16/nvic-disabling-interrupts-on-arm-cortex-m-and-the-need-for-a-memory-barrier-instruction/)
7 years ago
Scott Lahteine c2fb2f54a1 Use assembly for AVR ISR vectors
Co-Authored-By: ejtagle <ejtagle@hotmail.com>
7 years ago
Scott Lahteine 206014a957 Fix LPC176x timer functions
Co-Authored-By: ejtagle <ejtagle@hotmail.com>
7 years ago
Scott Lahteine 59f7861bcb
Move backtrace to the HAL folder (#10790) 7 years ago
Scott Lahteine c173a31060 Fix some compile warnings 7 years ago
Chris Pepper 9b64fdbc3a [LPC176x] HAL: Add missing program space definition (#10776) 7 years ago
Scott Lahteine 50270b53a0 Clear up some more compile warnings 7 years ago
etagle 40d7e12827 Removing warnings from compilation 7 years ago
Scott Lahteine fb608938f8 Prevent compilation of unused u8g-oriented code 7 years ago
Scott Lahteine 37b15fe4cf Reorder HAL timer header items 7 years ago
Scott Lahteine 883b0c9880
Convert custom maths to inlines (#10728) 7 years ago
Scott Lahteine 99ecdf59af Smarter MIN, MAX, ABS macros
Use macros that explicitly avoid double-evaluation and can be used for any datatype, replacing `min`, `max`, `abs`, `fabs`, `labs`, and `FABS`.

Co-Authored-By: ejtagle <ejtagle@hotmail.com>
7 years ago
etagle 9d98a62699 Followup to HAL optimizations and delays
- Cleanups, fixes for Due HAL code.
- TC_IER is write-only. Use TC_IMR to test ISR state.
7 years ago
Scott Lahteine a1062eec5b
Better handling of DELAY_NS and DELAY_US (#10716)
Co-Authored-By: ejtagle <ejtagle@hotmail.com>
7 years ago
etagle 1b225a2809 DUE: Emergency parser for the USB CDC 7 years ago
Scott Lahteine 0436e16fb2 Apply shorthand Assembler macros 7 years ago
Scott Lahteine d1b619be52 Standardize some hexadecimals 7 years ago
Scott Lahteine 81b632c255 Additional temp-oriented improvements 7 years ago
nightdemonx e911635fb1 Add thermocouple with AD8495 support 7 years ago
Scott Lahteine 3f68203324 Modify FastIO error message 7 years ago
Scott Lahteine a474a7e675 Correct AVR_ATmega328_FAMILY macro
…as with #10540

Co-Authored-By: per1234 <per1234@users.noreply.github.com>
7 years ago
Scott Lahteine 456cf971af HAL FastIO cleanup and fixes 7 years ago
J.C. Nelson 5b5e322356 Set Interrupt Priorities and Grouping for STM32F103. (#10517) 7 years ago
Scott Lahteine 2578996631
[2.0.x] Emergency parser for multiple serial ports (#10524) 7 years ago
Chris Pepper 2242b98248 [LPC176x] Emergency Parser Feature (#10516) 7 years ago
Eduardo José Tagle c1e5ebbc1e [2.0.x] AVR: Atomic bit set and clear of upper pin ports without critical section (#10502)
* AVR: Atomic bit set and clear

The critical section can be dropped, saving 3 cycles per access. Also simplified pin toggling for all ports.
7 years ago
Scott Lahteine a3ce8a3fcd Add sanity checks for EMERGENCY_PARSER 7 years ago
Eduardo José Tagle 0c428a66d9 Proper AVR preemptive interrupt handling (#10496)
Also simplify logic on all ARM-based interrupts. Now, it is REQUIRED to properly configure interrupt priority. USART should have highest priority, followed by Stepper, and then all others.
7 years ago
Scott Lahteine f423e54f77 Strip trailing spaces 7 years ago
Scott Lahteine cb46cb8480
Add HAS_HEATED_BED conditional (#10495) 7 years ago
Scott Lahteine dea686cf55
Define short pin names in fastio for STM32 (#10461) 7 years ago
Karl Andersson 428c54f2ad [2.0.x] HAL for STM32F4 (#10434) 7 years ago