AceTime  3.0.0
Date and time classes for Arduino that support timezones from the TZ Database.
zone_registry.cpp
1 // This file was generated by the following script:
2 //
3 // $ /home/brian/src/AceTimeSuite/compiler/src/acetimecompiler/tzcompiler.py
4 // --input_dir /home/brian/src/AceTimeSuite/libraries/AceTimeLib/src/testingzonedbx/tzfiles
5 // --output_dir /home/brian/src/AceTimeSuite/libraries/AceTimeLib/src/testingzonedbx
6 // --tz_version 2025b
7 // --action zonedb
8 // --language arduino
9 // --scope extended
10 // --db_namespace testingzonedbx
11 // --zi_namespace extended::Info
12 // --include_list include_list.txt
13 // --nocompress
14 // --start_year 1980
15 // --until_year 2200
16 //
17 // using the TZ Database files
18 //
19 // africa
20 // antarctica
21 // asia
22 // australasia
23 // backward
24 // etcetera
25 // europe
26 // northamerica
27 // southamerica
28 //
29 // from https://github.com/eggert/tz/releases/tag/2025b
30 //
31 // Supported Zones: 16 (15 zones, 1 links)
32 // Unsupported Zones: 581 (325 zones, 256 links)
33 //
34 // Requested Years: [1980,2200]
35 // Accurate Years: [1980,32767]
36 //
37 // Original Years: [1844,2087]
38 // Generated Years: [1945,2087]
39 // Lower/Upper Truncated: [True,False]
40 //
41 // Estimator Years: [1945,2090]
42 // Max Buffer Size: 7
43 //
44 // Records:
45 // Infos: 16
46 // Eras: 30
47 // Policies: 11
48 // Rules: 220
49 //
50 // Memory (8-bits):
51 // Context: 16
52 // Rules: 1980
53 // Policies: 33
54 // Eras: 330
55 // Zones: 195
56 // Links: 13
57 // Registry: 32
58 // Formats: 47
59 // Letters: 23
60 // Fragments: 0
61 // Names: 260 (original: 260)
62 // TOTAL: 2929
63 //
64 // Memory (32-bits):
65 // Context: 24
66 // Rules: 2640
67 // Policies: 88
68 // Eras: 480
69 // Zones: 360
70 // Links: 24
71 // Registry: 64
72 // Formats: 47
73 // Letters: 33
74 // Fragments: 0
75 // Names: 260 (original: 260)
76 // TOTAL: 4020
77 //
78 // DO NOT EDIT
79 
80 #include <zoneinfo/compat.h>
81 #include "zone_infos.h"
82 #include "zone_registry.h"
83 
84 namespace ace_time {
85 namespace testingzonedbx {
86 
87 //---------------------------------------------------------------------------
88 // Zone Info registry. Sorted by zoneId.
89 //---------------------------------------------------------------------------
90 const extended::Info::ZoneInfo* const kZoneRegistry[15] ACE_TIME_PROGMEM = {
91  &kZoneAmerica_New_York, // 0x1e2a7654, America/New_York
92  &kZonePacific_Apia, // 0x23359b5e, Pacific/Apia
93  &kZoneAustralia_Darwin, // 0x2876bdff, Australia/Darwin
94  &kZoneAmerica_Vancouver, // 0x2c6f6b1f, America/Vancouver
95  &kZoneAmerica_Caracas, // 0x3be064f4, America/Caracas
96  &kZoneAmerica_Chicago, // 0x4b92b5d4, America/Chicago
97  &kZoneAmerica_Whitehorse, // 0x54e0e3e8, America/Whitehorse
98  &kZoneEurope_Lisbon, // 0x5c00a70b, Europe/Lisbon
99  &kZoneAmerica_Edmonton, // 0x6cb9484a, America/Edmonton
100  &kZoneAfrica_Windhoek, // 0x789c9bd3, Africa/Windhoek
101  &kZoneAmerica_Toronto, // 0x792e851b, America/Toronto
102  &kZoneAmerica_Winnipeg, // 0x8c7dafc7, America/Winnipeg
103  &kZoneAmerica_Denver, // 0x97d10b2a, America/Denver
104  &kZoneAmerica_Los_Angeles, // 0xb7f7e8f2, America/Los_Angeles
105  &kZoneAfrica_Casablanca, // 0xc59f1b33, Africa/Casablanca
106 
107 };
108 
109 //---------------------------------------------------------------------------
110 // Zone and Link (fat) Info registry. Sorted by zoneId. Links act like Zones.
111 //---------------------------------------------------------------------------
112 const extended::Info::ZoneInfo* const kZoneAndLinkRegistry[16] ACE_TIME_PROGMEM = {
113  &kZoneAmerica_New_York, // 0x1e2a7654, America/New_York
114  &kZonePacific_Apia, // 0x23359b5e, Pacific/Apia
115  &kZoneAustralia_Darwin, // 0x2876bdff, Australia/Darwin
116  &kZoneAmerica_Vancouver, // 0x2c6f6b1f, America/Vancouver
117  &kZoneAmerica_Caracas, // 0x3be064f4, America/Caracas
118  &kZoneAmerica_Chicago, // 0x4b92b5d4, America/Chicago
119  &kZoneAmerica_Whitehorse, // 0x54e0e3e8, America/Whitehorse
120  &kZoneEurope_Lisbon, // 0x5c00a70b, Europe/Lisbon
121  &kZoneAmerica_Edmonton, // 0x6cb9484a, America/Edmonton
122  &kZoneAfrica_Windhoek, // 0x789c9bd3, Africa/Windhoek
123  &kZoneAmerica_Toronto, // 0x792e851b, America/Toronto
124  &kZoneAmerica_Winnipeg, // 0x8c7dafc7, America/Winnipeg
125  &kZoneAmerica_Denver, // 0x97d10b2a, America/Denver
126  &kZoneUS_Pacific, // 0xa950f6ab, US/Pacific -> America/Los_Angeles
127  &kZoneAmerica_Los_Angeles, // 0xb7f7e8f2, America/Los_Angeles
128  &kZoneAfrica_Casablanca, // 0xc59f1b33, Africa/Casablanca
129 
130 };
131 
132 }
133 }
Macros and definitions that provide a consistency layer among the various Arduino boards for compatib...