@@ -706,53 +706,54 @@ void loop() {
706
706
}
707
707
}
708
708
709
- // there's a problem with running 2.5 of the MCCI STM32 BSPs;
710
- // hack around it.
709
+ #define NEED_USBD_LL_ConnectionState 0
710
+ #ifdef ARDUINO_ARCH_STM32
711
+ # ifdef _mcci_arduino_version
712
+ # if _mcci_arduino_version < _mcci_arduino_version_calc(2, 5, 0, 10)
713
+ # undef NEED_USBD_LL_ConnectionState
714
+ # define NEED_USBD_LL_ConnectionState 1
715
+ # endif // _mcci_arduino_version < _mcci_arduino_version_calc(2, 5, 0, 10)
716
+ # endif // def _mcci_arduino_version
717
+ #endif // def ARDUINO_ARCH_STM32
718
+
719
+ #define NEED_STM32_ClockCalibration 0
711
720
#ifdef ARDUINO_ARCH_STM32
712
721
# ifdef _mcci_arduino_version
713
- # if _mcci_arduino_version <= _mcci_arduino_version_calc(2, 5, 0, 0)
722
+ # if _mcci_arduino_version <= _mcci_arduino_version_calc(2, 5, 0, 10)
723
+ # undef NEED_STM32_ClockCalibration
724
+ # define NEED_STM32_ClockCalibration 1
725
+ # endif // _mcci_arduino_version <= _mcci_arduino_version_calc(2, 5, 0, 10)
726
+ # endif // def _mcci_arduino_version
727
+ #endif // def ARDUINO_ARCH_STM32
728
+
729
+
730
+ // there's a problem with running 2.5 of the MCCI STM32 BSPs;
731
+ // hack around it.
732
+ #if NEED_USBD_LL_ConnectionState
714
733
uint32_t USBD_LL_ConnectionState (void ) {
715
734
return 1 ;
716
735
}
717
- # endif // _mcci_arduino_version
718
- # endif // defined(_mcci_arduino_version)
719
- #endif // ARDUINO_ARCH_STM32
736
+ #endif // NEED_USBD_LL_ConnectionState
720
737
721
- #ifdef ARDUINO_ARCH_STM32
722
- # if defined(_mcci_arduino_version)
723
- # if _mcci_arduino_version >= _mcci_arduino_version_calc(2,4,0,90)
738
+ #if NEED_STM32_ClockCalibration
724
739
static constexpr bool kUsesLSE = true ; // _mcci_arduino_version indicates that LSE clock is used.
725
- # else
726
- // versions before 2.4.0.90 use LSI clock. Can't calibrate.
727
- static constexpr bool kUsesLSE = false ; // _mcci_arduino_version defined, too small
728
- # endif
729
- # else
730
- // versions before 2.4.0.90 use LSI clock. Can't calibrate.
731
- static constexpr bool kUsesLSE = false ; // _mcci_arduino_version not defined
732
- # endif
733
740
#else
734
741
static constexpr bool kUsesLSE = false ;
735
742
#endif
736
743
737
744
738
745
void setup_calibrateSystemClock (void ) {
739
- #ifdef ARDUINO_ARCH_STM32
740
- # ifdef _mcci_arduino_version
741
- # if _mcci_arduino_version <= _mcci_arduino_version_calc(2, 5, 0, 0)
742
746
if (kUsesLSE ) {
743
747
Serial.println (" need to calibrate clock" );
748
+ #if NEED_STM32_ClockCalibration
744
749
Stm32_CalibrateSystemClock ();
750
+ #endif // NEED_STM32_ClockCalibration
745
751
} else {
746
752
Serial.println (" calibration not supported" );
747
753
}
748
- # endif // _mcci_arduino_version
749
- # endif // defined(_mcci_arduino_version)
750
- #endif // ARDUINO_ARCH_STM32
751
754
}
752
755
753
- #ifdef ARDUINO_ARCH_STM32
754
- # ifdef _mcci_arduino_version
755
- # if _mcci_arduino_version <= _mcci_arduino_version_calc(2, 5, 0, 0)
756
+ #if NEED_STM32_ClockCalibration
756
757
757
758
// RTC needs to be initialized before we calibrate the clock.
758
759
bool rtcbegin () {
@@ -1144,6 +1145,4 @@ MeasureMillisPerRtcSecond(
1144
1145
/* return the delta */
1145
1146
return end - start;
1146
1147
}
1147
- # endif // _mcci_arduino_version
1148
- # endif // defined(_mcci_arduino_version)
1149
- #endif // ARDUINO_ARCH_STM32
1148
+ #endif // NEED_STM32_ClockCalibration
0 commit comments