Libs updates
This commit is contained in:
		| @@ -19,31 +19,52 @@ | ||||
|  * along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
|  * | ||||
|  */ | ||||
| #include "Marlin.h" | ||||
| #include "gcode.h" | ||||
|  | ||||
| #include "../inc/MarlinConfig.h" | ||||
|  | ||||
| #if ENABLED(AUTO_BED_LEVELING_UBL) || ENABLED(M100_FREE_MEMORY_WATCHER) || ENABLED(DEBUG_GCODE_PARSER) | ||||
|  | ||||
|   #include "hex_print_routines.h" | ||||
|  | ||||
| static char _hex[7] = "0x0000"; | ||||
|   #ifdef CPU_32_BIT | ||||
|     constexpr int byte_start = 0; | ||||
|     static char _hex[] = "0x0000"; | ||||
|   #else | ||||
|     constexpr int byte_start = 4; | ||||
|     static char _hex[] = "0x00000000"; | ||||
|   #endif | ||||
|  | ||||
|   char* hex_byte(const uint8_t b) { | ||||
|   _hex[4] = hex_nybble(b >> 4); | ||||
|   _hex[5] = hex_nybble(b); | ||||
|   return &_hex[4]; | ||||
|     _hex[byte_start + 4] = hex_nybble(b >> 4); | ||||
|     _hex[byte_start + 5] = hex_nybble(b); | ||||
|     return &_hex[byte_start]; | ||||
|   } | ||||
|  | ||||
|   char* hex_word(const uint16_t w) { | ||||
|   _hex[2] = hex_nybble(w >> 12); | ||||
|   _hex[3] = hex_nybble(w >> 8); | ||||
|   _hex[4] = hex_nybble(w >> 4); | ||||
|   _hex[5] = hex_nybble(w); | ||||
|   return &_hex[2]; | ||||
|     _hex[byte_start + 2] = hex_nybble(w >> 12); | ||||
|     _hex[byte_start + 3] = hex_nybble(w >> 8); | ||||
|     _hex[byte_start + 4] = hex_nybble(w >> 4); | ||||
|     _hex[byte_start + 5] = hex_nybble(w); | ||||
|     return &_hex[byte_start - 2]; | ||||
|   } | ||||
|  | ||||
|   #ifdef CPU_32_BIT | ||||
|     char* hex_long(const uint32_t w) { | ||||
|       _hex[byte_start - 2] = hex_nybble(w >> 28); | ||||
|       _hex[byte_start - 1] = hex_nybble(w >> 24); | ||||
|       _hex[byte_start + 0] = hex_nybble(w >> 20); | ||||
|       _hex[byte_start + 1] = hex_nybble(w >> 16); | ||||
|       (void)hex_word((uint16_t)(w & 0xFFFF)); | ||||
|       return &_hex[byte_start - 6]; | ||||
|     } | ||||
|   #endif | ||||
|  | ||||
|   char* hex_address(const void * const w) { | ||||
|   (void)hex_word((int)w); | ||||
|     #ifdef CPU_32_BIT | ||||
|       (void)hex_long((ptr_int_t)w); | ||||
|     #else | ||||
|       (void)hex_word((ptr_int_t)w); | ||||
|     #endif | ||||
|     return _hex; | ||||
|   } | ||||
|  | ||||
|   | ||||
| @@ -23,16 +23,13 @@ | ||||
| #ifndef HEX_PRINT_ROUTINES_H | ||||
| #define HEX_PRINT_ROUTINES_H | ||||
|  | ||||
| #include "MarlinConfig.h" | ||||
| #include "gcode.h" | ||||
|  | ||||
| #if ENABLED(AUTO_BED_LEVELING_UBL) || ENABLED(M100_FREE_MEMORY_WATCHER) || ENABLED(DEBUG_GCODE_PARSER) | ||||
| #include <stdint.h> | ||||
|  | ||||
| // | ||||
| // Utility functions to create and print hex strings as nybble, byte, and word. | ||||
| // | ||||
|  | ||||
| inline char hex_nybble(const uint8_t n) { | ||||
| FORCE_INLINE char hex_nybble(const uint8_t n) { | ||||
|   return (n & 0xF) + ((n & 0xF) < 10 ? '0' : 'A' - 10); | ||||
| } | ||||
| char* hex_byte(const uint8_t b); | ||||
| @@ -44,5 +41,10 @@ void print_hex_byte(const uint8_t b); | ||||
| void print_hex_word(const uint16_t w); | ||||
| void print_hex_address(const void * const w); | ||||
|  | ||||
| #endif // AUTO_BED_LEVELING_UBL || M100_FREE_MEMORY_WATCHER || DEBUG_GCODE_PARSER | ||||
| #ifdef CPU_32_BIT | ||||
|   typedef uint32_t ptr_int_t; | ||||
| #else | ||||
|   typedef uint16_t ptr_int_t; | ||||
| #endif | ||||
|  | ||||
| #endif // HEX_PRINT_ROUTINES_H | ||||
|   | ||||
| @@ -32,15 +32,14 @@ | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| #include "MarlinConfig.h" | ||||
| #include "../inc/MarlinConfig.h" | ||||
|  | ||||
| #if ENABLED(AUTO_BED_LEVELING_UBL) || ENABLED(AUTO_BED_LEVELING_LINEAR) | ||||
|  | ||||
| #include "macros.h" | ||||
| #include <math.h> | ||||
|  | ||||
| #include "least_squares_fit.h" | ||||
|  | ||||
| #include <math.h> | ||||
|  | ||||
| int finish_incremental_LSF(struct linear_fit_data *lsf) { | ||||
|  | ||||
|   const float N = lsf->N; | ||||
|   | ||||
| @@ -32,12 +32,10 @@ | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| #include "MarlinConfig.h" | ||||
| #ifndef _LEAST_SQUARES_FIT_H_ | ||||
| #define _LEAST_SQUARES_FIT_H_ | ||||
|  | ||||
| #if ENABLED(AUTO_BED_LEVELING_UBL) || ENABLED(AUTO_BED_LEVELING_LINEAR) | ||||
|  | ||||
| #include "Marlin.h" | ||||
| #include "macros.h" | ||||
| #include "../inc/MarlinConfig.h" | ||||
| #include <math.h> | ||||
|  | ||||
| struct linear_fit_data { | ||||
| @@ -54,7 +52,7 @@ void inline incremental_LSF_reset(struct linear_fit_data *lsf) { | ||||
|  | ||||
| void inline incremental_WLSF(struct linear_fit_data *lsf, const float &x, const float &y, const float &z, const float &w) { | ||||
|   // weight each accumulator by factor w, including the "number" of samples | ||||
|   // (analagous to calling inc_LSF twice with same values to weight it by 2X) | ||||
|   // (analogous to calling inc_LSF twice with same values to weight it by 2X) | ||||
|   lsf->xbar  += w * x; | ||||
|   lsf->ybar  += w * y; | ||||
|   lsf->zbar  += w * z; | ||||
| @@ -86,5 +84,4 @@ void inline incremental_LSF(struct linear_fit_data *lsf, const float &x, const f | ||||
|  | ||||
| int finish_incremental_LSF(struct linear_fit_data *); | ||||
|  | ||||
| #endif | ||||
|  | ||||
| #endif // _LEAST_SQUARES_FIT_H_ | ||||
|   | ||||
| @@ -1,6 +1,28 @@ | ||||
| /** | ||||
|  * Marlin 3D Printer Firmware | ||||
|  * Copyright (C) 2016 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/>. | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| #include "nozzle.h" | ||||
|  | ||||
| #include "Marlin.h" | ||||
| #include "../Marlin.h" | ||||
| #include "point_t.h" | ||||
|  | ||||
| /** | ||||
|   | ||||
| @@ -23,7 +23,7 @@ | ||||
| #ifndef __NOZZLE_H__ | ||||
| #define __NOZZLE_H__ | ||||
|  | ||||
| #include "Marlin.h" | ||||
| #include "../inc/MarlinConfig.h" | ||||
| #include "point_t.h" | ||||
|  | ||||
| #if ENABLED(NOZZLE_CLEAN_FEATURE) | ||||
| @@ -106,4 +106,4 @@ class Nozzle { | ||||
|     ) _Os; | ||||
| }; | ||||
|  | ||||
| #endif | ||||
| #endif // __NOZZLE_H__ | ||||
|   | ||||
| @@ -34,10 +34,7 @@ | ||||
|  * @param e The e-coordinate of the point. | ||||
|  */ | ||||
| struct point_t { | ||||
|   float x; | ||||
|   float y; | ||||
|   float z; | ||||
|   float e; | ||||
|   float x, y, z, e; | ||||
|  | ||||
|   /** | ||||
|    * @brief Two dimensional point constructor | ||||
|   | ||||
| @@ -23,8 +23,8 @@ | ||||
| #ifndef __PRIVATE_SPI_H__ | ||||
| #define __PRIVATE_SPI_H__ | ||||
|  | ||||
| #include <stdint.h> | ||||
| #include "softspi.h" | ||||
| #include <stdint.h> | ||||
|  | ||||
| template<uint8_t MisoPin, uint8_t MosiPin, uint8_t SckPin> | ||||
| class SPI { | ||||
|   | ||||
| @@ -766,5 +766,3 @@ class SoftSPI { | ||||
|   } | ||||
|   //---------------------------------------------------------------------------- | ||||
| }; | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -20,7 +20,7 @@ | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| #include "Marlin.h" | ||||
| #include "../Marlin.h" | ||||
| #include "stopwatch.h" | ||||
|  | ||||
| Stopwatch::Stopwatch() { | ||||
|   | ||||
| @@ -23,7 +23,7 @@ | ||||
| #ifndef STOPWATCH_H | ||||
| #define STOPWATCH_H | ||||
|  | ||||
| #include "macros.h" | ||||
| #include "../core/types.h" | ||||
|  | ||||
| // Print debug messages with M111 S2 (Uses 156 bytes of PROGMEM) | ||||
| //#define DEBUG_STOPWATCH | ||||
| @@ -103,7 +103,7 @@ class Stopwatch { | ||||
|      */ | ||||
|     millis_t duration(); | ||||
|  | ||||
|     #if ENABLED(DEBUG_STOPWATCH) | ||||
|     #ifdef DEBUG_STOPWATCH | ||||
|  | ||||
|       /** | ||||
|        * @brief Prints a debug message | ||||
|   | ||||
| @@ -38,12 +38,15 @@ | ||||
|   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 <math.h> | ||||
| #include "Marlin.h" | ||||
|  | ||||
| #include "../inc/MarlinConfig.h" | ||||
|  | ||||
| #if HAS_ABL | ||||
|  | ||||
| #include "vector_3.h" | ||||
|  | ||||
| #include <math.h> | ||||
|  | ||||
| vector_3::vector_3() : x(0), y(0), z(0) { } | ||||
|  | ||||
| vector_3::vector_3(float x_, float y_, float z_) : x(x_), y(y_), z(z_) { } | ||||
|   | ||||
| @@ -38,11 +38,10 @@ | ||||
|   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 VECTOR_3_H | ||||
| #define VECTOR_3_H | ||||
|  | ||||
| #if HAS_ABL | ||||
|  | ||||
| class matrix_3x3; | ||||
|  | ||||
| struct vector_3 { | ||||
| @@ -79,5 +78,4 @@ struct matrix_3x3 { | ||||
|  | ||||
| void apply_rotation_xyz(matrix_3x3 rotationMatrix, float &x, float &y, float &z); | ||||
|  | ||||
| #endif // HAS_ABL | ||||
| #endif // VECTOR_3_H | ||||
|   | ||||
		Reference in New Issue
	
	Block a user