Merge pull request #1030 from pimoroni/patch-pcf85063a-rp2350

pcf85063a: RP2350 Fixes
main
Philip Howard 2024-11-26 10:05:15 +00:00 zatwierdzone przez GitHub
commit be3e7ba83a
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: B5690EEEBB952194
3 zmienionych plików z 20 dodań i 10 usunięć

Wyświetl plik

@ -1,10 +1,14 @@
set(DRIVER_NAME pcf85063a)
add_library(${DRIVER_NAME} INTERFACE)
target_sources(${DRIVER_NAME} INTERFACE
${CMAKE_CURRENT_LIST_DIR}/${DRIVER_NAME}.cpp)
target_include_directories(${DRIVER_NAME} INTERFACE ${CMAKE_CURRENT_LIST_DIR})
# Pull in pico libraries that we need
target_link_libraries(${DRIVER_NAME} INTERFACE pico_stdlib hardware_i2c hardware_rtc pimoroni_i2c)
set(DRIVER_NAME pcf85063a)
add_library(${DRIVER_NAME} INTERFACE)
target_sources(${DRIVER_NAME} INTERFACE
${CMAKE_CURRENT_LIST_DIR}/${DRIVER_NAME}.cpp)
target_include_directories(${DRIVER_NAME} INTERFACE ${CMAKE_CURRENT_LIST_DIR})
# Include datetime_t for cross-compatibility with RP2350 (no RTC) boards
# TODO: We should migrate away from using this non-standard type
target_compile_definitions(${DRIVER_NAME} INTERFACE PICO_INCLUDE_RTC_DATETIME=1)
# Pull in pico libraries that we need
target_link_libraries(${DRIVER_NAME} INTERFACE pico_stdlib pico_util hardware_i2c pimoroni_i2c)

Wyświetl plik

@ -53,6 +53,8 @@ namespace pimoroni {
return interrupt;
}
#if PICO_INCLUDE_RTC_DATETIME
datetime_t PCF85063A::get_datetime() {
uint8_t result[7] = {0};
@ -85,6 +87,8 @@ namespace pimoroni {
i2c->write_bytes(address, Registers::SECONDS, data, 7);
}
#endif
void PCF85063A::set_alarm(int second, int minute, int hour, int day) {
uint8_t alarm[5] = {
uint8_t(second != PARAM_UNUSED ? bcd_encode(second) : 0x80),

Wyświetl plik

@ -108,10 +108,12 @@ namespace pimoroni {
int get_scl() const;
int get_int() const;
#if PICO_INCLUDE_RTC_DATETIME
// Set and get the date and time
// Uses datetime_t from pico sdk (hardware/rtc) for compatibility
datetime_t get_datetime();
void set_datetime(datetime_t *t);
#endif
// Alarm manipulation methods
void set_alarm(int second = PARAM_UNUSED, int minute = PARAM_UNUSED,