Skip to content

Commit

Permalink
Restructuring (#11)
Browse files Browse the repository at this point in the history
* Fixed oak d sr product name

* Added board-config-file to oak-1's

* Separated oak-1-lite from oak-d-lite category, added board_config_files

* Added OAK-D-LR board-config-file

* Merged oak-d-poe and oak-d-w-poe, added board config files

* Added baord config file paths to oak-d-pro-poe's

* Added board_config_file to oak-d-pro's

* Added baord config file paths to oak-d-s2-poe's

* Updated oak-d and oak-d-s2's

* Updated oak-d-sr

* Updated README

* Added OAK-D baord config, and fixed and eerror with OAK-D-POE-W-C12

* Added the boards reader and type definitions

* Switched from dataclass_json to pydantic, better error handling

* Fix OAK-D

* Added websocket_capture option

* Added oak-d-cm4 eeprom files (#10)

* Added oak-d-cm4 eeprom files

* Added a OAK-D-CM4-C11 from depthai/modular-calibration

* Added board config files

* Fixed board files for OAK-D-CM4

* Fixed OAK-D-CM4 again

* Split oak-d-cm4 and oak-d-cm4-poe

* Added changes as suggested by @Luxonis-David

* Added oak-d-cm4 options

* Added variants for oak-1 (lite) (#13)

* Added variants for oak-1 (lite)

* Fixed missed C number
  • Loading branch information
njezersek authored Feb 21, 2023
1 parent 07872da commit 4873691
Show file tree
Hide file tree
Showing 37 changed files with 1,022 additions and 149 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
__pycache__
52 changes: 52 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,58 @@

This repository contains the hardware specifications for the DepthAI boards.

## Directory structure

The `batch` folder contains a file for each device type, which looks like this:
```json
{
"title": "<board title>",
"description": "<board description>",
"options": {
"bootloader": "<bootloader type>",
"environment": "<python environment name>",
...
},
"variants": [
{
"title": "<variant title>",
"description": "<variant description>",
"options": {
"bootloader": "<bootloader type>",
"environment": "<python environment name>",
...
},
"eeprom": "<eeprom file path>",
"board_config_file": "<board config file path>",
}, ...
]
}
```
> Fields that are not specified here should be considered deprecated.
`options` field is used to specify the device properties such as bootloader type, required python environment, settings used for calibration, tests that should be run, etc. They can be specified at device level or at variant level. If they are specified at variant level, they will override the device level settings.

> If a specific device needs a special treatment during calibration, flashing, etc. it should be specified in the `options` field. Code such as `if "POE" in device_name:` should be __avoided at all costs__!
`eeprom` field specifies the path to the EEPROM configuration file. EEPROM configuration files are located in the `batch/eeprom` folder and they look like this:

```json
{
"batchName": <batch name>,
"batchTime": <batch time in seconds since epoch>,
"boardConf": "nIR-C30M00-00",
"boardName": "BC2087",
"boardRev": "R0M0E0",
"productName": "OAK-D-LR",
"boardCustom": "",
"hardwareConf": "F1-FV00-BC000",
"boardOptions": 1025,
"version": 7
}
```

`board_config_file` field specifies the path to the baord config file. They are located in the `boards` folder. Board config file is used to specifiy camera extrinsics and other board specific settings.


### Instructions
Add this repository with
Expand Down
1 change: 1 addition & 0 deletions __init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# this file exists only to mark this directory as a python package
12 changes: 12 additions & 0 deletions batch/eeprom/DM1097_R2M0E2_oak_d_cm4.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"batchName": "Maxwell",
"batchTime": 0,
"boardConf": "nIR-C00M00-00",
"boardName": "DM1097",
"boardRev": "R2M0E2",
"productName": "OAK-D-CM4",
"boardCustom": "",
"hardwareConf": "F0-FV00-BC000",
"boardOptions": 0,
"version": 7
}
2 changes: 1 addition & 1 deletion batch/eeprom/DM2080_R0M0E0_oak_d_sr.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"boardConf": "nIR-C00M00-00",
"boardName": "DM2080",
"boardRev": "R0M0E0",
"productName": "OAK-D SR",
"productName": "OAK-D-SR",
"boardCustom": "",
"hardwareConf": "F1-FV00-BC000",
"boardOptions": 8,
Expand Down
12 changes: 12 additions & 0 deletions batch/eeprom/DM2097_R1M1E1_oak_d_cm4_poe.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"batchName": "",
"batchTime": 0,
"boardConf": "nIR-C00M00-00",
"boardName": "DM2097",
"boardRev": "R1M1E1",
"productName": "OAK-D-CM4-POE",
"boardCustom": "",
"hardwareConf": "F0-FV00-BC000",
"boardOptions": 0,
"version": 7
}
12 changes: 12 additions & 0 deletions batch/eeprom/DM2097_R3M1E4_oak_d_cm4_poe.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"batchName": "",
"batchTime": 0,
"boardConf": "nIR-C00M00-00",
"boardName": "DM2097",
"boardRev": "R3M1E4",
"productName": "OAK-D-CM4-POE",
"boardCustom": "",
"hardwareConf": "F0-FV00-BC000",
"boardOptions": 0,
"version": 7
}
12 changes: 12 additions & 0 deletions batch/eeprom/DM2097_R3M1E4_oak_d_cm4_poe_c11.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"batchName": "",
"batchTime": 0,
"boardConf": "nIR-C11M00-00",
"boardName": "DM2097",
"boardRev": "R3M1E4",
"productName": "OAK-D-CM4-POE-C11",
"boardCustom": "",
"hardwareConf": "F1-FV00-BC000",
"boardOptions": 0,
"version": 7
}
12 changes: 12 additions & 0 deletions batch/eeprom/NG9093_R3M0E4_oak_1_af_c20.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"batchName": "",
"batchTime": 0,
"boardConf": "nIR-C20M99-00",
"boardName": "NG9093",
"boardRev": "R3M0E4",
"productName": "OAK-1-AF-C20",
"boardCustom": "",
"hardwareConf": "F0-FV00-BC010",
"boardOptions": 0,
"version": 7
}
12 changes: 12 additions & 0 deletions batch/eeprom/NG9093_R3M0E4_oak_1_lite_af_c21.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"batchName": "",
"batchTime": 0,
"boardConf": "nIR-C61M99-00",
"boardName": "NG9093",
"boardRev": "R3M0E4",
"productName": "OAK-1-AF-LITE-C21",
"boardCustom": "",
"hardwareConf": "F0-FV00-BC010",
"boardOptions": 0,
"version": 7
}
36 changes: 26 additions & 10 deletions batch/oak_1.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,52 +8,68 @@
{
"title":"OAK-1 AF (NG9093 R2M0E3)",
"description": "OAK-1 with Auto Focus",
"eeprom":"eeprom/NG9093_R2M0E3_oak_1_af.json"
"eeprom":"eeprom/NG9093_R2M0E3_oak_1_af.json",
"board_config_file": "OAK-1.json"
},
{
"title":"OAK-1 AF C20 (NG9093 R3M0E4)",
"description": "OAK-1 with Auto Focus, without enclosure",
"eeprom":"eeprom/NG9093_R3M0E4_oak_1_af_c20.json",
"board_config_file": "OAK-1.json"
},
{
"title":"OAK-1 FF C09 (NG9093 R2M0E3)",
"description": "OAK-1 with Fixed Focus C09",
"eeprom":"eeprom/NG9093_R2M0E3_oak_1_ff_c09.json"
"eeprom":"eeprom/NG9093_R2M0E3_oak_1_ff_c09.json",
"board_config_file": "OAK-1-C09.json"
},
{
"title":"OAK-1 FF (NG9093 R2M0E3)",
"description": "OAK-1 with Fixed Focus",
"eeprom":"eeprom/NG9093_R2M0E3_oak_1_ff.json"
"eeprom":"eeprom/NG9093_R2M0E3_oak_1_ff.json",
"board_config_file": "OAK-1.json"
},
{
"title":"OAK-1 Max (NG9093 R2M0E3)",
"description": "OAK-1 Max",
"eeprom":"eeprom/NG9093_R2M0E3_oak_1_max.json"
"eeprom":"eeprom/NG9093_R2M0E3_oak_1_max.json",
"board_config_file": "OAK-1-MAX.json"
},
{
"title":"OAK-1 W (NG9093 R2M0E3)",
"description": "OAK-1 Wide Lens",
"eeprom":"eeprom/NG9093_R2M0E3_oak_1_w.json"
"eeprom":"eeprom/NG9093_R2M0E3_oak_1_w.json",
"board_config_file": "OAK-1-W.json"
},
{
"title":"OAK-1 AF (NG9093 R3M0E4)",
"description": "OAK-1 with Auto Focus",
"eeprom":"eeprom/NG9093_R3M0E4_oak_1_af.json"
"eeprom":"eeprom/NG9093_R3M0E4_oak_1_af.json",
"board_config_file": "OAK-1.json"
},
{
"title":"OAK-1 FF C09 (NG9093 R3M0E4)",
"description": "OAK-1 with Fixed Focus C09",
"eeprom":"eeprom/NG9093_R3M0E4_oak_1_ff_c09.json"
"eeprom":"eeprom/NG9093_R3M0E4_oak_1_ff_c09.json",
"board_config_file": "OAK-1-C09.json"
},
{
"title":"OAK-1 FF (NG9093 R3M0E4)",
"description": "OAK-1 with Fixed Focus",
"eeprom":"eeprom/NG9093_R3M0E4_oak_1_ff.json"
"eeprom":"eeprom/NG9093_R3M0E4_oak_1_ff.json",
"board_config_file": "OAK-1.json"
},
{
"title":"OAK-1 Max (NG9093 R3M0E4)",
"description": "OAK-1 Max",
"eeprom":"eeprom/NG9093_R3M0E4_oak_1_max.json"
"eeprom":"eeprom/NG9093_R3M0E4_oak_1_max.json",
"board_config_file": "OAK-1-MAX.json"
},
{
"title":"OAK-1 W (NG9093 R3M0E4)",
"description": "OAK-1 Wide Lens",
"eeprom":"eeprom/NG9093_R3M0E4_oak_1_w.json"
"eeprom":"eeprom/NG9093_R3M0E4_oak_1_w.json",
"board_config_file": "OAK-1-W.json"
}
]
}
51 changes: 51 additions & 0 deletions batch/oak_1_lite.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
{
"title": "OAK-1-LITE",
"description": "OAK-1-LITE",
"image": "images/oak_1_lite.jpg",
"test_type": "OAK-1-LITE",
"options": {"bootloader": "none"},
"variants": [
{
"title":"OAK-1 Lite C05 (NG9093 R2M0E3)",
"description": "OAK-1 Lite C05 based on NG9093 R2M0E3 board",
"eeprom":"eeprom/NG9093_R2M0E3_oak_1_lite_c05.json",
"board_config_file": "OAK-1-LITE-C05.json"
},
{
"title":"OAK-1 Lite AF C21 (NG9093 R3M0E4)",
"description": "OAK-1 Lite C21 based on NG9093 R3M0E4 board, without enclosure",
"eeprom":"eeprom/NG9093_R3M0E4_oak_1_lite_af_c21.json",
"board_config_file": "OAK-1-LITE.json"
},
{
"title":"OAK-1 Lite W (NG9093 R2M0E3)",
"description": "OAK-1 Lite Wide Lens based on NG9093 R2M0E3 board",
"eeprom":"eeprom/NG9093_R2M0E3_oak_1_lite_w.json",
"board_config_file": "OAK-1-LITE-W.json"
},
{
"title":"OAK-1 Lite FF (NG9093 R2M0E3)",
"description": "OAK-1 Lite Fixed Focus based on NG9093 R2M0E3 board",
"eeprom":"eeprom/NG9093_R2M0E3_oak_1_lite_ff.json",
"board_config_file": "OAK-1-LITE.json"
},
{
"title":"OAK-1 Lite C05 (NG9093 R3M0E4)",
"description": "OAK-1 Lite C05 based on NG9093 R3M0E4 board",
"eeprom":"eeprom/NG9093_R3M0E4_oak_1_lite_c05.json",
"board_config_file": "OAK-1-LITE-C05.json"
},
{
"title":"OAK-1 Lite W (NG9093 R3M0E4)",
"description": "OAK-1 Lite Wide Lens based on NG9093 R3M0E4 board",
"eeprom":"eeprom/NG9093_R3M0E4_oak_1_lite_w.json",
"board_config_file": "OAK-1-LITE-W.json"
},
{
"title":"OAK-1 Lite FF (NG9093 R3M0E4)",
"description": "OAK-1 Lite Fixed Focus based on NG9093 R3M0E4 board",
"eeprom":"eeprom/NG9093_R3M0E4_oak_1_lite_ff.json",
"board_config_file": "OAK-1-LITE.json"
}
]
}
15 changes: 10 additions & 5 deletions batch/oak_1_poe.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,27 +8,32 @@
{
"title":"OAK-1 PoE FF (SJ2096 R2M1E2)",
"description": "OAK-1 PoE with Fixed Focus, based on SJ2096 R2M1E2 board",
"eeprom":"eeprom/SJ2096_R2M1E2_oak_1_poe_ff.json"
"eeprom":"eeprom/SJ2096_R2M1E2_oak_1_poe_ff.json",
"board_config_file": "OAK-1-POE.json"
},
{
"title":"OAK-1 PoE AF (SJ2096 R2M1E2)",
"description": "OAK-1 PoE with Auto Focus, based on SJ2096 R2M1E2 board",
"eeprom":"eeprom/SJ2096_R2M1E2_oak_1_poe_af.json"
"eeprom":"eeprom/SJ2096_R2M1E2_oak_1_poe_af.json",
"board_config_file": "OAK-1-POE.json"
},
{
"title":"OAK-1 PoE FF (PA2096 R0M0E0)",
"description": "OAK-1 PoE with Fixed Focus, based on PA2096 R0M0E0 board",
"eeprom":"eeprom/PA2096_R0M0E0_oak_1_poe_ff.json"
"eeprom":"eeprom/PA2096_R0M0E0_oak_1_poe_ff.json",
"board_config_file": "OAK-1-POE.json"
},
{
"title":"OAK-1 W PoE (PA2096 R0M0E0)",
"description": "OAK-1 WideLens PoE, based on PA2096 R0M0E0 board",
"eeprom":"eeprom/PA2096_R0M0E0_oak_1_w_poe.json"
"eeprom":"eeprom/PA2096_R0M0E0_oak_1_w_poe.json",
"board_config_file": "OAK-1-W-POE.json"
},
{
"title":"OAK-1 W PoE OV9782 (PA2096 R0M0E0)",
"description": "OAK-1 WideLens angle PoE, with OV9782",
"eeprom":"eeprom/PA2096_R0M0E0_oak_1_w_poe_9782.json"
"eeprom":"eeprom/PA2096_R0M0E0_oak_1_w_poe_9782.json",
"board_config_file": "OAK-1-W-POE-97.json"
}
]
}
12 changes: 10 additions & 2 deletions batch/oak_d.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,20 @@
{
"title":"OAK-D (BW1098 R1M0E1)",
"description": "OAK-D based on BW1098 R1M0E1 board",
"eeprom":"eeprom/BW1098_R1M0E1_oak_d.json"
"eeprom":"eeprom/BW1098_R1M0E1_oak_d.json",
"board_config_file": "OAK-D.json"
},
{
"title":"OAK-D W C15 (DM9098 R6M2E6)",
"description": "OAK-D W C15 based on DM9098 R6M2E6 board, with wide lens (OV9782 center camera)",
"eeprom":"eeprom/DM9098_R6M2E6_oak_d_w_c15.json"
"eeprom":"eeprom/DM9098_R6M2E6_oak_d_w_c15.json",
"board_config_file": "OAK-D-W-97.json"
},
{
"title":"OAK-D W (DM9098 R6M2E6)",
"description": "OAK-D Wide Lens, based on DM9098 R6M2E6 board",
"eeprom":"eeprom/DM9098_R6M2E6_oak_d_w.json",
"board_config_file": "OAK-D-W.json"
}
]
}
14 changes: 14 additions & 0 deletions batch/oak_d_cm4.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"title": "OAK-D CM4",
"description": "OAK-D CM4",
"test_type": "OAK-D-CM4",
"options": {"bootloader": "none", "websocket_capture": true},
"variants": [
{
"title": "OAK-D CM4 (DM1097 R2M0E2)",
"description": "OAK-D CM4, based on DM1097 R2M0E2 board",
"eeprom": "eeprom/DM1097_R2M0E2_oak_d_cm4.json",
"board_config_file": "OAK-D-CM4.json"
}
]
}
26 changes: 26 additions & 0 deletions batch/oak_d_cm4_poe.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
"title": "OAK-D CM4 PoE",
"description": "OAK-D CM4 PoE",
"test_type": "OAK-D-CM4-POE",
"options": {"bootloader": "none", "websocket_capture": true},
"variants": [
{
"title": "OAK-D CM4 PoE (DM2097 R3M1E4)",
"description": "OAK-D CM4 PoE, based on DM2097 R1M1E1 board",
"eeprom": "eeprom/DM2097_R1M1E1_oak_d_cm4_poe.json",
"board_config_file": "OAK-D-CM4-POE.json"
},
{
"title": "OAK-D CM4 PoE C11 (DM2097 R3M1E4)",
"description": "OAK-D CM4 PoE, based on DM2097 R3M1E4 board",
"eeprom": "eeprom/DM2097_R3M1E4_oak_d_cm4_poe_c11.json",
"board_config_file": "OAK-D-CM4-POE-C11.json"
},
{
"title": "OAK-D CM4 PoE (DM2097 R1M1E1)",
"description": "OAK-D CM4 PoE, based on DM2097 R1M1E1 board",
"eeprom": "eeprom/DM2097_R1M1E1_oak_d_cm4_poe.json",
"board_config_file": "OAK-D-CM4-POE.json"
}
]
}
Loading

0 comments on commit 4873691

Please sign in to comment.