circuitpython/extmod
Yoctopuce dev df05caea6c shared/timeutils: Standardize supported date range on all platforms.
This is code makes sure that time functions work properly on a
reasonable date range, on all platforms, regardless of the epoch.
The suggested minimum range is 1970 to 2099.

In order to reduce code footprint, code to support far away dates
is only enabled specified by the port.

New types are defined to identify timestamps.

The implementation with the smallest code footprint is when
support timerange is limited to 1970-2099 and Epoch is 1970.
This makes it possible to use 32 bit unsigned integers for
all timestamps.

On ARM4F, adding support for dates up to year 3000 adds
460 bytes of code. Supporting dates back to 1600 adds
another 44 bytes of code.

Signed-off-by: Yoctopuce dev <dev@yoctopuce.com>
2025-07-09 11:54:21 +10:00
..
asyncio extmod/asyncio: Fix early exit of asyncio scheduler. 2025-05-07 14:56:47 +10:00
axtls-include all: Prune trailing whitespace. 2024-03-07 16:25:17 +11:00
berkeley-db all: Update extmod, ports, examples to build with new berkeley-db lib. 2024-03-16 12:19:12 +11:00
btstack extmod/modbluetooth: Add timeout to deinit. 2025-06-04 02:21:32 +10:00
libmetal extmod/libmetal: Fix libmetal rules for mkdir dependencies. 2024-09-06 17:14:03 +10:00
littlefs-include lib/littlefs: Reuse existing CRC32 function to save space. 2025-05-07 17:03:28 +10:00
lwip-include extmod/lwip-include: Increase number of lwIP timers when mDNS enabled. 2025-02-14 12:32:00 +11:00
mbedtls extmod/modtls_mbedtls: Wire in support for DTLS. 2025-02-14 12:55:25 +11:00
nimble extmod/modbluetooth: Add timeout to deinit. 2025-06-04 02:21:32 +10:00
cyw43_config_common.h rp2,extmod/cyw43: Move the LWIP responder fix into common CYW43 config. 2025-05-08 15:32:05 +10:00
extmod.cmake rp2,esp32,extmod: Implement UPDATE_SUBMODULES in CMake. 2025-03-27 17:51:12 +11:00
extmod.mk lib/littlefs: Reuse existing CRC32 function to save space. 2025-05-07 17:03:28 +10:00
font_petme128_8x8.h extmod: Move font_petme128_8x8.h from ports/stm32 to extmod. 2022-05-05 13:30:40 +10:00
machine_adc.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
machine_adc_block.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
machine_bitstream.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
machine_i2c.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
machine_i2s.c esp32/machine_i2s: Integrate new I2S IDF driver. 2024-03-08 13:31:02 +11:00
machine_mem.c extmod/modmachine: Add MICROPY_PY_MACHINE_MEMX configuration option. 2024-03-15 12:04:34 +11:00
machine_pinbase.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
machine_pulse.c esp8266/modmachine: Use common machine_time_pulse_us implementation. 2025-06-13 16:27:35 +10:00
machine_pwm.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
machine_signal.c extmod/modmachine: Add MICROPY_PY_MACHINE_SIGNAL configuration option. 2024-03-15 12:04:25 +11:00
machine_spi.c extmod/machine_spi: Support firstbit=LSB for machine.SoftSPI. 2024-07-12 22:59:31 +10:00
machine_timer.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
machine_uart.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
machine_usb_device.c extmod/machine_usb_device: Add exception text wrappers. 2025-04-22 11:29:32 +10:00
machine_wdt.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
misc.h extmod/os_dupterm: Let mp_os_dupterm_tx_strn() return num bytes written. 2023-12-22 10:26:52 +11:00
modasyncio.c extmod/modasyncio: Add support for a callback on TaskQueue push. 2024-06-20 00:11:05 +10:00
modbinascii.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
modbluetooth.c extmod/modbluetooth: Add timeout to deinit. 2025-06-04 02:21:32 +10:00
modbluetooth.h extmod/modbluetooth: Add timeout to deinit. 2025-06-04 02:21:32 +10:00
modbtree.c extmod/modbtree: Add checks for already-closed database. 2024-07-22 10:42:29 +10:00
modcryptolib.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
moddeflate.c extmod/moddeflate: Keep DeflateIO state consistent on window alloc fail. 2025-03-27 11:58:59 +11:00
modframebuf.c extmod/modframebuf: Add support for blit'ing read-only data. 2025-06-04 02:40:45 +10:00
modhashlib.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
modheapq.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
modjson.c extmod/modjson: Detect unterminated composite entities. 2025-05-19 02:09:40 +02:00
modlwip.c extmod/modlwip: Fix crash when calling recv on listening socket. 2025-06-26 12:46:45 +10:00
modmachine.c all: Rename the "NORETURN" macro to "MP_NORETURN". 2025-05-13 10:36:47 +10:00
modmachine.h all: Rename the "NORETURN" macro to "MP_NORETURN". 2025-05-13 10:36:47 +10:00
modmarshal.c extmod/modmarshal: Add new marshal module. 2025-02-11 16:54:20 +11:00
modnetwork.c extmod/modnetwork: Consolidate definition of common drivers. 2025-06-10 11:20:38 +10:00
modnetwork.h extmod/modnetwork: Consolidate definition of common drivers. 2025-06-10 11:20:38 +10:00
modonewire.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
modopenamp.c extmod/modopenamp: Use mp_event_* functions for poll/wait. 2024-08-08 18:02:21 +10:00
modopenamp.h extmod/modopenamp_remoteproc: Add new OpenAMP RemoteProc class. 2024-03-15 18:11:28 +11:00
modopenamp_remoteproc.c extmod/modopenamp: Add support for building Open-AMP on device side. 2024-08-08 17:59:32 +10:00
modopenamp_remoteproc.h extmod/modopenamp_remoteproc: Add new OpenAMP RemoteProc class. 2024-03-15 18:11:28 +11:00
modopenamp_remoteproc_store.c extmod/modopenamp: Add support for building Open-AMP on device side. 2024-08-08 17:59:32 +10:00
modos.c extmod/vfs: Guard mutating fs functions with MICROPY_VFS_WRITABLE. 2024-12-20 21:58:50 +11:00
modplatform.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
modplatform.h extmod/modplatform: Distinguish RISC-V 64 from RISC-V 32. 2024-12-10 12:10:36 +11:00
modrandom.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
modre.c extmod/modre: Use specific error message if regex is too complex. 2025-06-10 15:14:56 +10:00
modselect.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
modsocket.c extmod/modsocket: Add missing static in private function definitions. 2025-01-02 13:33:39 +11:00
modtime.c shared/timeutils: Standardize supported date range on all platforms. 2025-07-09 11:54:21 +10:00
modtime.h all: Rename *umodule*.h to remove the "u" prefix. 2023-06-08 17:54:14 +10:00
modtls_axtls.c all: Rename the "NORETURN" macro to "MP_NORETURN". 2025-05-13 10:36:47 +10:00
modtls_mbedtls.c all: Rename the "NORETURN" macro to "MP_NORETURN". 2025-05-13 10:36:47 +10:00
moductypes.c all: Rename the "NORETURN" macro to "MP_NORETURN". 2025-05-13 10:36:47 +10:00
modvfs.c extmod/modvfs: Add vfs.rom_ioctl function and its ioctl constants. 2025-03-06 12:52:35 +11:00
modwebrepl.c all: Use new mp_obj_new_str_from_cstr() function. 2024-07-04 15:55:03 +10:00
modwebsocket.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
modwebsocket.h all: Rename *umodule*.h to remove the "u" prefix. 2023-06-08 17:54:14 +10:00
mpbthci.c extmod/modbluetooth: Refactor stack/hci/driver/port bindings. 2020-09-08 11:41:31 +10:00
mpbthci.h extmod,alif,mimxrt,rp2,stm32: Create common cyw43 driver config header. 2025-05-08 15:32:05 +10:00
network_cyw43.c extmod/network_cyw43: Disconnect STA if making inactive. 2025-05-20 23:14:41 +10:00
network_cyw43.h extmod: Add network-level class binding to cyw43 driver. 2019-06-03 16:47:35 +10:00
network_esp_hosted.c extmod/modnetwork: Consolidate definition of common drivers. 2025-06-10 11:20:38 +10:00
network_lwip.c all: Use new mp_obj_new_str_from_cstr() function. 2024-07-04 15:55:03 +10:00
network_ninaw10.c extmod/network_nina: Fix the AP security mode constants. 2024-07-12 01:03:46 +10:00
network_ppp_lwip.c esp32/network_ppp: Restructure to match extmod/network_ppp_lwip. 2025-05-15 11:56:14 +10:00
network_wiznet5k.c extmod/modnetwork: Consolidate definition of common drivers. 2025-06-10 11:20:38 +10:00
os_dupterm.c extmod/os_dupterm: Handle exception properly when it occurs in parallel. 2024-03-16 10:59:03 +11:00
vfs.c extmod/vfs: Return mount table from no-args vfs.mount call. 2025-03-27 16:37:04 +11:00
vfs.h extmod/vfs: Add mp_vfs_mount_romfs_protected() helper. 2025-03-06 12:52:35 +11:00
vfs_blockdev.c extmod/vfs_blockdev: Support bool return from Python read/write blocks. 2024-11-13 14:21:29 +11:00
vfs_fat.c shared/timeutils: Standardize supported date range on all platforms. 2025-07-09 11:54:21 +10:00
vfs_fat.h extmod: Factor out block-device struct to make independent of fatfs. 2019-10-29 12:12:37 +11:00
vfs_fat_diskio.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
vfs_fat_file.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
vfs_lfs.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
vfs_lfs.h extmod: Add VFS littlefs bindings. 2019-10-29 14:17:29 +11:00
vfs_lfsx.c shared/timeutils: Standardize supported date range on all platforms. 2025-07-09 11:54:21 +10:00
vfs_lfsx_file.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
vfs_posix.c all: Use new mp_obj_new_str_from_cstr() function. 2024-07-04 15:55:03 +10:00
vfs_posix.h extmod/vfs: Introduce a C-level VFS protocol, with fast import_stat. 2018-06-06 14:33:42 +10:00
vfs_posix_file.c extmod/vfs_posix_file: Skip flush of tty handles in msvc debug builds. 2024-10-09 15:03:07 +11:00
vfs_reader.c extmod/vfs_reader: Add support for opening a memory-mappable file. 2024-12-23 13:04:54 +11:00
vfs_rom.c extmod/vfs_rom: Implement minimal VfsRom.getcwd() method. 2025-03-27 17:04:12 +11:00
vfs_rom.h extmod/vfs_rom: Add VfsRom filesystem object. 2024-12-23 13:04:54 +11:00
vfs_rom_file.c extmod/vfs_rom: Add VfsRom filesystem object. 2024-12-23 13:04:54 +11:00
virtpin.c py/obj: Add accessors for type slots and use everywhere. 2022-09-19 19:06:07 +10:00
virtpin.h all: Unify header guard usage. 2017-07-18 11:57:39 +10:00