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