HAL cleanup, Teensy 3.1 platform
This commit is contained in:
		| @@ -14,6 +14,7 @@ env: | ||||
|   - TEST_PLATFORM="LPC1768" | ||||
|   - TEST_PLATFORM="LPC1769" | ||||
|   - TEST_PLATFORM="STM32F1" | ||||
|   - TEST_PLATFORM="teensy31" | ||||
|   - TEST_PLATFORM="teensy35" | ||||
|   - TEST_PLATFORM="linux_native" | ||||
|   - TEST_PLATFORM="esp32" | ||||
|   | ||||
| @@ -461,7 +461,6 @@ | ||||
| #define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current | ||||
| #define PID_K1 0.95      // Smoothing factor within any PID loop | ||||
| #if ENABLED(PIDTEMP) | ||||
|   //#define MIN_POWER 0 | ||||
|   //#define PID_EDIT_MENU         // Add PID editing to the "Advanced Settings" menu. (~700 bytes of PROGMEM) | ||||
|   //#define PID_AUTOTUNE_MENU     // Add PID auto-tuning to the "Advanced Settings" menu. (~250 bytes of PROGMEM) | ||||
|   //#define PID_DEBUG             // Sends debug data to the serial port. | ||||
|   | ||||
| @@ -31,12 +31,12 @@ | ||||
|  | ||||
| #ifdef ARDUINO_ARCH_SAM | ||||
|  | ||||
| #include "../shared/persistent_store_api.h" | ||||
| #include "../../inc/MarlinConfig.h" | ||||
|  | ||||
| #if ENABLED(EEPROM_SETTINGS) && NONE(I2C_EEPROM, SPI_EEPROM) | ||||
|  | ||||
| #include "../shared/Marduino.h" | ||||
| #include "../shared/persistent_store_api.h" | ||||
|  | ||||
| #define EEPROMSize     4096 | ||||
| #define PagesPerGroup   128 | ||||
|   | ||||
| @@ -19,19 +19,17 @@ | ||||
|  * along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
|  * | ||||
|  */ | ||||
| #pragma once | ||||
|  | ||||
| /** | ||||
|  * Description: HAL for Teensy 3.5 and Teensy 3.6 | ||||
|  */ | ||||
|  | ||||
| #pragma once | ||||
|  | ||||
| #define CPU_32_BIT | ||||
|  | ||||
| #include "../shared/Marduino.h" | ||||
|  | ||||
| #include "../math_32bit.h" | ||||
| #include "../HAL_SPI.h" | ||||
| #include "../shared/math_32bit.h" | ||||
| #include "../shared/HAL_SPI.h" | ||||
|  | ||||
| #include "fastio_Teensy.h" | ||||
| #include "watchdog_Teensy.h" | ||||
|   | ||||
| @@ -24,13 +24,10 @@ | ||||
|  | ||||
| #include "../shared/persistent_store_api.h" | ||||
|  | ||||
| namespace HAL { | ||||
| namespace PersistentStore { | ||||
| bool PersistentStore::access_start() { return true; } | ||||
| bool PersistentStore::access_finish() { return true; } | ||||
|  | ||||
| bool access_start() { return true; } | ||||
| bool access_finish() { return true; } | ||||
|  | ||||
| bool write_data(int &pos, const uint8_t *value, uint16_t size, uint16_t *crc) { | ||||
| bool PersistentStore::write_data(int &pos, const uint8_t *value, uint16_t size, uint16_t *crc) { | ||||
|   while (size--) { | ||||
|     uint8_t * const p = (uint8_t * const)pos; | ||||
|     uint8_t v = *value; | ||||
| @@ -50,7 +47,7 @@ bool write_data(int &pos, const uint8_t *value, uint16_t size, uint16_t *crc) { | ||||
|   return false; | ||||
| } | ||||
|  | ||||
| bool read_data(int &pos, uint8_t* value, uint16_t size, uint16_t *crc, const bool writing/*=true*/) { | ||||
| bool PersistentStore::read_data(int &pos, uint8_t* value, uint16_t size, uint16_t *crc, const bool writing/*=true*/) { | ||||
|   do { | ||||
|     uint8_t c = eeprom_read_byte((uint8_t*)pos); | ||||
|     if (writing) *value = c; | ||||
| @@ -61,8 +58,5 @@ bool read_data(int &pos, uint8_t* value, uint16_t size, uint16_t *crc, const boo | ||||
|   return false; | ||||
| } | ||||
|  | ||||
| } // PersistentStore | ||||
| } // HAL | ||||
|  | ||||
| #endif // EEPROM_SETTINGS | ||||
| #endif // __MK20DX256__ | ||||
|   | ||||
| @@ -1,50 +0,0 @@ | ||||
| #if defined(__MK64FX512__) || defined(__MK66FX1M0__) | ||||
|  | ||||
| #include "../../inc/MarlinConfig.h" | ||||
|  | ||||
| #if ENABLED(EEPROM_SETTINGS) | ||||
|  | ||||
| #include "../shared/persistent_store_api.h" | ||||
|  | ||||
| namespace HAL { | ||||
| namespace PersistentStore { | ||||
|  | ||||
| bool access_start() { return true; } | ||||
| bool access_finish() { return true; } | ||||
|  | ||||
| bool write_data(int &pos, const uint8_t *value, uint16_t size, uint16_t *crc) { | ||||
|   while (size--) { | ||||
|     uint8_t * const p = (uint8_t * const)pos; | ||||
|     uint8_t v = *value; | ||||
|     // EEPROM has only ~100,000 write cycles, | ||||
|     // so only write bytes that have changed! | ||||
|     if (v != eeprom_read_byte(p)) { | ||||
|       eeprom_write_byte(p, v); | ||||
|       if (eeprom_read_byte(p) != v) { | ||||
|         SERIAL_ECHO_MSG(MSG_ERR_EEPROM_WRITE); | ||||
|         return true; | ||||
|       } | ||||
|     } | ||||
|     crc16(crc, &v, 1); | ||||
|     pos++; | ||||
|     value++; | ||||
|   }; | ||||
|   return false; | ||||
| } | ||||
|  | ||||
| bool read_data(int &pos, uint8_t* value, uint16_t size, uint16_t *crc, const bool writing/*=true*/) { | ||||
|   do { | ||||
|     uint8_t c = eeprom_read_byte((uint8_t*)pos); | ||||
|     if (writing) *value = c; | ||||
|     crc16(crc, &c, 1); | ||||
|     pos++; | ||||
|     value++; | ||||
|   } while (--size); | ||||
|   return false; | ||||
| } | ||||
|  | ||||
| } // PersistentStore | ||||
| } // HAL | ||||
|  | ||||
| #endif // EEPROM_SETTINGS | ||||
| #endif // __MK64FX512__ || __MK66FX1M0__ | ||||
| @@ -16,8 +16,7 @@ | ||||
|  * along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| #ifndef HAL_PINSDEBUG_TEENSY_H | ||||
| #pragma once | ||||
|  | ||||
| #define NUMBER_PINS_TOTAL NUM_DIGITAL_PINS | ||||
| #define MULTI_NAME_PAD 16 // space needed to be pretty if not first name assigned to a pin | ||||
| @@ -103,5 +102,3 @@ bool HAL_pwm_status(int8_t pin) { | ||||
| } | ||||
|  | ||||
| static void HAL_pwm_details(uint8_t pin) { /* TODO */ } | ||||
|  | ||||
| #endif | ||||
|   | ||||
| @@ -41,7 +41,7 @@ | ||||
|  | ||||
| //#define I2C_EEPROM   // AT24C64 | ||||
| //#define E2END 0x7FFF // 64KB | ||||
| // #define FLASH_EEPROM_EMULATION 1 | ||||
| //#define FLASH_EEPROM_EMULATION | ||||
| //#define E2END 0xFFF // 4KB | ||||
| //#define E2END uint32(EEPROM_START_ADDRESS + (EEPROM_PAGE_SIZE * 2) - 1) | ||||
| //#define EEPROM_CHITCHAT | ||||
|   | ||||
							
								
								
									
										116
									
								
								buildroot/share/tests/teensy31-tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										116
									
								
								buildroot/share/tests/teensy31-tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,116 @@ | ||||
| #!/usr/bin/env bash | ||||
| # | ||||
| # Build tests for Teensy 3.1/3.2 (ARM Cortex-M4) | ||||
| # | ||||
|  | ||||
| # exit on first failure | ||||
| set -e | ||||
|  | ||||
| backup_ramps | ||||
|  | ||||
| restore_configs | ||||
| opt_set MOTHERBOARD BOARD_TEENSY31_32 | ||||
| exec_test $1 $2 "Teensy3.1 with default config" | ||||
|  | ||||
| # | ||||
| # Test as many features together as possible | ||||
| # | ||||
| restore_configs | ||||
| opt_set MOTHERBOARD BOARD_TEENSY31_32 | ||||
| opt_set EXTRUDERS 2 | ||||
| opt_set TEMP_SENSOR_0 1 | ||||
| opt_set TEMP_SENSOR_1 5 | ||||
| opt_set TEMP_SENSOR_BED 1 | ||||
| opt_enable REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER LCD_INFO_MENU SDSUPPORT SDCARD_SORT_ALPHA \ | ||||
|            FILAMENT_WIDTH_SENSOR FILAMENT_LCD_DISPLAY CALIBRATION_GCODE BAUD_RATE_GCODE \ | ||||
|            FIX_MOUNTED_PROBE Z_SAFE_HOMING AUTO_BED_LEVELING_BILINEAR Z_MIN_PROBE_REPEATABILITY_TEST DEBUG_LEVELING_FEATURE \ | ||||
|            BABYSTEPPING BABYSTEP_XY BABYSTEP_ZPROBE_OFFSET BABYSTEP_ZPROBE_GFX_OVERLAY \ | ||||
|            PRINTCOUNTER NOZZLE_PARK_FEATURE NOZZLE_CLEAN_FEATURE SLOW_PWM_HEATERS PIDTEMPBED EEPROM_SETTINGS INCH_MODE_SUPPORT TEMPERATURE_UNITS_SUPPORT M100_FREE_MEMORY_WATCHER \ | ||||
|            ADVANCED_PAUSE_FEATURE ARC_SUPPORT BEZIER_CURVE_SUPPORT EXPERIMENTAL_I2CBUS EXTENDED_CAPABILITIES_REPORT AUTO_REPORT_TEMPERATURES PARK_HEAD_ON_PAUSE \ | ||||
|            PHOTO_GCODE PHOTO_POSITION PHOTO_SWITCH_POSITION PHOTO_SWITCH_MS PHOTO_DELAY_MS PHOTO_RETRACT_MM \ | ||||
|            HOST_ACTION_COMMANDS HOST_PROMPT_SUPPORT | ||||
| opt_set I2C_SLAVE_ADDRESS 63 | ||||
| opt_set GRID_MAX_POINTS_X 16 | ||||
| exec_test $1 $2 "Teensy3.1 with many features" | ||||
|  | ||||
| # | ||||
| # Test a Sled Z Probe with Linear leveling | ||||
| # | ||||
| restore_configs | ||||
| opt_set MOTHERBOARD BOARD_TEENSY31_32 | ||||
| opt_enable EEPROM_SETTINGS Z_PROBE_SLED AUTO_BED_LEVELING_LINEAR DEBUG_LEVELING_FEATURE GCODE_MACROS | ||||
| exec_test $1 $2 "Sled Z Probe with Linear leveling" | ||||
|  | ||||
| # | ||||
| # Test a Servo Probe | ||||
| # | ||||
| # restore_configs | ||||
| # opt_set MOTHERBOARD BOARD_TEENSY31_32 | ||||
| # opt_enable Z_PROBE_SERVO_NR Z_SERVO_ANGLES DEACTIVATE_SERVOS_AFTER_MOVE \ | ||||
| #            AUTO_BED_LEVELING_3POINT DEBUG_LEVELING_FEATURE EEPROM_SETTINGS | ||||
| # opt_set NUM_SERVOS 1 | ||||
| # exec_test $1 $2 "Servo Probe" | ||||
| # | ||||
| # ...with AUTO_BED_LEVELING_3POINT, DEBUG_LEVELING_FEATURE, EEPROM_SETTINGS, EEPROM_CHITCHAT, EXTENDED_CAPABILITIES_REPORT, and AUTO_REPORT_TEMPERATURES | ||||
| # | ||||
| # opt_enable AUTO_BED_LEVELING_3POINT DEBUG_LEVELING_FEATURE EEPROM_SETTINGS \ | ||||
| #            EXTENDED_CAPABILITIES_REPORT AUTO_REPORT_TEMPERATURES | ||||
| # exec_test $1 $2 "...with AUTO_BED_LEVELING_3POINT, DEBUG_LEVELING_FEATURE, EEPROM_SETTINGS, EEPROM_CHITCHAT, EXTENDED_CAPABILITIES_REPORT, and AUTO_REPORT_TEMPERATURES" | ||||
|  | ||||
| # | ||||
| # Test MAGNETIC_PARKING_EXTRUDER with LCD | ||||
| # | ||||
| restore_configs | ||||
| opt_set MOTHERBOARD BOARD_TEENSY31_32 | ||||
| opt_set EXTRUDERS 2 | ||||
| opt_set TEMP_SENSOR_1 1 | ||||
| opt_enable MAGNETIC_PARKING_EXTRUDER ULTIMAKERCONTROLLER | ||||
| exec_test $1 $2 "MAGNETIC_PARKING_EXTRUDER with LCD" | ||||
|  | ||||
| # | ||||
| # Mixing Extruder | ||||
| # | ||||
| restore_configs | ||||
| opt_set MOTHERBOARD BOARD_TEENSY31_32 | ||||
| opt_enable MIXING_EXTRUDER DIRECT_MIXING_IN_G1 GRADIENT_MIX GRADIENT_VTOOL REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER | ||||
| opt_set MIXING_STEPPERS 2 | ||||
| exec_test $1 $2 "Mixing Extruder" | ||||
|  | ||||
| # | ||||
| # Test SWITCHING_EXTRUDER | ||||
| # | ||||
| # restore_configs | ||||
| # opt_set MOTHERBOARD BOARD_TEENSY31_32 | ||||
| # opt_set EXTRUDERS 2 | ||||
| # opt_set NUM_SERVOS 1 | ||||
| # opt_enable SWITCHING_EXTRUDER ULTIMAKERCONTROLLER | ||||
| # exec_test $1 $2 "SWITCHING_EXTRUDER" | ||||
| # | ||||
| # Enable COREXY | ||||
| # | ||||
| restore_configs | ||||
| opt_set MOTHERBOARD BOARD_TEENSY31_32 | ||||
| opt_enable COREXY | ||||
| exec_test $1 $2 "COREXY" | ||||
|  | ||||
| # | ||||
| # Enable COREXZ | ||||
| # | ||||
| restore_configs | ||||
| opt_set MOTHERBOARD BOARD_TEENSY31_32 | ||||
| opt_enable COREXZ | ||||
| exec_test $1 $2 "COREXZ" | ||||
|  | ||||
| # | ||||
| # Enable Z_DUAL_STEPPER_DRIVERS, Z_DUAL_ENDSTOPS | ||||
| # | ||||
| restore_configs | ||||
| opt_set MOTHERBOARD BOARD_TEENSY31_32 | ||||
| opt_enable Z_DUAL_STEPPER_DRIVERS Z_DUAL_ENDSTOPS | ||||
| pins_set ramps/RAMPS X_MAX_PIN -1 | ||||
| opt_add Z2_MAX_PIN 2 | ||||
| opt_enable USE_XMAX_PLUG | ||||
| exec_test $1 $2 "Z_DUAL_STEPPER_DRIVERS, Z_DUAL_ENDSTOPS" | ||||
|  | ||||
| # Clean up | ||||
| restore_configs | ||||
| @@ -530,6 +530,19 @@ lib_ignore = Adafruit NeoPixel, c1921b4, TMC26XStepper, SailfishLCD, SailfishRGB | ||||
| src_filter = ${common.default_src_filter} +<src/HAL/HAL_STM32> | ||||
| monitor_speed = 250000 | ||||
|  | ||||
| # | ||||
| # Teensy 3.1 / 3.2 (ARM Cortex-M4) | ||||
| # | ||||
| [env:teensy31] | ||||
| platform      = teensy | ||||
| framework     = arduino | ||||
| board         = teensy31 | ||||
| build_flags   = ${common.build_flags} | ||||
| lib_deps      = ${common.lib_deps} | ||||
| lib_ignore    = Adafruit NeoPixel | ||||
| src_filter    = ${common.default_src_filter} +<src/HAL/HAL_TEENSY31_32> | ||||
| monitor_speed = 250000 | ||||
|  | ||||
| # | ||||
| # Teensy 3.5 / 3.6 (ARM Cortex-M4) | ||||
| # | ||||
|   | ||||
		Reference in New Issue
	
	Block a user