mirror of
https://github.com/MarlinFirmware/Marlin.git
synced 2024-11-30 23:30:16 +00:00
Libs updates
This commit is contained in:
parent
34101224c4
commit
d7ee81202f
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user