AceTime  2.2.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/tzonedbx/tzfiles
5 // --output_dir /home/brian/src/AceTime/src/tzonedbx
6 // --tz_version 2022g
7 // --action zonedb
8 // --language arduino
9 // --scope extended
10 // --db_namespace tzonedbx
11 // --generate_int16_years
12 // --include_list include_list.txt
13 // --nocompress
14 // --start_year 1980
15 // --until_year 10000
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/2022g
30 //
31 // Supported Zones: 16 (15 zones, 1 links)
32 // Unsupported Zones: 580 (336 zones, 244 links)
33 //
34 // Original Years: [1844,2087]
35 // Generated Years: [1945,2087]
36 // Estimator Years: [1945,2090]
37 // Max Buffer Size: 7
38 //
39 // Records:
40 // Infos: 16
41 // Eras: 30
42 // Policies: 12
43 // Rules: 227
44 //
45 // Memory (8-bits):
46 // Rules: 2497
47 // Policies: 36
48 // Eras: 360
49 // Zones: 195
50 // Links: 13
51 // Registry: 32
52 // Formats: 92
53 // Letters: 23
54 // Fragments: 0
55 // Names: 260 (original: 260)
56 // TOTAL: 3508
57 //
58 // Memory (32-bits):
59 // Rules: 2724
60 // Policies: 96
61 // Eras: 480
62 // Zones: 360
63 // Links: 24
64 // Registry: 64
65 // Formats: 92
66 // Letters: 33
67 // Fragments: 0
68 // Names: 260 (original: 260)
69 // TOTAL: 4133
70 //
71 // DO NOT EDIT
72 
73 #include <zoneinfo/compat.h>
74 #include "zone_infos.h"
75 #include "zone_registry.h"
76 
77 namespace ace_time {
78 namespace tzonedbx {
79 
80 //---------------------------------------------------------------------------
81 // Zone Info registry. Sorted by zoneId.
82 //---------------------------------------------------------------------------
83 const extended::ZoneInfo* const kZoneRegistry[15] ACE_TIME_PROGMEM = {
84  &kZoneAmerica_New_York, // 0x1e2a7654, America/New_York
85  &kZonePacific_Apia, // 0x23359b5e, Pacific/Apia
86  &kZoneAustralia_Darwin, // 0x2876bdff, Australia/Darwin
87  &kZoneAmerica_Vancouver, // 0x2c6f6b1f, America/Vancouver
88  &kZoneAmerica_Caracas, // 0x3be064f4, America/Caracas
89  &kZoneAmerica_Chicago, // 0x4b92b5d4, America/Chicago
90  &kZoneAmerica_Whitehorse, // 0x54e0e3e8, America/Whitehorse
91  &kZoneEurope_Lisbon, // 0x5c00a70b, Europe/Lisbon
92  &kZoneAmerica_Edmonton, // 0x6cb9484a, America/Edmonton
93  &kZoneAfrica_Windhoek, // 0x789c9bd3, Africa/Windhoek
94  &kZoneAmerica_Toronto, // 0x792e851b, America/Toronto
95  &kZoneAmerica_Winnipeg, // 0x8c7dafc7, America/Winnipeg
96  &kZoneAmerica_Denver, // 0x97d10b2a, America/Denver
97  &kZoneAmerica_Los_Angeles, // 0xb7f7e8f2, America/Los_Angeles
98  &kZoneAfrica_Casablanca, // 0xc59f1b33, Africa/Casablanca
99 
100 };
101 
102 //---------------------------------------------------------------------------
103 // Zone and Link (fat) Info registry. Sorted by zoneId. Links act like Zones.
104 //---------------------------------------------------------------------------
105 const extended::ZoneInfo* const kZoneAndLinkRegistry[16] ACE_TIME_PROGMEM = {
106  &kZoneAmerica_New_York, // 0x1e2a7654, America/New_York
107  &kZonePacific_Apia, // 0x23359b5e, Pacific/Apia
108  &kZoneAustralia_Darwin, // 0x2876bdff, Australia/Darwin
109  &kZoneAmerica_Vancouver, // 0x2c6f6b1f, America/Vancouver
110  &kZoneAmerica_Caracas, // 0x3be064f4, America/Caracas
111  &kZoneAmerica_Chicago, // 0x4b92b5d4, America/Chicago
112  &kZoneAmerica_Whitehorse, // 0x54e0e3e8, America/Whitehorse
113  &kZoneEurope_Lisbon, // 0x5c00a70b, Europe/Lisbon
114  &kZoneAmerica_Edmonton, // 0x6cb9484a, America/Edmonton
115  &kZoneAfrica_Windhoek, // 0x789c9bd3, Africa/Windhoek
116  &kZoneAmerica_Toronto, // 0x792e851b, America/Toronto
117  &kZoneAmerica_Winnipeg, // 0x8c7dafc7, America/Winnipeg
118  &kZoneAmerica_Denver, // 0x97d10b2a, America/Denver
119  &kZoneUS_Pacific, // 0xa950f6ab, US/Pacific -> America/Los_Angeles
120  &kZoneAmerica_Los_Angeles, // 0xb7f7e8f2, America/Los_Angeles
121  &kZoneAfrica_Casablanca, // 0xc59f1b33, Africa/Casablanca
122 
123 };
124 
125 }
126 }
Macros and definitions that provide a consistency layer among the various Arduino boards for compatib...