1 /* This is a generated file. */
2 
3 #include "ucd90160.hpp"
4 
5 namespace witherspoon
6 {
7 namespace power
8 {
9 
10 using namespace ucd90160;
11 using namespace std::string_literals;
12 
13 const DeviceMap UCD90160::deviceMap{
14 %for ucd_data in ucd90160s:
15     {${ucd_data['index']},
16      DeviceDefinition{
17        "${ucd_data['path']}",
18 
19         RailNames{
20         %for rail in ucd_data['RailNames']:
21             "${rail}"s,
22         %endfor
23         },
24 
25         GPIConfigs{
26         %for gpi_config in ucd_data['GPIConfigs']:
27         <%
28             poll = str(gpi_config['poll']).lower()
29         %>\
30             GPIConfig{${gpi_config['gpi']}, ${gpi_config['pinID']}, "${gpi_config['name']}"s, ${poll}, extraAnalysisType::${gpi_config['analysis']}},
31         %endfor
32         },
33 
34         GPIOAnalysis{
35         %for gpio_analysis in ucd_data['GPIOAnalysis']:
36              {extraAnalysisType::${gpio_analysis['type']},
37               GPIOGroup{
38                   "${gpio_analysis['path']}",
39                   gpio::Value::${gpio_analysis['gpio_value']},
40                   [](auto& ucd, const auto& callout) {
41                       ucd.${gpio_analysis['error_function']}(callout);
42                   },
43                   optionFlags::${gpio_analysis['option_flags']},
44                   GPIODefinitions{
45                   %for gpio_defs in gpio_analysis['GPIODefinitions']:
46                       GPIODefinition{${gpio_defs['gpio']}, "${gpio_defs['callout']}"s},
47                   %endfor
48                   }
49               }
50              },
51         %endfor
52         }
53      }
54     },
55 %endfor
56 };
57 
58 } // namespace power
59 } // namespace witherspoon
60