Skip to content

Commit e8a03ae

Browse files
committed
More grid configs, eliminating some unlikely ones
The larger 5x5s seem dubious at this time
1 parent 396268a commit e8a03ae

File tree

1 file changed

+24
-67
lines changed

1 file changed

+24
-67
lines changed

cimbar/conf.py

Lines changed: 24 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -88,57 +88,57 @@ class sq5x5:
8888

8989

9090
class sq5x5wide:
91-
TOTAL_SIZE = (1494, 1048)
91+
TOTAL_SIZE = (1480, 1018)
9292
BITS_PER_SYMBOL = 2
9393
BITS_PER_COLOR = 2
9494
CELL_SIZE = 5
9595
CELL_SPACING_X = CELL_SIZE + 1
96-
CELL_DIM_X = 249
97-
CELL_DIM_Y = 172
96+
CELL_DIM_X = 244
97+
CELL_DIM_Y = 167
9898
CELLS_OFFSET = 9
99-
ECC = 51
100-
ECC_BLOCK_SIZE = 253
99+
ECC = 33
100+
ECC_BLOCK_SIZE = 163
101101
INTERLEAVE_PARTITIONS = 2
102-
FOUNTAIN_BLOCKS = -7 # 28 (606) for 4c, 35 (606) for 8c
102+
FOUNTAIN_BLOCKS = -5 # 20 (806) for 4c, 25 (806) for 8c
103103

104104
CELL_SPACING_Y = CELL_SPACING_X
105105
INTERLEAVE_BLOCKS = ECC_BLOCK_SIZE
106106
MARKER_SIZE_X = round(54 / CELL_SPACING_X)
107107
MARKER_SIZE_Y = round(54 / CELL_SPACING_Y) # 6 or 9, probably
108108

109109

110-
class sq5x5alt:
111-
TOTAL_SIZE = 1024
110+
class sq5x5lesswide:
111+
TOTAL_SIZE = (1318, 1000)
112112
BITS_PER_SYMBOL = 2
113113
BITS_PER_COLOR = 2
114114
CELL_SIZE = 5
115115
CELL_SPACING_X = CELL_SIZE + 1
116-
CELL_DIM_X = 168
116+
CELL_DIM_X = 217
117+
CELL_DIM_Y = 164
117118
CELLS_OFFSET = 9
118-
ECC = 30
119-
ECC_BLOCK_SIZE = 155
120-
INTERLEAVE_PARTITIONS = 3
121-
FOUNTAIN_BLOCKS = 9 # dynamic.. could be *2 or *3?
119+
ECC = 47
120+
ECC_BLOCK_SIZE = 232
121+
INTERLEAVE_PARTITIONS = 2
122+
FOUNTAIN_BLOCKS = -5 # 20 (703) for 4c, 25 (703) for 8c
122123

123-
CELL_DIM_Y = CELL_DIM_X
124124
CELL_SPACING_Y = CELL_SPACING_X
125125
INTERLEAVE_BLOCKS = ECC_BLOCK_SIZE
126126
MARKER_SIZE_X = round(54 / CELL_SPACING_X)
127127
MARKER_SIZE_Y = round(54 / CELL_SPACING_Y) # 6 or 9, probably
128128

129129

130-
class sq5x5beeg:
131-
TOTAL_SIZE = 1048
130+
class sq5x5alt:
131+
TOTAL_SIZE = 1024
132132
BITS_PER_SYMBOL = 2
133133
BITS_PER_COLOR = 2
134134
CELL_SIZE = 5
135135
CELL_SPACING_X = CELL_SIZE + 1
136-
CELL_DIM_X = 172
136+
CELL_DIM_X = 168
137137
CELLS_OFFSET = 9
138-
ECC = 41
139-
ECC_BLOCK_SIZE = 209
140-
INTERLEAVE_PARTITIONS = 2
141-
FOUNTAIN_BLOCKS = 0 # dynamic.. could be *2 or *3?
138+
ECC = 30
139+
ECC_BLOCK_SIZE = 155
140+
INTERLEAVE_PARTITIONS = 3
141+
FOUNTAIN_BLOCKS = 9 # dynamic.. could be *2 or *3?
142142

143143
CELL_DIM_Y = CELL_DIM_X
144144
CELL_SPACING_Y = CELL_SPACING_X
@@ -147,26 +147,6 @@ class sq5x5beeg:
147147
MARKER_SIZE_Y = round(54 / CELL_SPACING_Y) # 6 or 9, probably
148148

149149

150-
class sq5x6bad:
151-
TOTAL_SIZE = 966
152-
BITS_PER_SYMBOL = 2
153-
BITS_PER_COLOR = 2
154-
CELL_SIZE = 5
155-
CELL_SPACING_X = CELL_SIZE
156-
CELL_SPACING_Y = CELL_SIZE + 1
157-
CELL_DIM_Y = 158
158-
CELL_DIM_X = 190
159-
CELLS_OFFSET = 9
160-
ECC = 31
161-
ECC_BLOCK_SIZE = 161
162-
INTERLEAVE_PARTITIONS = 23 # or just leave ecc locked, and do 2,10?
163-
FOUNTAIN_BLOCKS = 23
164-
165-
INTERLEAVE_BLOCKS = ECC_BLOCK_SIZE
166-
MARKER_SIZE_X = round(54 / CELL_SPACING_X)
167-
MARKER_SIZE_Y = round(54 / CELL_SPACING_Y) # 6 or 9, probably
168-
169-
170150
# this one is very flexible, probably good for experimenting with
171151
class sq5x6:
172152
TOTAL_SIZE = 958
@@ -181,7 +161,7 @@ class sq5x6:
181161
ECC = 35
182162
ECC_BLOCK_SIZE = 182
183163
INTERLEAVE_PARTITIONS = 2
184-
FOUNTAIN_BLOCKS = 0 # dynamic ... should be *3, not *2...?
164+
FOUNTAIN_BLOCKS = -4 # dynamic ... should be *3, not *2...?
185165

186166
INTERLEAVE_BLOCKS = ECC_BLOCK_SIZE
187167
MARKER_SIZE_X = round(54 / CELL_SPACING_X)
@@ -201,7 +181,7 @@ class sq6x5:
201181
ECC = 35
202182
ECC_BLOCK_SIZE = 182
203183
INTERLEAVE_PARTITIONS = 2
204-
FOUNTAIN_BLOCKS = 0 # dynamic ... should be *3, not *2...?
184+
FOUNTAIN_BLOCKS = -4 # dynamic ... should be *3, not *2...?
205185

206186
INTERLEAVE_BLOCKS = ECC_BLOCK_SIZE
207187
MARKER_SIZE_X = round(54 / CELL_SPACING_X)
@@ -273,29 +253,6 @@ class sq5x6w2:
273253
MARKER_SIZE_Y = round(54 / CELL_SPACING_Y) # 6 or 9, probably
274254

275255

276-
# swing for the fences
277-
class sq5x6beeg:
278-
TOTAL_SIZE = (1326, 1036)
279-
BITS_PER_SYMBOL = 2
280-
BITS_PER_COLOR = 2
281-
CELL_SIZE = 5
282-
CELL_SPACING_X = CELL_SIZE
283-
CELL_SPACING_Y = CELL_SIZE + 1
284-
CELL_DIM_Y = 170
285-
CELL_DIM_X = 262
286-
CELLS_OFFSET = 9
287-
ECC = 37
288-
ECC_BLOCK_SIZE = 178
289-
INTERLEAVE_PARTITIONS = 2
290-
FOUNTAIN_BLOCKS = -3 # 12 for 4color, 15 for 8color
291-
292-
INTERLEAVE_BLOCKS = ECC_BLOCK_SIZE
293-
MARKER_SIZE_X = round(54 / CELL_SPACING_X)
294-
MARKER_SIZE_Y = round(54 / CELL_SPACING_Y) # 6 or 9, probably
295-
296-
297-
# swing for the fences
298-
# tbd, haven't found good numbers yet... but 250 kb/s is reasonable????
299256
class sq6x5wide:
300257
TOTAL_SIZE = (1468, 1006)
301258
BITS_PER_SYMBOL = 2
@@ -325,4 +282,4 @@ def init(cls):
325282
continue
326283
setattr(this, k, v)
327284

328-
init(sq6x5wide)
285+
init(sq8x9bw)

0 commit comments

Comments
 (0)