Browse Source

STM32F1 cleanup, incl. SoftwareSerial removal (#20046)

vanilla_fb_2.0.x
Jason Smith 4 years ago
committed by GitHub
parent
commit
bd872d5dcf
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 60
      Marlin/src/HAL/STM32F1/SoftwareSerial.cpp
  2. 44
      Marlin/src/HAL/STM32F1/SoftwareSerial.h
  3. 2
      Marlin/src/HAL/STM32F1/build_flags.py
  4. 5
      Marlin/src/HAL/STM32F1/inc/SanityCheck.h
  5. 14
      platformio.ini

60
Marlin/src/HAL/STM32F1/SoftwareSerial.cpp

@ -1,60 +0,0 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* 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 <https://www.gnu.org/licenses/>.
*
*/
#if defined(__STM32F1__) && !defined(HAVE_SW_SERIAL)
/**
* Empty class for Software Serial implementation (Custom RX/TX pins)
*
* TODO: Optionally use https://github.com/FYSETC/SoftwareSerialM if TMC UART is wanted
*/
#include "SoftwareSerial.h"
// Constructor
SoftwareSerial::SoftwareSerial(int8_t RX_pin, int8_t TX_pin) {}
// Public
void SoftwareSerial::begin(const uint32_t baudrate) {
}
bool SoftwareSerial::available() {
return false;
}
uint8_t SoftwareSerial::read() {
return 0;
}
uint16_t SoftwareSerial::write(uint8_t byte) {
return 0;
}
void SoftwareSerial::flush() {}
void SoftwareSerial::listen() {
listening = true;
}
void SoftwareSerial::stopListening() {
listening = false;
}
#endif // __STM32F1__

44
Marlin/src/HAL/STM32F1/SoftwareSerial.h

@ -1,44 +0,0 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
#include <stdint.h>
#ifndef HAVE_SW_SERIAL
#define SW_SERIAL_PLACEHOLDER 1
#endif
class SoftwareSerial {
public:
SoftwareSerial(int8_t RX_pin, int8_t TX_pin);
void begin(const uint32_t baudrate);
bool available();
uint8_t read();
uint16_t write(uint8_t byte);
void flush();
void listen();
void stopListening();
protected:
bool listening;
};

2
Marlin/src/HAL/STM32F1/build_flags.py

@ -3,7 +3,7 @@ import sys
#dynamic build flags for generic compile options
if __name__ == "__main__":
args = " ".join([ "-std=gnu11",
args = " ".join([ "-std=gnu++14",
"-Os",
"-mcpu=cortex-m3",
"-mthumb",

5
Marlin/src/HAL/STM32F1/inc/SanityCheck.h

@ -25,11 +25,6 @@
* Test STM32F1-specific configuration values for errors at compile-time.
*/
#if !defined(HAVE_SW_SERIAL) && HAS_TMC_SW_SERIAL
#warning "With TMC2208/9 consider using SoftwareSerialM with HAVE_SW_SERIAL and appropriate SS_TIMER."
#error "Missing SoftwareSerial implementation."
#endif
#if ENABLED(SDCARD_EEPROM_EMULATION) && DISABLED(SDSUPPORT)
#undef SDCARD_EEPROM_EMULATION // Avoid additional error noise
#if USE_FALLBACK_EEPROM

14
platformio.ini

@ -711,7 +711,7 @@ src_filter = ${common.default_src_filter} +<src/HAL/STM32> +<src/HAL/shared/b
[common_stm32f1]
platform = ststm32@~6.1
build_flags = !python Marlin/src/HAL/STM32F1/build_flags.py
${common.build_flags} -std=gnu++14 -DHAVE_SW_SERIAL
${common.build_flags}
build_unflags = -std=gnu11 -std=gnu++11
src_filter = ${common.default_src_filter} +<src/HAL/STM32F1>
lib_ignore = SPI
@ -1121,18 +1121,14 @@ build_flags = ${env:chitu_f103.build_flags} -DCHITU_V5_Z_MIN_BUGFIX
# Creality (STM32F103RET6)
#
[env:STM32F103RET6_creality]
platform = ${common_stm32f1.platform}
extends = common_stm32f1
board = genericSTM32F103RE
build_flags = !python Marlin/src/HAL/STM32F1/build_flags.py
${common.build_flags} -std=gnu++14 -DSTM32_XL_DENSITY -DTEMP_TIMER_CHAN=4
extra_scripts = ${common.extra_scripts}
platform = ${env:STM32F103RE.platform}
extends = env:STM32F103RE
build_flags = ${env:STM32F103RE.build_flags} -DTEMP_TIMER_CHAN=4
extra_scripts = ${env:STM32F103RE.extra_scripts}
pre:buildroot/share/PlatformIO/scripts/random-bin.py
buildroot/share/PlatformIO/scripts/creality.py
lib_ignore = ${common_stm32f1.lib_ignore}
debug_tool = jlink
upload_protocol = jlink
monitor_speed = 115200
#
# FLSUN QQ (STM32F103VET6)

Loading…
Cancel
Save