more README.md formatting

This commit is contained in:
Edward Kisiel
2022-07-12 22:14:42 -04:00
parent 6430829c9d
commit 03c60b8d1f

396
README.md
View File

@@ -11,11 +11,13 @@ License: GPLv3.
![Image](SBC_Case_Builder_Cases.gif) ![Image](SBC_Case_Builder_Cases.gif)
### Install ### Install
```
git clone https://github.com/hominoids/SBC_Case_Builder.git; cd SBC_Case_Builder git clone https://github.com/hominoids/SBC_Case_Builder.git
cd SBC_Case_Builder
git submodule init git submodule init
git submodule update git submodule update
```
### Notes ### Notes
More information can be found at this [Hard Kernel forum thread](https://forum.odroid.com/viewtopic.php?f=53&t=43948) More information can be found at this [Hard Kernel forum thread](https://forum.odroid.com/viewtopic.php?f=53&t=43948)
@@ -23,29 +25,51 @@ License: GPLv3.
### Case Designs and Styles ### Case Designs and Styles
The case naming convention for standard cases in the configuration file follow the basic form of “sbc”_”design”_”style” e.g. c4_shell or c4_tray_vu5. The case naming convention for standard cases in the configuration file follow the basic form of “sbc”_”design”_”style” e.g. c4_shell or c4_tray_vu5.
Current Case Count 114 #### Current Case Count 114
Odorid-C1+ cases - 12 : c1+_shell,c1+_panel,c1+_panel_lcd3.5,c1+_desktop_lcd3.5,c1+_stacked,c1+_tray,c1+_tray_sides,c1+_tray_vu5,
##### Hardkernel
**Odorid-C1+ cases** - 12 : c1+_shell,c1+_panel,c1+_panel_lcd3.5,c1+_desktop_lcd3.5,c1+_stacked,c1+_tray,c1+_tray_sides,c1+_tray_vu5,
c1+_tray_vu7,c1+_shell_boombox,c1+_panel_boombox,c1+_tray_boombox c1+_tray_vu7,c1+_shell_boombox,c1+_panel_boombox,c1+_tray_boombox
Odorid-C2 cases - 13 : c2_shell,c2_panel,c2_panel_lcd3.5,c2_desktop_lcd3.5,c2_stacked,c2_tray,c2_tray_sides,c2_tray_vu5,
c2_tray_vu7,c2_shell_boombox,c2_panel_boombox,c2_deskboom_lcd3.5,c2_tray_boombox, **Odorid-C2 cases** - 13 : c2_shell,c2_panel,c2_panel_lcd3.5,c2_desktop_lcd3.5,c2_stacked,c2_tray,c2_tray_sides,c2_tray_vu5,
Odorid-C4 cases - 13 : c4_shell,c4_panel,c4_panel_lcd3.5,c4_desktop_lcd3.5,c4_stacked,c4_tray,c4_tray_sides,c4_tray_vu5, c2_tray_vu7,c2_shell_boombox,c2_panel_boombox,c2_deskboom_lcd3.5,c2_tray_boombox
**Odorid-C4 cases** - 13 : c4_shell,c4_panel,c4_panel_lcd3.5,c4_desktop_lcd3.5,c4_stacked,c4_tray,c4_tray_sides,c4_tray_vu5,
c4_tray_vu7,c4_shell_boombox,c4_panel_boombox,c4_deskboom_lcd3.5,c4_tray_boombox c4_tray_vu7,c4_shell_boombox,c4_panel_boombox,c4_deskboom_lcd3.5,c4_tray_boombox
Odorid-HC4 cases - 11 : hc4_shell,hc4_shell_drivebox2.5,hc4_shell_drivebox2.5v,hc4_shell_drivebox3.5,hc4_panel,hc4_stacked
**Odorid-HC4 cases** - 11 : hc4_shell,hc4_shell_drivebox2.5,hc4_shell_drivebox2.5v,hc4_shell_drivebox3.5,hc4_panel,hc4_stacked
,hc4_tray,hc4_tray_sides,hc4_tray_vu5,hc4_tray_vu7,hc4_tray_drivebox2.5 ,hc4_tray,hc4_tray_sides,hc4_tray_vu5,hc4_tray_vu7,hc4_tray_drivebox2.5
Odorid-N1 cases - 7 : n1_shell,n1_panel,n1_stacked,n1_tray,n1_tray_sides,n1_tray_vu5,n1_tray_vu7
Odorid-N2 cases - 5 : n2_panel,n2_tray,n2_tray_sides,n2_tray_vu5,n2_tray_vu7 **Odorid-N1 cases** - 7 : n1_shell,n1_panel,n1_stacked,n1_tray,n1_tray_sides,n1_tray_vu5,n1_tray_vu7
Odorid-N2+ cases - 5 :n2+_panel,n2+_tray,n2+_tray_sides,n2+_tray_vu5,n2+_tray_vu7
Odorid-XU4 cases - 7 : xu4_shell,xu4_panel,xu4_stacked,xu4_tray,xu4_tray_sides,xu4_tray_vu5,xu4_tray_vu7 **Odorid-N2 cases** - 5 : n2_panel,n2_tray,n2_tray_sides,n2_tray_vu5,n2_tray_vu7
Odorid-XU4Q cases - 7 : xu4q_shell,xu4q_panel,xu4q_stacked,xu4q_tray,xu4q_tray_sides,xu4q_tray_vu5,xu4q_tray_vu7
Odroid-MC1 cases - 0 **Odorid-N2+ cases** - 5 :n2+_panel,n2+_tray,n2+_tray_sides,n2+_tray_vu5,n2+_tray_vu7
Odroid-HC1 cases - 0
Odroid-HC2 cases - 0 **Odorid-XU4 cases** - 7 : xu4_shell,xu4_panel,xu4_stacked,xu4_tray,xu4_tray_sides,xu4_tray_vu5,xu4_tray_vu7
Odroid-H2 cases - 13 : h2_shell,h2_lowboy,h2_lowboy_router,h2_shell_router,h2_shell_routerssd,h2_panel,h2_stacked,h2_tray,h2_tray_sides,
**Odorid-XU4Q cases** - 7 : xu4q_shell,xu4q_panel,xu4q_stacked,xu4q_tray,xu4q_tray_sides,xu4q_tray_vu5,xu4q_tray_vu7
**Odroid-H2 cases** - 13 : h2_shell,h2_lowboy,h2_lowboy_router,h2_shell_router,h2_shell_routerssd,h2_panel,h2_stacked,h2_tray,h2_tray_sides,
h2_tray_vu5,h2_tray_vu7,h2_tray_router,h2_router_station h2_tray_vu5,h2_tray_vu7,h2_tray_router,h2_router_station
Odroid-Show2 cases - 1 : show2_shell
Other cases - 10 : jetsonnano_shell,jetsonnano_panel,jetsonnano_stacked,jetsonnano_tray,jetsonnano_tray_sides, **Odroid-Show2** cases - 1 : show2_shell
rockpro64_shell,rockpro64_panel,rockpro64_stacked,rockpro64_tray,rockpro64_tray_sides
rpi3b+_shell,rpi3b+_panel,rpi3b+_stacked,rpi3b+_tray ##### Pine64
**Rockpro64** - 5 : rockpro64_shell,rockpro64_panel,rockpro64_stacked,rockpro64_tray,rockpro64_tray_sides
##### Raspberry PI
**RPI3+** - 4 : rpi3b+_shell,rpi3b+_panel,rpi3b+_stacked,rpi3b+_tray
##### Nivida
**Jetson Nano** - 5 : jetsonnano_shell,jetsonnano_panel,jetsonnano_stacked,jetsonnano_tray,jetsonnano_tray_sides
### Case and Accessory Schema ### Case and Accessory Schema
The schema for case configuration and accessories is documented in the beginning of the file sbc_case_builder.cfg. It has not been finalized and may be subject to changes in the near future as development in these areas is ongoing. Here is a review of the current schema which will be updated as needed for each release. The schema is divided into two areas, case and accessories. There are 30 fixed entries that describe any given case followed by an unlimited number of accessory entries each containing 14 entries. The schema for case configuration and accessories is documented in the beginning of the file sbc_case_builder.cfg. It has not been finalized and may be subject to changes in the near future as development in these areas is ongoing. Here is a review of the current schema which will be updated as needed for each release. The schema is divided into two areas, case and accessories. There are 30 fixed entries that describe any given case followed by an unlimited number of accessory entries each containing 14 entries.
@@ -102,13 +126,13 @@ schema:
4.5, // insert hole dia. mm 4.5, // insert hole dia. mm
5.1], // insert depth mm 5.1], // insert depth mm
"class","type",loc_x,loc_y,loc_z,face,rotation[],size_x,size_y,size_z,data_1,data_2,"data_3",data_4[] "class","type",loc_x,loc_y,loc_z,face,rotation[],size_x,size_y,size_z,data_1,data_2,"data_3",data_4[]
Fixed Schema Entries Fixed Schema Entries
The 30 fixed schema entries are self-evident based on their name. The 30 fixed schema entries are self-evident based on their name.
case_name = “case_name” case_name = “case_name”
sbc_model = any sbc from sbc model framework: "c1+","c2","c4","hc4","xu4","xu4q","mc1","hc1","n1","n2","n2+","h2" sbc_model = any sbc from sbc model framework: "c1+","c2","c4"...
case_design = "shell", "panel", "stacked", "tray" case_design = "shell", "panel", "stacked", "tray"
case_style = “style” of case_design (tray: none, vu5, vu7) case_style = “style” of case_design (tray: none, vu5, vu7)
pcb_loc_x = sbc location x axis pcb_loc_x = sbc location x axis
@@ -141,49 +165,65 @@ The 30 fixed schema entries are self-evident based on their name.
### Accessories Configuration Entries ### Accessories Configuration Entries
The accessories entries need more explanation because of their input variability. For accessories there are 6 classes, “add1”,“sub”,”suball”,”add2”,”model”,”platter” and all use the same command format for various “type”. The accessories entries need more explanation because of their input variability. For accessories there are 6 classes, “add1”,“sub”,”suball”,”add2”,”model”,”platter” and all use the same command format for various “type”.
"class","type",loc_x,loc_y,loc_z,size_x,size_y,size_z,"face",rotation[],data_1,data_2,"data_3",data_4[] `"class","type",loc_x,loc_y,loc_z,size_x,size_y,size_z,"face",rotation[],data_1,data_2,"data_3",data_4[]`
Code: Select all e.g.
"sub","rectangle",3,78,-.1,8,8,5,"bottom",[0,0,0,],0,0,"",[1,1,1,1], `"sub","rectangle",3,78,-.1,8,8,5,"bottom",[0,0,0,],0,0,"",[1,1,1,1]`
Every type, regardless of its class, uses a basic set of variables(loc_x,loc_y,loc_z,”face”,rotation[]) but each type doesnt necessarily use all available data fields(size_x,size_y,size_z,data_1,data_2,”data_3”,data_4[]). “add1” and “add2” are used to add geometry to the case. The difference is when the addition occurs. “add1” happens at the beginning when the core case geometry is created and add2 happens after all subtractions have occurred. “suball” is used to affect all faces of a case, not just “face”. The “face” is the case piece that will be effected by the addition or subtraction. The "model" type is for placing supporting accessories in the model view. e.g. hard drives, fans. The "platter" type is for adding supporting accessories to the print platter. Every type, regardless of its class, uses a basic set of variables(loc_x,loc_y,loc_z,”face”,rotation[]) but each type doesnt necessarily use all available data fields(size_x,size_y,size_z,data_1,data_2,”data_3”,data_4[]). “add1” and “add2” are used to add geometry to the case. The difference is when the addition occurs. “add1” happens at the beginning when the core case geometry is created and add2 happens after all subtractions have occurred. “suball” is used to affect all faces of a case, not just “face”. The “face” is the case piece that will be effected by the addition or subtraction. The "model" type is for placing supporting accessories in the model view. e.g. hard drives, fans. The "platter" type is for adding supporting accessories to the print platter.
classes: add1, sub, suball, add2, model, platter #### classes: add1, sub, suball, add2, model, platter
**additive type:**
circle, rectangle, slot, text, art, standoff, batt_holder, uart_holder, hd_holder, hd_holes, hd_vertright_holes, hc4_oled_holder, access_port, button, pcb_holder, boom_grill, boom_speaker_holder
**subtractive type:**
circle, rectangle, slot, text, art, punchout, vent, fan, hd_holes, hd_vertleft_holes, hd_vertright_holes
**model type:**
uart_strap, fan_cover, hd25, hd35, hc4_oled, feet, access_cover, net_card, hk35_lcd, hk_boom, boom_speaker, boom_vring, hk_uart
**platter type:**
uart_strap, fan_cover, access_cover, button_top, boom_vring
additive type: circle, rectangle, slot, text, art, standoff, batt_holder, uart_holder, hd_holder, hd_holes, hd_vertright_holes, hc4_oled_holder, access_port, button, pcb_holder, boom_grill, boom_speaker_holder
subtractive type: circle, rectangle, slot, text, art, punchout, vent, fan, hd_holes, hd_vertleft_holes, hd_vertright_holes
model type: uart_strap, fan_cover, hd25, hd35, hc4_oled, feet, access_cover, net_card, hk35_lcd, hk_boom, boom_speaker, boom_vring, hk_uart
platter type: uart_strap, fan_cover, access_cover, button_top, boom_vring
#### Shared add and sub “type” commands #### Shared add and sub “type” commands
-circle
**circle**
description: circlular geometry. description: circlular geometry.
uses: size_x=dia, size_z=height *uses:* size_x=dia, size_z=height
-rectangle
description: rectangular geometry with individual defined corner fillets. Radius1 is lower left corner then moves clockwise. **rectangle**
uses: size_x, size_y, size_z, data_4=[radius1, radius2, radius3, radius4] *description:* rectangular geometry with individual defined corner fillets. Radius1 is lower left corner then moves clockwise.
-slot *uses:* size_x, size_y, size_z, data_4=[radius1, radius2, radius3, radius4]
description: slot geometry.
uses: size_x=diameter, size_y=length, size_z=height **slot**
-text *description:* slot geometry.
description: raised or sunk text *uses:* size_x=diameter, size_y=length, size_z=height
uses: data_1=size, data_3="text"
-art **text**
description: art work in dxf or svg format *description:* raised or sunk text
uses: data_1=scale, data_2=height, data_3=file *uses:* data_1=size, data_3="text"
**art**
*description:* art work in dxf or svg format
*uses:* data_1=scale, data_2=height, data_3=file
#### Add class only “types” #### Add class only “types”
-uart_holder
description: console uart holder
uses: none
-batt_holder
description: rtc battery holder
uses: none
-standoff
description: user defined standoff
uses: data_4=
**uart_holder**
*description:* console uart holder
*uses:* none
**batt_holder**
*description:* rtc battery holder
*uses:* none
**standoff**
*description:* user defined standoff
*uses:* data_4=
[ 6.75, // radius [ 6.75, // radius
5, // height 5, // height
3.6, // holesize 3.6, // holesize
@@ -196,114 +236,152 @@ uses: data_4=
4.5, // insert hole dia. mm 4.5, // insert hole dia. mm
5.1] // insert depth mm 5.1] // insert depth mm
-hd_holder
description: double stacked holder for 2.5 and 3.5 drives **hd_holder**
uses: data_1=2.5 or 3.5, data_3=”portrait” or “landscape” *description:* double stacked holder for 2.5 and 3.5 drives
-hd_vertleft_holder *uses:* data_1=2.5 or 3.5, data_3=”portrait” or “landscape”
description: vertical left side holder for 2.5 and 3.5 drives
uses: data_1=2.5 or 3.5, data_3=”portrait” or “landscape” **hd_vertleft_holder**
-hd_vertright_holder *description:* vertical left side holder for 2.5 and 3.5 drives
description: vertical right side holder for 2.5 and 3.5 drives *uses:* data_1=2.5 or 3.5, data_3=”portrait” or “landscape”
uses: data_1=2.5 or 3.5, data_3=”portrait” or “landscape”
-hc4_oled_holder **hd_vertright_holder**
description: hc4 oled holder *description:* vertical right side holder for 2.5 and 3.5 drives
uses: size_z=floorthick *uses:* data_1=2.5 or 3.5, data_3=”portrait” or “landscape”
-access_port
description: bottom access for sd and emmc **hc4_oled_holder**
uses: size_z=floorthick, data_3=”portrait” or “landscape” *description:* hc4 oled holder
-button *uses:* size_z=floorthick
description: button top and plunger
uses: size_x=diameter,size_z=height, data_3=”reccess” **access_port**
-pcb_holder *description:* bottom access for sd and emmc
description: pcb bottom edge holder *uses:* size_z=floorthick, data_3=”portrait” or “landscape”
uses: size_x=pcb_x,size_y=pcb_y,size_z=pcb_z, data_1=wall_thick
-boom_grill **button**
description: hk boom bonnet grill covers *description:* button top and plunger
uses: data_3="flat", "dome", "frame" *uses:* size_x=diameter,size_z=height, data_3=”reccess”
-boom_speaker_holder
description: hk boom bonnet speaker friction holder **pcb_holder**
uses: data_1=tolorence *description:* pcb bottom edge holder
*uses:* size_x=pcb_x,size_y=pcb_y,size_z=pcb_z, data_1=wall_thick
**boom_grill**
*description:* hk boom bonnet grill covers
*uses:* data_3="flat", "dome", "frame"
**boom_speaker_holder**
*description:* hk boom bonnet speaker friction holder
*uses:* data_1=tolorence
#### Sub class only “types” #### Sub class only “types”
-punchout
description: punchout in rectangle, round or slot shape **punchout**
uses: size_x=width, size_y=depth, data_1=gap, size_z=thick, data_2=fillet, data_3="rectangle","round" or "slot" *description:* punchout in rectangle, round or slot shape
-vent *uses:* size_x=width, size_y=depth, data_1=gap, size_z=thick, data_2=fillet, data_3="rectangle","round" or "slot"
description: horizontal or vertical vent openings
uses: size_x=open_width, size_y=open_length, size_z=thick, data_4=gap, data_1=rows, data_3=columns, data_3=orientation("vertical","horizontal") **vent**
-fan *description:* horizontal or vertical vent openings
description: fan opening *uses:* size_x=open_width, size_y=open_length, size_z=thick, data_4=gap, data_1=rows, data_3=columns, data_3=orientation("vertical","horizontal")
uses: size_x=size, size_z=thick, date_1=style(1=open,2=fan)
-hd_holes **fan**
description: bottom hole pattern for 2.5 or 3.5 drives *description:* fan opening
uses: data_1=2.5 or 3.5, data_2=thick, data_3=”portrait” or “landscape” *uses:* size_x=size, size_z=thick, date_1=style(1=open,2=fan)
-hd_vertleft_holes
description: bottom hole pattern for 2.5 or 3.5 drives **hd_holes**
uses: data_1=2.5 or 3.5, data_2=thick, data_3=”portrait” or “landscape” *description:* bottom hole pattern for 2.5 or 3.5 drives
-hd_vertright_holes *uses:* data_1=2.5 or 3.5, data_2=thick, data_3=”portrait” or “landscape”
description: bottom hole pattern for 2.5 or 3.5 drives
uses: data_1=2.5 or 3.5, data_2=thick, data_3=”portrait” or “landscape”-component mask(incomplete) **hd_vertleft_holes**
*description:* bottom hole pattern for 2.5 or 3.5 drives
*uses:* data_1=2.5 or 3.5, data_2=thick, data_3=”portrait” or “landscape”
**hd_vertright_holes**
*description:* bottom hole pattern for 2.5 or 3.5 drives
*uses:* data_1=2.5 or 3.5, data_2=thick, data_3=”portrait” or “landscape”-component mask(incomplete)
#### Model class “types” #### Model class “types”
-uart_strap
description: console uart holder strap **uart_strap**
uses: none *description:* console uart holder strap
-fan_cover *uses:* none
description: cover for fan hole opening
uses: size_x=40 or 80, size_z=thick **fan_cover**
-hd25 *description:* cover for fan hole opening
description: 2.5 hard drive *uses:* size_x=40 or 80, size_z=thick
uses: data_1=height
-hd35 **hd25**
description: 3.5 hard drive *description:* 2.5 hard drive
uses: none *uses:* data_1=height
-hc4_oled
description: hc4_oled model **hd35**
uses: none *description:* 3.5 hard drive
-feet *uses:* none
description: case feet
uses: size_x=diameter, size_z=height **hc4_oled**
-access_cover *description:* hc4_oled model
description: bottom access cover for sd and emmc *uses:* none
uses: size_z=floorthick, data_3=”portrait” or “landscape”
-button_top **feet**
description: button top and plunger *description:* case feet
uses: size_x=diameter,size_z=height, data_3=”reccess” *uses:* size_x=diameter, size_z=height
-h2_netcard
description: h2 network card model **access_cover**
uses: none *description:* bottom access cover for sd and emmc
-hk_lcd35 *uses:* size_z=floorthick, data_3=”portrait” or “landscape”
description: hk 3.5 inch lcd model
uses: none **button_top**
-hk_boom *description:* button top and plunger
description: hk stereo boom bonnet model *uses:* size_x=diameter,size_z=height, data_3=”reccess”
uses: data_1=speakers(true or false), data_3=”front” or "rear"
-boom_speaker **h2_netcard**
description: hk stereo boom bonnet speaker *description:* h2 network card model
uses: data_1=pcb(true or false), data_3=”left” or "right" *uses:* none
-hk_speaker
description: hk speaker model **hk_lcd35**
uses: none *description:* hk 3.5 inch lcd model
-boom_vring *uses:* none
description: hk stereo boom bonnet volume wheel extention
uses: data_1=tolerence **hk_boom**
-hk_uart *description:* hk stereo boom bonnet model
description: hk console uart model *uses:* data_1=speakers(true or false), data_3=”front” or "rear"
uses: none
**boom_speaker**
*description:* hk stereo boom bonnet speaker
*uses:* data_1=pcb(true or false), data_3=”left” or "right"
**hk_speaker**
*description:* hk speaker model
*uses:* none
**boom_vring**
*description:* hk stereo boom bonnet volume wheel extention
*uses:* data_1=tolerence
**hk_uart**
*description:* hk console uart model
*uses:* none
#### Platter class “types” #### Platter class “types”
-uart_strap
description: console uart holder strap **uart_strap**
uses: none *description:* console uart holder strap
-fan_cover *uses:* none
description: cover for fan hole opening
uses: size_x=40 or 80, size_z=thick **fan_cover**
-access_cover *description:* cover for fan hole opening
description: bottom access cover for sd and emmc *uses:* size_x=40 or 80, size_z=thick
uses: size_z=floorthick, data_3=”portrait” or “landscape”
-button_top **access_cover**
description: button top and plunger *description:*bottom access cover for sd and emmc
uses: size_x=diameter,size_z=height, data_3=”reccess *uses:* size_z=floorthick, data_3=”portrait” or “landscape
-boom_vring
description: hk stereo boom bonnet volume wheel extention **button_top**
uses: data_1=tolerence *description:* button top and plunger
*uses:* size_x=diameter,size_z=height, data_3=”reccess”
**boom_vring**
*description:* hk stereo boom bonnet volume wheel extention
*uses:* data_1=tolerence