<adamw_>
roh: actually with item 1 and 2, not only vga acrylic sides case also include video-in, front/btn case, dmx connectors cases side, top and bottom sides too.
<adamw_>
results:
<adamw_>
1), now I realized that why your rc2 had have different weight which caused by different thicknesses.
<adamw_>
2) with 'four' combinations from both 'front' case and Btns:
<adamw_>
2-1), thinner front case & thinner BTNs, acceptable that the BTN can release very well.
<adamw_>
2-2), thinner front case & thicker BTNs, unacceptable, since I can feel the BTN cant release back after pressing btn.
<wolfspraul>
adamw_: nice pictures :-)
<adamw_>
2-3), thicker front case & thinner BTNs, unacceptable, same status 2-2)
<wolfspraul>
I think roh had a plan about this, there should be enough matching parts in the shipment, though it may take some time to find the matching ones
<wolfspraul>
and yes, you definitely need to check and only assemble parts/cases that actually work, especially the buttons
<adamw_>
2-4), thicker front case & thicker BTNs, definitely bad.
<wolfspraul>
so hopefully roh can give some feedback/guidance...
<adamw_>
so my plans now:
<adamw_>
1). keep only using thinner front case & BTNs firstly for first 30pcs ready m1 boards
<adamw_>
2). I found that I can accept that VGA & DMX acrylic sides to be thicker, since they are influenced each and impact front/rear sides
<adamw_>
3). firstly accumulate then later I should have more thicker rear/video-in side case, so I can see if use a thinner front side can still work with thinner BTNs. Becuase I already found that if I used a thicker rear sides, the feeling of pressing BTNs is also not good. so I put apart it firstly too.
<adamw_>
since here main rc3 boards are also not accumulate to 70pcs now, so we may see the case status later.
<adamw_>
wolfspraul, how do you think that my plans?
<wolfspraul>
he
<wolfspraul>
we need to be careful not to match in such a way that in the end we have a lot of parts that cannot be used for full cases
<adamw_>
btw, some sides case even cant feed into holes of top or bottom sides. I don't think that like let me to sorting those parts firstly. :(
<wolfspraul>
I think roh is fully aware of this, and it should work out to 80 sets in the end
<wolfspraul>
but...
<adamw_>
yup..i also thinking about this.
<wolfspraul>
he didn't do the matching
<adamw_>
but no good idea now. :(
<wolfspraul>
at one point he planned to do the matching and send 80 individually packed sets
<wolfspraul>
but then I guess he didn't do that
<wolfspraul>
so I think don't worry, in the end things will fit
<wolfspraul>
I hope roh can give feedback
<adamw_>
okay
<wolfspraul>
for now - just watch that any cases we assemble and ship out are good (matching)
<adamw_>
i was lucky that sent out two are all good thinner, thanks to my lucky hands. ;-)
<adamw_>
and I measured/scaled their weight is almost the same. ;-)
<wolfspraul>
roh: is there any system or hints adam can use when matching?
<wolfspraul>
he's a bit worried that he will have some number of parts left at the end that cannot fit into full cases at all
<wolfspraul>
I told him you were fully aware of the tolerances already, and we all believe there will be 80 good sets in the end.
<roh>
wolfspraul: not really. i got the buttons with all the 'crap' (leftovers) in 3 big paper bags
<roh>
and the sheets in boxes. (back from lasering)
<roh>
yes there are some parts left.. but thats because i added a few spares in case something doesnt fit as it should
<wolfspraul>
ok so adam's system is just trial and error?
<wolfspraul>
and then hope at the end he's not stuck with parts that cannot fit :-)
<roh>
good question. i think i asked myself that (how to manage the matching) and then ignored it since i did diameter testing before shipping the glued buttons (nothing should be stuck or so) and was sure i sent all/enough fitting ones
<wolfspraul>
ok, fair enough
<wolfspraul>
Adam was just worried, but he's onto the matching task now...
<wolfspraul>
also he took those nice microscope shots :-)
<roh>
:)
<roh>
i did not yet get whats wrong with one of the top lids
<wpwrak>
hmm, a set of 100 mil header footprints next to the buttons would be so nice :)
<lekernel>
wpwrak, what for?
<wpwrak>
for remote-controlling the M1 (for testing)
<kristianpaul>
needs a remote milkymist lab
<wpwrak>
hmm, perhaps i could do all this via jtag. wiring up all the buttons would be messy ...
<kristianpaul>
so you plan emulate end-user interaction as well via jtag?
<wpwrak>
well, i just need to do what's needed for power-cycling
<wpwrak>
not sure yet if jtag is suitable for that
<kristianpaul>
dont think so
<kristianpaul>
even there are mechanical contraints i think
<wpwrak>
huh ? how would mech constraints play into this ?
<kristianpaul>
dunno exclty, just thinking in the DC wave form just before you plug the power cord
<lekernel>
you want to trigger the boot?
<lekernel>
by simulating a press on the middle pushbutton?
<wpwrak>
yup
<kristianpaul>
ah
<lekernel>
jtag is definitely suitable for that
<kristianpaul>
i was thinking in other boot ;)
<wpwrak>
kristianpaul: controlling power is easy. i can do that now :) just electrically switching the buttons might get messy.
<lekernel>
there are many solutions:
<kristianpaul>
yes  i understand now
<lekernel>
1) load soc bitstream from jtag (the system boots as soon as this one gets loaded)
<lekernel>
2) send commands to the FPGA to tell it to load the soc bitstream from its flash (you can simply copy the binary sequence of commands that the standby bitstream sends into the ICAP)
<lekernel>
3) add a feature to the standby bitstream to trigger boot with a user-defined JTAG command
<lekernel>
#1 doesn't test load of standby + soc bitstreams from flash
<lekernel>
#2 doesn't test load of standby bitstream from flash
<lekernel>
#3 tests everything
<lekernel>
but #3 needs flashing a new standby bitstream...
<wpwrak>
lekernel: hmm, i was thinking more of the boundary scan. set the button's i/o cell. but maybe one of these more direct methods is better. hmm.
<lekernel>
yeah, bscan should work too
<wpwrak>
i don't want to get into customizing own bitstream yet. the prerequisites scare me :)
<lekernel>
but I'm not sure if you can toggle a single pin using bscan, without interfering with the others
<lekernel>
if you mess up the SDRAM for example, nothing will work
<wpwrak>
yeah, that would be bad :) lemme see i can find documentation on that ...
<kristianpaul>
hum but i tought bscan need to implement xilinx verilof libraries anyway?
<kristianpaul>
or is it alrey included?
<kristianpaul>
already**
<kristianpaul>
oh,i was wrong :)
<wpwrak>
hmm, doesn't seem to be possible to just pick an individual pad
<wpwrak>
at least not with the regular boundary scan
<lekernel>
#2 shouldn't be too hard to implement
<lekernel>
and you can still check that the FPGA configured itself (i.e. most likely the standby bitstream was loaded correctly) by reading the status register
<lekernel>
just send ffff aa99 5566 3261 ... into the FPGA configuration input register (exposed though JTAG) and it will load the soc from the flash
<wpwrak>
up to and including ..., IPROG, NOP ?
<lekernel>
yes
<lekernel>
and ofc use only one of 0005 (load rescue bitstream) and 0037 (load regular bitstream)
<wpwrak>
kewl. now, the icap ...
<wpwrak>
ah yes, GENERAL_2_C :)
<lekernel>
ICAP is only one of the multiple means you can feed configuration opcodes into the FPGA
<lekernel>
there is a CFG_IN register exposed on JTAG which does the same thing
<wpwrak>
yeah, found it in the manual. instruction 000101 binary
<lekernel>
by the way, similar opcodes also appear in this supposedly super-secret bitstream format. you just have another "load frame data" command that sets site configuration (LUT contents, I/O, ...) and programmable interconnect points.
<lekernel>
the only thing which is actually secret is the detailed format of the frames, but it doesn't seem so hard to figure out...
<wpwrak>
too much information :) i'm trying to connect things ... found the IPROG as well ...
<wpwrak>
ah yes. there's the sequence "Example Bitstream for IPROG through ICAP"
<wpwrak>
funny how different things are called "bitstream"
<lekernel>
it's actually the same thing
<lekernel>
only it doesn't contain load frame data commands
<lekernel>
but only commands that tell the configuration system to fetch more commands from some address in the flash
<wpwrak>
when doing a partial reconfiguration, do you also go through this system ?
<lekernel>
you can try it on the bitstreams generated by ISE :-) but most of it is frame data.
<lekernel>
yes, a partial reconfiguration bitstream is merely a bitstream that doesn't load all the frames
<lekernel>
a "frame" is the smallest unit you can reconfigure in a xilinx FPGA
<wpwrak>
okay. now ... make room in my office somewhere closer to where i have the usb ports .... hmm, tricky ...
<lekernel>
on spartan6 a typical frame consists of a column of 16 tiles, each tile containing 2 slices. a slice is 4 LUTs, 8 flip-flops and sometimes carry logic, distributed RAM, etc.
<wpwrak>
so that's reasonably fine granularity
<lekernel>
some tiles also contain only interconnect resources, and you have special tiles for DSP functions, block RAM, I/O, clocking, etc. special and interconnect tiles do not follow the "column of 16" pattern.
<lekernel>
also, some columns are incomplete, probably when they needed the silicon space for nearby functions. details, details, ... :-)
<wpwrak>
heh :)
<wpwrak>
okay, thanks ! i think i have the general picture. now i need to rearrange my office ...
<mwalle>
lekernel: btw would it be (theoretical) possible to strip down the standby bitstream by removing unneded frames?
<lekernel>
it's not particularly efficient, especially since the automatic placer spreads the logic all over the chip
<mwalle>
(mh maybe distributed..
<mwalle>
ok :)
<lekernel>
constraining the logic into a small region of the chip would probably reduce the bitstream size a lot
<lekernel>
but it doesn't really matter :)
<mwalle>
if you could put sth useful into 128kb, including some method to easily program flash, you could get an unbrickable self contained fpga design
<wpwrak>
is slowly becoming religious ... i mean, if there's no god, where else do cable binders come from ?
<wpwrak>
of course, it's only temporary respite in the endless and hopeless struggle against chaos ...