from .boardGen import keebConfig
from .boardGen import caseConfig

choc_spacing = (18,17)
mx_spacing = (19.05, 19.05)

config_36 = keebConfig(
    height_plate = 1.2,
    height_pcb = 1.6,
    spacing = choc_spacing,
    hSize = (14,14),
    rows =  3,
    cols = 5,
    keysPerCol= ( 3, 3, 3, 3, 3 ),
    stagger= ( 0, 2, 6, 2,-7 ),
    staggerX = ( 0, 0, 0, 0, 0 ),
    colRot= (0,0,0,0,0),
    tClusterRot= (36, 15, -4),
    tClusterSize = ( 1,   1,  1),
    tClusterPos= (1,5),
    tClusterSpacing= 5,
    handRotation= 18,
    handDistance = 25,
    holeToEdge = 3,
    filletSizeLarge= 5,
    filletSizeSmall= 3,
    )

config_36_mx = keebConfig(
    height_plate = 1.2,
    height_pcb = 1.6,
    spacing = mx_spacing,
    hSize = (14,14),
    rows =  3,
    cols = 5,
    keysPerCol= ( 3, 3, 3, 3, 3 ),
    stagger= ( 0, 2, 6, 2,-7),
    staggerX = ( 0, 0, 0, 0, 0 ),
    colRot= (0,0,0,0,0),
    tClusterRot  = (36,  15, -4),
    tClusterSize = ( 1,   1,  1),
    tClusterPos= (1,5),
    tClusterSpacing= 5.5,
    handRotation= 17,
    handDistance = 25,
    holeToEdge = 3,
    filletSizeLarge= 5,
    filletSizeSmall= 3,
    )

config_32_g = keebConfig(
    height_plate = 1.2,
    height_pcb = 1.6,
    spacing = choc_spacing,
    hSize = (14,14),
    rows =  3,
    cols = 5,
    keysPerCol= ( 3, 3, 3, 3, 2 ),
    stagger= ( 0, 2, 6, 2,-7+choc_spacing[1]),
    staggerX = ( 0, 0, 0, 0, 0 ),
    colRot= (0,0,0,0,0),
    tClusterRot= (36, 15),
    tClusterPos= (1,7),
    tClusterSize = ( 1, 1.5 ),
    tClusterSpacing= 7,
    handRotation= 18,
    handDistance = 25,
    holeToEdge = 4,
    filletSizeLarge= 5,
    filletSizeSmall= 3,
    upperEdgeOffset = 4.5,
    )

config_36_test = keebConfig(
    height_plate = 1.2,
    height_pcb = 1.6,
    spacing = choc_spacing,
    hSize = (14,14),
    rows =  3,
    cols = 5,
    keysPerCol= ( 3, 3, 3, 3, 3 ),
    stagger= ( 0, 2, 6, 2,-7 ),
    staggerX = ( 0, 0, 0, 0, 0 ),
    colRot= (0,0,0,0,0),
    tClusterRot= (36, 15, -4),
    tClusterSize = ( 1,   1,  1),
    tClusterPos= (1,7),
    tClusterSpacing= 7,
    handRotation= 18,
    handDistance = 20,
    holeToEdge = 4,
    filletSizeLarge= 5,
    filletSizeSmall= 3,
    upperEdgeOffset = 5,
    )

config_32 = keebConfig(
    height_plate = 1.2,
    height_pcb = 1.6,
    spacing = choc_spacing,
    hSize = (14,14),
    rows =  3,
    cols = 5,
    keysPerCol= ( 3, 3, 3, 3, 2 ),
    stagger= ( 0, 2, 6, 2,-7+choc_spacing[1]),
    staggerX = ( 0, 0, 0, 0, 0 ),
    colRot= (0,0,0,0,0),
    tClusterRot= (36, 15),
    tClusterSize = ( 1,   1),
    tClusterPos= (1,7),
    tClusterSpacing= 7,
    handRotation= 18,
    handDistance = 20,
    holeToEdge = 3,
    filletSizeLarge= 5,
    filletSizeSmall= 5,
    upperEdgeOffset = 5,
    )

config_32_ap = keebConfig(
    height_plate = 1.2,
    height_pcb = 1.2,
    spacing = choc_spacing,
    hSize = (14,14),
    rows =  3,
    cols = 5,
    keysPerCol= ( 3, 3, 3,     3, 3  ),
    stagger  =  ( 2, 2, 6,     0,-13.5 ),
    staggerX =  ( 0, 0, 0,     0, -1.75 ),
    colRot   =  ( 0, 0, 0,     4, 15.5 ),
    tClusterRot= (15,0),
    tClusterSize = ( 1,   1.5),
    tClusterPos= (-4.55,4),
    tClusterSpacing= 3,
    handRotation= 21,
    handDistance = 22,
    holeToEdge = 4,
    filletSizeLarge= 5,
    filletSizeSmall= 5,
    upperEdgeIndent = True, 
    upperEdgeOffset = 2.25,
    lowerEdgeStraight = False,
    )

config_lowProfile = caseConfig  (
    switchClearance = 5.2,
    clearanceSafety = 1,
    wallSafety = 0.5,
    wallThickness = 2,
    bottomThickness = 2,
    heightAbovePlate = 0,
    cutoutExtra = (1, 1),
    thumbCutout = 0,
    sHoleDiameter = 2.2,
    hDiameter = 3.2,
    hDepth = 5,
    switchPlateToPcb = 2.2,
    )

config_highProfileChoc = caseConfig(
    switchClearance = 5.2,
    clearanceSafety = 2.7,
    wallSafety = 2,
    wallThickness = 2.5,
    bottomThickness = 1.5,
    heightAbovePlate = 4.5,
    cutoutExtra = (0.25, 0.25 ),
    thumbCutout = 2,
    sHoleDiameter = 2.2,
    hDiameter = 3.2,
    hDepth = 5,
    switchPlateToPcb = 2.2,
    )
