/workspaces/astro/sol3-sdk/cpp/sol3/base_unit/hardware_map.h Source File

Space-ng SDK: /workspaces/astro/sol3-sdk/cpp/sol3/base_unit/hardware_map.h Source File
Space-ng SDK
hardware_map.h
Go to the documentation of this file.
1 // Copyright (c) Space-ng, inc. All rights reserved.
2 
3 #pragma once
4 
5 #include <sol3/base_unit/msg/gmsl.h>
6 #include <sol3/base_unit/msg/i2c.h>
7 
8 #include <array>
9 #include <cstdint>
10 
11 namespace sol3 {
12 namespace base_unit {
13 
14 inline std::array<msg::GmslCameraInfo, 12> const kCameras = {{
15  msg::GmslCameraInfo(
16  msg::GmslCameraNum_GMSL_CAMERA_01,
17  msg::GmslCameraPort_GMSL_CAMERA_PORT_00,
18  msg::I2CBus_I2C_BUS_00,
19  msg::I2CBusCCI_I2C_BUS_CCI_00,
20  msg::I2CDevice_DESERIALIZER_A,
21  msg::I2CDevice_CAMERA_MODULE_01_SERIALIZER,
22  msg::GmslLink_GMSL_LINK_A,
23  msg::I2CDevice_CAMERA_MODULE_01_IMU),
24  msg::GmslCameraInfo(
25  msg::GmslCameraNum_GMSL_CAMERA_02,
26  msg::GmslCameraPort_GMSL_CAMERA_PORT_00,
27  msg::I2CBus_I2C_BUS_00,
28  msg::I2CBusCCI_I2C_BUS_CCI_00,
29  msg::I2CDevice_DESERIALIZER_A,
30  msg::I2CDevice_CAMERA_MODULE_02_SERIALIZER,
31  msg::GmslLink_GMSL_LINK_B,
32  msg::I2CDevice_CAMERA_MODULE_02_IMU),
33  msg::GmslCameraInfo(
34  msg::GmslCameraNum_GMSL_CAMERA_03,
35  msg::GmslCameraPort_GMSL_CAMERA_PORT_01,
36  msg::I2CBus_I2C_BUS_00,
37  msg::I2CBusCCI_I2C_BUS_CCI_01,
38  msg::I2CDevice_DESERIALIZER_B,
39  msg::I2CDevice_CAMERA_MODULE_03_SERIALIZER,
40  msg::GmslLink_GMSL_LINK_A,
41  msg::I2CDevice_CAMERA_MODULE_03_IMU),
42  msg::GmslCameraInfo(
43  msg::GmslCameraNum_GMSL_CAMERA_04,
44  msg::GmslCameraPort_GMSL_CAMERA_PORT_01,
45  msg::I2CBus_I2C_BUS_00,
46  msg::I2CBusCCI_I2C_BUS_CCI_01,
47  msg::I2CDevice_DESERIALIZER_B,
48  msg::I2CDevice_CAMERA_MODULE_04_SERIALIZER,
49  msg::GmslLink_GMSL_LINK_B,
50  msg::I2CDevice_CAMERA_MODULE_04_IMU),
51  msg::GmslCameraInfo(
52  msg::GmslCameraNum_GMSL_CAMERA_05,
53  msg::GmslCameraPort_GMSL_CAMERA_PORT_02,
54  msg::I2CBus_I2C_BUS_06,
55  msg::I2CBusCCI_I2C_BUS_CCI_02,
56  msg::I2CDevice_DESERIALIZER_C,
57  msg::I2CDevice_CAMERA_MODULE_05_SERIALIZER,
58  msg::GmslLink_GMSL_LINK_A,
59  msg::I2CDevice_CAMERA_MODULE_05_IMU),
60  msg::GmslCameraInfo(
61  msg::GmslCameraNum_GMSL_CAMERA_06,
62  msg::GmslCameraPort_GMSL_CAMERA_PORT_02,
63  msg::I2CBus_I2C_BUS_06,
64  msg::I2CBusCCI_I2C_BUS_CCI_02,
65  msg::I2CDevice_DESERIALIZER_C,
66  msg::I2CDevice_CAMERA_MODULE_06_SERIALIZER,
67  msg::GmslLink_GMSL_LINK_B,
68  msg::I2CDevice_CAMERA_MODULE_06_IMU),
69  msg::GmslCameraInfo(
70  msg::GmslCameraNum_GMSL_CAMERA_07,
71  msg::GmslCameraPort_GMSL_CAMERA_PORT_03,
72  msg::I2CBus_I2C_BUS_06,
73  msg::I2CBusCCI_I2C_BUS_CCI_03,
74  msg::I2CDevice_DESERIALIZER_D,
75  msg::I2CDevice_CAMERA_MODULE_07_SERIALIZER,
76  msg::GmslLink_GMSL_LINK_A,
77  msg::I2CDevice_CAMERA_MODULE_07_IMU),
78  msg::GmslCameraInfo(
79  msg::GmslCameraNum_GMSL_CAMERA_08,
80  msg::GmslCameraPort_GMSL_CAMERA_PORT_03,
81  msg::I2CBus_I2C_BUS_06,
82  msg::I2CBusCCI_I2C_BUS_CCI_03,
83  msg::I2CDevice_DESERIALIZER_D,
84  msg::I2CDevice_CAMERA_MODULE_08_SERIALIZER,
85  msg::GmslLink_GMSL_LINK_B,
86  msg::I2CDevice_CAMERA_MODULE_08_IMU),
87  msg::GmslCameraInfo(
88  msg::GmslCameraNum_GMSL_CAMERA_09,
89  msg::GmslCameraPort_GMSL_CAMERA_PORT_04,
90  msg::I2CBus_I2C_BUS_05,
91  msg::I2CBusCCI_I2C_BUS_CCI_01,
92  msg::I2CDevice_DESERIALIZER_E,
93  msg::I2CDevice_CAMERA_MODULE_09_SERIALIZER,
94  msg::GmslLink_GMSL_LINK_A,
95  msg::I2CDevice_CAMERA_MODULE_09_IMU),
96  msg::GmslCameraInfo(
97  msg::GmslCameraNum_GMSL_CAMERA_10,
98  msg::GmslCameraPort_GMSL_CAMERA_PORT_04,
99  msg::I2CBus_I2C_BUS_05,
100  msg::I2CBusCCI_I2C_BUS_CCI_01,
101  msg::I2CDevice_DESERIALIZER_E,
102  msg::I2CDevice_CAMERA_MODULE_10_SERIALIZER,
103  msg::GmslLink_GMSL_LINK_B,
104  msg::I2CDevice_CAMERA_MODULE_10_IMU),
105  msg::GmslCameraInfo(
106  msg::GmslCameraNum_GMSL_CAMERA_11,
107  msg::GmslCameraPort_GMSL_CAMERA_PORT_05,
108  msg::I2CBus_I2C_BUS_05,
109  msg::I2CBusCCI_I2C_BUS_CCI_03,
110  msg::I2CDevice_DESERIALIZER_F,
111  msg::I2CDevice_CAMERA_MODULE_11_SERIALIZER,
112  msg::GmslLink_GMSL_LINK_A,
113  msg::I2CDevice_CAMERA_MODULE_11_IMU),
114  msg::GmslCameraInfo(
115  msg::GmslCameraNum_GMSL_CAMERA_12,
116  msg::GmslCameraPort_GMSL_CAMERA_PORT_05,
117  msg::I2CBus_I2C_BUS_05,
118  msg::I2CBusCCI_I2C_BUS_CCI_03,
119  msg::I2CDevice_DESERIALIZER_F,
120  msg::I2CDevice_CAMERA_MODULE_12_SERIALIZER,
121  msg::GmslLink_GMSL_LINK_B,
122  msg::I2CDevice_CAMERA_MODULE_12_IMU),
123 }};
124 
125 namespace msg {
126 std::string format_as(GmslCameraInfo const& info);
127 
128 inline std::string format_as(GmslCameraNum const& cam_num) {
129  return std::string(EnumNameGmslCameraNum(cam_num));
130 }
131 } // namespace msg
132 } // namespace base_unit
133 } // namespace sol3
std::string format_as(GmslCameraInfo const &info)
std::array< msg::GmslCameraInfo, 12 > const kCameras
Definition: hardware_map.h:14
Definition: carrier_board_msg_spec.h:10