Commit Graph

999 Commits

Author SHA1 Message Date
870bfd08f5 usb and sdcard sharing improvements
* Add traceback after watchdog timeout

Add the cpability to perform a traceback following a watchdog timeout.

* Enhanced hardware SPI

Allow use of either SSP0 or SSP1.
Ensure that no data is left in I/O buffers after calls to enable sharing of SSP hardware.

* Make flash emulation of eeprom the default

Make use of flash for eeprom storage the default. This means that usage of eeprom will not cause USB drive mount/unmount operations.

* Allow sharing of SD card

SD card I/O operations from the USB stack take place in idle loop, rather than at interrupt time. Allowing sharing of the SPI bus.

New configuration options to allow usage of the SD card to be specified.

* Fix problem with hardware SPI pins
2018-10-14 18:43:48 +01:00
5ddf52d58e [HAL][LPC176x] Pull out framework into separate repository
Framework and build platform now located at https://github.com/p3p/pio-framework-arduino-lpc176x and https://github.com/p3p/pio-nxplpc-arduino-lpc176x respectively

fix mkssbase leds

move hardware serial

remove hardware/software serial

Hardware Serial extraction

HardwareSerial ISRs

fix disabled serial2 causing Serial object to link

move usb devices out to framework

separate out adc/pwm peripheral function from hal.cpp

fix includes

remove unused pwm init

move adc

HAL header update

templated filtered adc

LPC1769 platform
2018-10-14 18:43:48 +01:00
0bd54392b7 Use uint8_t in EEPROM code 2018-10-09 19:00:01 -05:00
ec9aa4f468 [2.0.x] Miscellaneous fixes (#12039)
* Allow override of soft SPI pins in `pins_*.h`
* Add default case to avoid compiler warning.
* Additional pin definitions for Archim 2.
* Einsy Retro has same timings as Einsy Rambo.
2018-10-08 18:14:52 -05:00
191df5e17d Correct PWM_PIN behavior for STM32 HALs (#12027) 2018-10-07 17:08:01 -05:00
bfcf570d68 Try ISR_ALIASOF for Endstop Interrupts 2018-10-07 17:05:32 -05:00
cb7844c8d4 Save PROGMEM on serial prefixes (#12033)
With default config and `EEPROM_SETTINGS`, saves over 200 bytes of PROGMEM.
2018-10-07 15:32:15 -05:00
33056046a3 STM32 non-generic PWM_PIN and USEABLE_HARDWARE_PWM (#12016) 2018-10-06 00:14:12 -05:00
d5141c4e03 Fix up leading/trailing whitespace 2018-10-05 18:19:59 -05:00
fcf6d127fd STM32 timer simplification (#11995)
Prescalers aren't calculated for the given target frequency.
Stepper timer should run at 2 Mhz and temperature timer at 72 Khz.
2018-10-03 22:33:24 -05:00
001f26b642 Template struct simplification for serial (#11990) 2018-10-03 11:01:21 -05:00
348004c34f STM32F7 HAL using the official STM32 Arduino Core (#11750) 2018-10-03 03:26:07 -05:00
d6955f25b2 Expand serial support in DUE/AVR hals exploiting the templated MarlinSerial classes (#11988) 2018-10-03 00:47:27 -05:00
f6f2246f59 Templatized serial classes (#11982) 2018-10-02 22:15:30 -05:00
ee53f7d813 Revert header reorg. 2018-10-02 22:09:41 -05:00
0dedb3e139 Reorganize some core headers (#11983) 2018-10-02 04:25:46 -05:00
606a4362b3 Reduce STM32F4 compile warnings 2018-10-01 04:41:17 -05:00
11ac75edcb Use PGM_P for PSTR pointers (#11977) 2018-09-30 23:44:33 -05:00
8489673cea Adjust some HAL formatting 2018-09-30 21:24:37 -05:00
2ecfda80ac Improve support for JTAG/SWD pins reuse (#11963)
STM32 can reuse JTAG and SWD pins separately. Add `DISABLE_DEBUG` option to disable both interfaces and retain `DISABLE_JTAG` to disable JTAG only.
2018-09-29 19:00:49 -05:00
7d5c336c56 Corrections for dylsexic TMC 2018-09-29 18:51:11 -05:00
ad21a4f07b Tweaks to HAL format and order 2018-09-28 15:59:50 -05:00
b682a1961a Tweak STM32F7 TMC2660 class 2018-09-27 21:13:15 -05:00
84926b1d5a HAL general support for DISABLE_JTAG option (#11211)
Some STM32-based boards may use multiplexed JTAG pins as IO. Up to now the `DISABLE_JTAG` option (defined in pins files) was only supported for AT90-based boards. This commit generalizes the code and adds support for boards based on STM32F1 and STM32F4.
2018-09-27 19:02:50 -04:00
ccbd045f02 Fixed warning about comparing signed to unsigned (#11909) 2018-09-24 12:03:29 -04:00
c411e7eb0d [2.0.x] Squelch compiler warnings seen with -Wall (#11889) 2018-09-23 12:00:34 -04:00
1718eff54a Code changes supporting up to 6 extruders 2018-09-16 22:32:53 -05:00
1a6f2b29b8 Add support for Triple-Z steppers/endstops 2018-09-16 00:35:58 -05:00
d783400330 Updates to STM32F7 HAL, for completeness (#11770) 2018-09-09 03:26:15 -05:00
f417408df1 [STM32F1] Fix HAL for new PlatformIO (#11749) 2018-09-07 18:15:32 -05:00
2a61c9a939 Various fixups to configs, spacing, etc. 2018-09-06 06:44:31 -05:00
6a3207391f Remove obsolete HAL_timer_restrain 2018-08-31 16:17:22 -05:00
7ecb8b4af5 [2.0.x] Teensy 3.1 and 3.2 support (#11460) 2018-08-27 21:49:49 -05:00
a317bb4991 Remove stray tab 2018-08-24 17:35:13 -05:00
ba1919c1eb HAL tweaks to LPC1768 main 2018-08-22 17:16:18 -05:00
0987ed2a18 Use American English 2018-08-22 17:16:18 -05:00
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`.
2018-08-20 21:13:51 -05:00
0456caf0ad Consolidate shared HALs and isolate HAL compile (#11552) 2018-08-20 21:11:12 -05:00
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.
2018-08-20 20:37:56 -05:00
00d24a8219 Don't call __delay_4cycles for 0 cycle delay - takes a really long time. (#11586) 2018-08-18 22:50:11 -05:00
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
2018-08-17 23:27:10 -05:00
b37bfeffeb [2.0.x] Use the new const functions of the persistentStore api (#11544) 2018-08-14 18:35:36 -05:00
5573ef62c6 [2.0.x] PersistentStore update followup (#11549) 2018-08-14 17:54:12 -05:00
834ea7fcea Remove 'const' from PersistentStore::capacity 2018-08-14 04:46:10 -05:00
c64199941e Compile only selected PIO environment (#11519) 2018-08-14 03:28:52 -05:00
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.
2018-08-14 01:19:34 -05:00
865ee5985f Followup persistent store with heading, const 2018-08-13 23:55:33 -05:00
6a8b906318 Followup for persistent_store_api.h 2018-08-13 17:43:35 -05:00
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
2018-08-13 17:30:25 -05:00
15d68cb496 Pre-override of ST7920 delays before HAL.h 2018-07-26 23:33:18 -05:00