mirror of
https://github.com/InfiniTimeOrg/InfiniTime.git
synced 2024-12-18 15:11:30 +03:00
Use highest frequency and move mutex creation to Init
This commit is contained in:
parent
81a36dc31e
commit
40392d7b91
@ -10,7 +10,6 @@ using namespace Pinetime::Drivers;
|
||||
|
||||
TwiMaster::TwiMaster(NRF_TWIM_Type* module, uint32_t frequency, uint8_t pinSda, uint8_t pinScl)
|
||||
: module {module}, frequency {frequency}, pinSda {pinSda}, pinScl {pinScl} {
|
||||
mutex = xSemaphoreCreateBinary();
|
||||
}
|
||||
|
||||
void TwiMaster::ConfigurePins() const {
|
||||
@ -30,6 +29,10 @@ void TwiMaster::ConfigurePins() const {
|
||||
}
|
||||
|
||||
void TwiMaster::Init() {
|
||||
if (mutex == nullptr) {
|
||||
mutex = xSemaphoreCreateBinary();
|
||||
}
|
||||
|
||||
ConfigurePins();
|
||||
|
||||
twiBaseAddress = module;
|
||||
|
@ -81,8 +81,8 @@ Pinetime::Drivers::SpiNorFlash spiNorFlash {flashSpi};
|
||||
// The TWI device should work @ up to 400Khz but there is a HW bug which prevent it from
|
||||
// respecting correct timings. According to erratas heet, this magic value makes it run
|
||||
// at ~390Khz with correct timings.
|
||||
//static constexpr uint32_t MaxTwiFrequencyWithoutHardwareBug {0x06200000};
|
||||
Pinetime::Drivers::TwiMaster twiMaster {NRF_TWIM1, TWI_FREQUENCY_FREQUENCY_K250, pinTwiSda, pinTwiScl};
|
||||
static constexpr uint32_t MaxTwiFrequencyWithoutHardwareBug {0x06200000};
|
||||
Pinetime::Drivers::TwiMaster twiMaster {NRF_TWIM1, MaxTwiFrequencyWithoutHardwareBug, pinTwiSda, pinTwiScl};
|
||||
Pinetime::Drivers::Cst816S touchPanel {twiMaster, touchPanelTwiAddress};
|
||||
#ifdef PINETIME_IS_RECOVERY
|
||||
static constexpr bool isFactory = true;
|
||||
|
Loading…
Reference in New Issue
Block a user