#qi-hardware IRC log for Tuesday, 2012-10-02

kristianpaulgame changer?00:49
wolfspra1lwpwrak :-)00:51
wolfspra1lhe means fpgatools I would think00:51
wolfspra1lor maybe the pcb etching that I keep procrastinating on? :-)00:52
wolfspra1lfpgatools will be no game changer for sure00:52
wolfspra1lthough the project is really great00:52
wolfspra1l(for me)00:52
wolfspra1lthe more I work on that, the more I value the existing tools, open or closed00:52
wolfspra1lwhich is to be expected00:53
wolfspra1lcan't wait to move forward to the xc7a100, yesterday I started peeking into xc7 documentation :-)00:53
wpwrakyeah, the fpga tools. and if they're not a game change, then something's very wrong in this world :)00:53
wolfspra1lI don't think this is such a binary problem00:53
wolfspra1lmaybe later on the tool can find a niche, maybe00:53
kristianpaulah yes  pcb etching is fun too ;)00:54
wolfspra1lI have to say I start to like the chips more too, what's inside them, things like the mcb, gtp, upcoming adc00:54
wolfspra1lthe zynq00:54
wolfspra1land so on00:54
wolfspra1lxilinx is moving behind vivado 100%00:55
wolfspra1lso ise will be a thing of the past soon00:55
wpwrakthe most important bit may not be the tools themselves but rather what they reveal00:55
wpwrakmaybe someone will just read the code and then hack a synthesis system in haskell00:55
wolfspra1leven for new 7-series designs, ise seems officially 'unsupported'00:55
wolfspra1l(quoting their own xcell publication)00:55
wpwrakdivide yourself and be conquered ;-)00:56
wolfspra1lise had a 15 year life00:56
wolfspra1land maybe that's enough00:56
wolfspra1lso we have to see. 'game changer' doesn't resonate with me00:56
wpwrakfeels as agile as if it didn't have a day more than 150 years on its back ;-)00:56
wolfspra1lif a few more serious people find fpgatools and if it creates any value for them, I will be happy00:57
wolfspra1lhow can you say that without knowing what it does, what requirements they had to meet to get to where they are, or the alternatives?00:57
wpwrakthe fpgatools prove that synthesis can be done (without access to privileged information)00:57
wpwrakthis breaks down one of those "this is impossible" barrieres00:58
wolfspra1lbut I don't think anyone from xilinx/altera or others would have suspected anything else00:58
wpwraklike supersonic flight00:58
wolfspra1l'this is impossible' only in the circles of relatively meaningless and immature babbling00:58
wpwrakonce someone has proven it's possible, things suddenly get a LOT easier00:58
wolfspra1lwe should not underestimate people, but also not overestimate them00:58
wolfspra1lthe world may not be full of werners :-)00:58
wpwrakand your proof is a constructive one, i.e., it also shows how it's done00:58
wolfspra1lone by one00:58
wolfspra1lI'm at 0.1%00:59
wolfspra1lworking on the luts again, actually00:59
wolfspra1lmore cases00:59
wolfspra1lfixed 0, fixed 100:59
wolfspra1land there are luts in a lot of varieties (in the encoding), they are all different depending on whether they sit in the a-d position, or x/l/m slice, or lut6 or lut500:59
wolfspra1letc. etc.00:59
wolfspra1lI brought that stuff exactly to the level I needed for the AND gate, but now for the blinking led I have to take it a bit higher01:00
wpwrakcute ! your "inside an fpga" book will be a bestseller :)01:00
wolfspra1land I can already see the next steps later, because the luts can also be used as rom, ram, shift registers, etc.01:00
kristianpaulwpwrak: book yes ;)!01:00
wolfspra1lkristianpaul: you have read the sources a bit, please let me know if you have any questions01:01
kristianpaulwolfspra1l: yes ram please :) 01:01
wolfspra1lI will probably apply werner's if (model->rc) error handling idea soon01:01
wolfspra1lbecause it cuts down the number of lines of code, which I always like01:01
kristianpaulwolfspra1l: yes i will, i'm reading x6 datasheets again01:01
kristianpaulnow hello world make more sense01:01
wolfspra1land I have to do this soon before the codebase is at 50k lines :-)01:01
wolfspra1lthanks for that werner!01:01
wolfspra1lI just have to get used that the code running throuhg all sorts of functions in an 'error state' is not an ugly thing :-)01:02
wolfspra1lmaybe run around the block twice, cold shower, then I'm ready for the change :-)01:02
wolfspra1lkristianpaul: ram support is a lot of work01:03
wolfspra1lexpect it a little later01:03
wolfspra1lfirst the logic blocks01:03
wolfspra1leven those are just 5% supported now01:03
wolfspra1lsomething like that01:03
wolfspra1lthen bram, macc01:03
kristianpaulsure sure01:03
wolfspra1leach bram device has about 190 pinwires :-)01:03
wolfspra1land a macc slice about 35001:03
wolfspra1lthat's a lot of stuff going in and out that has to be tamed/understood/processed in a meaningful way01:04
kristianpaulwhere you count the pins from the library datasheet?01:04
wolfspra1lwerner is right about one thing though01:04
wolfspra1lI am looking at details, lots of them, thousands01:04
wolfspra1land I may get lost in the details and not see the big picture, i.e. where to apply this today01:04
wolfspra1lso once in a while I should get out of the pile of details and see whether this makes sense to anyone outside01:05
wolfspra1lI will01:05
wpwrakgreat ! you may also find people who can help. once the problem appears less overwhelming, others may feel confident enough to give it a try01:07
wolfspra1lkristianpaul: you find the data in the documentation, dsp48a1 slice etc.01:07
wolfspra1lit just takes a bit of time to put the pieces of the puzzle together in running code as opposed to dozens of pdf files01:07
wpwrakand of course, there are thousands of people out there who spent the best years of their lives studying all the sort of nasty algorithms you'll need to give meaning to the low-level stuff you're digging up.01:08
wolfspra1lthat's why I'm hesitating about the game changer01:09
wolfspra1lyes there is a lot of business in those chips, and applications01:09
wolfspra1lBUT, they are tied to existing workflows, tools, ip/reusable cores, etc. etc.01:09
wolfspra1lif you take it all out, the value drops a lot01:10
wolfspra1lbut for myself I do believe this is the right thing since I don't want to start somewhere inside the existing toolchains01:10
wolfspra1lI just start with the chip naked like a little baby01:10
wolfspra1lthen the milk bottle01:10
wolfspra1lthen take it from there :-)01:10
wolfspra1lI think the zynq chip is something quite interesting01:11
wolfspra1lbtw xilinx acquired a small linux solution provider recently01:11
wolfspra1lthey built embedded linux systems around microblaze01:11
wolfspra1land now they (that small team) will focus on linux solutions around zynq01:12
wolfspra1l'solutions' probably meaning some larger work that works out of the box and can be the starting point for an embedded project01:12
wpwraknot sure about the workflow, but iwouldn't worry about the IP. the existence of Free tools gives meaning to avoiding proprietary IP. before it was more a style choice, since you were tied to the vendor anyway, though the tools.01:12
wpwraknow the proprietary IP becomes the one last thing that binds you. in many cases, there will be no escape. but there are probably lots of cases where just a little effort would be needed to drop these chains as well.01:13
wpwrakand as things grow, abandoning proprietary IP will get easier and easier01:14
wolfspra1lit's not that binary01:16
wolfspra1lfpgas are very specialized chips that find its way into real world products through an entire stack of tools01:16
wolfspra1lI can write a small piece of those tools01:16
wolfspra1lother tools exist as well in the 'free' world01:17
wolfspra1lbut they are not supported, there is no business using those tools01:17
wolfspra1land most importantly - there are not enough *serious* people who drive value into and out of these tools01:17
wolfspra1llet's call it the 'shit' counter01:17
wolfspra1lthe people who talk about free tools will use the s-word in every other sentence01:17
wpwrakwell, let's see how it goes. rome wasn't built in a day :)01:17
wolfspra1lI do not believe that fpgatools alone changes how many business opportunities around fpgas exist or emerge01:18
wpwrakand you'd be surprised by how ridiculous linux looked in its infancy ...01:18
wolfspra1lnot surprised because I didn't hack on it like you did in 1992, but around the same time I did install it on every piece of 80x86 I could get my hands on01:19
wolfspra1lbut trust me on the business thinking, that's why fpgatools alone won't change much imho01:19
wolfspra1lnot fast01:19
wolfspra1lif at all then there must be a whole suite/stack of tools that somehow connects to real world use cases01:19
wolfspra1lincluding debugging, resuable cores, and and01:19
wpwrakoh, it'll be years before this matters in terms of business01:20
wolfspra1lone thing xilinx highlights in vivado is that vivado has all these 'ip management' features01:20
wolfspra1lbecause (I would assume) their customers are dealing with more complex projects that has to integrate ip from various sources into 1 functioning and fully tested and verified product, with a tight schedule01:21
wolfspra1lthat have to01:21
wolfspra1lso the problems they are solving for their customers are x generations ahead/away from that little tech tool/toy I am working on right now01:21
wolfspra1lbut let's see. maybe fpgatools can find a niche over some difference to other tools01:22
wolfspra1lthat difference may emerge over time01:22
wolfspra1lit's not relevant to me as long as I can't even blink a led yet01:22
wpwrakof course. but as the little toy gets stronger, it'll get a viable choice for an increasing number of people. first, perhaps only researchers. then a few crazy folks from industry. then some projects with unusual requirements. and so on.01:23
wolfspra1llet alone have any hope that fpgatools could matter in a project where some customer has to ship a fully working/tested/stable product for motor control or real-time visual analysis in a few months01:23
wpwrakyeah, blinking the led is kinda essential :)01:23
wolfspra1lyes correct01:23
wolfspra1lnow we're on the same page, and that doesn't sound like 'game changer in october' to me ;-)01:23
wolfspra1lblinking led in october, maybe01:24
wolfspra1lI'm working on the carry chains at the moment btw01:45
wolfspra1lneeded for the counter that counts up (to make the led blink :-))01:45
wolfspra1lit's a holiday in china, which I can feel because suddenly so quiet outside01:45
wolfspra1lnormally there is construction all around me, the are building new luxury-whatever in all n/s/e/w directions here... but not now01:46
wolfspra1lI can hear the birds tweeting :-)01:46
wolfspra1lso they DO EXIST :-)01:46
kristianpaulwow :)01:46
wolfspra1lcarry chains with bird inspiration01:46
wolfspra1lthe holiday lasts the entire week01:47
kristianpauli all years listen birds01:47
kristianpaulexcept hollidays ;)01:47
wolfspra1lnot when you have a sledgehammer not far from you :-)01:47
qi-bot[commit] Xiangfu: debian: update email address (master) http://qi-hw.com/p/fped/42a4ade08:05
wpwrakwolfspra1l: (all week) the chinese seem to like their massive holidays :) CNY, this one, ...10:48
antoniodariushHi, I briked my Nanonote and the instructions for hardware USB boot mode don't really work11:46
antoniodariushany advice? 11:46
antoniodariushi was running usbboot -c "nerase 0 4096 0 0" and then things went wrong and it didn't boot in usbboot mode anymore11:47
wpwrakusb booting always works ... eventually :)11:56
wpwrakwhich instructions did you use ?11:56
antoniodariushhi wpwrak 11:56
antoniodariushand also other similar from other websites and irclogs11:57
paul_boddieUSB boot can be very frustrating.12:18
antoniodariushit is12:18
paul_boddieFor the software one, at least, I found that U + reset was often required, rather than U + power.12:19
kyaki say, remove the battery and hold U+power while plugging in the USB cable :)12:20
wpwrakhmm, the role of the POWER button seems to have been misunderstood in these instructions. if the power button does anything, then some code is already running12:22
wpwrakkyak: exactly. that's how it's supposed to work :)12:22
paul_boddieYes, that's why I added a note about U + reset to the Wiki page.12:23
paul_boddieFar too often, U + power didn't do anything.12:23
wpwrakpaul_boddie: U still needs code to be running. so your device can only be lightly bricked is this works12:24
wpwraki mean U in any constellation12:25
paul_boddiewpwrak: Yes, that's why software boot won't be enough in this case.12:25
paul_boddieantoniodariush: Don't know whether bridging the contact and using hardware reset instead of power helps at all.12:25
antoniodariushboth ways don't work12:25
wpwrakwhat always works (except in the presence of a major hardware issue) is: 1) remove battery and USB. 2) sit tight for 30 sec. 3) make the USB BOOT contact. 4) while maintaining the contact, connect USB. 5) release and enjoy usbboot.12:26
wpwrakhw reset is as good as power. BUT ... it's harder to get it right :)12:27
kyakwpwrak: does sw reset do the same as hw reset, but from the sw? :)12:27
paul_boddieSo, it's better to connect the USB cable while bridging the contact instead of already having power and using the power button?12:28
kyakor you get to "different" usbboot from sw?12:28
antoniodariushwpwrak: those instructions don't work in my case, i've been here for hours now12:28
wpwrakfor step 4), this is easier if you connect the cable first on the Ben side, then short USB BOOT, and then plug the cable on the PC side. this way, there's no mechanical action on the side of the ben when plugging in the cable.12:28
wpwrakpaul_boddie: yes. the power button is just another yet without any special hardware function12:29
paul_boddiewpwrak: OK. Maybe the Wiki should be updated to say this. I found a few different descriptions of USB boot, and so I tried to consolidate these on the "USB BOOT mode" page.12:30
wpwrakkyak: it's probably the same (that is, if the sw reset does a proper reset). but of course, if you can command a sw reset, you're probably in good enough shape for the POWER+U approach :)12:30
kyakwpwrak: yes, of course, i was just wondering12:31
wpwrakpaul_boddie: this would be a reasonably accurate set of instructions: http://www.mail-archive.com/discussion@lists.en.qi-hardware.com/msg02191.html12:37
wpwrakpaul_boddie: note the "Iff" before the "U" part :)12:37
wpwrakantoniodariush: if you really get stuck, you may also consider soldering a wire to the USB BOOT contacts. that way, you can be sure that you have a good connection. it's okay to keep USB BOOT connected indefinitely after reset (of course, it means that you'll always end up in usb boot mode)12:41
paul_boddieSure. I was just saying that hardware reset + U works in situations where power + U does not. That led me to believe that the power button isn't enough in many cases.12:41
wpwrakoh, the power button does almost nothing12:41
paul_boddieI guess it's even better to remove all power and use the USB cable to apply power, but I wasn't aware that this would actually perform a reset, although I think I've seen it happen recently.12:43
wpwraka hardware reset is the best, but it can be difficult to command while keeping USB BOOT shorted. power cycling is as effective, provided that you let the machine completely unpowered for ~30 seconds.12:43
wpwrakthere's a trap with power cycling: if it's too short, then you enter some sort of limbo state from which only a reset (or proper power cycle) recovers.12:45
wpwrakhence the 30 seconds rule. (in fact, about 12 seconds should do. but better have a bit of a margin)12:45
wpwraksee also: http://lists.en.qi-hardware.com/pipermail/discussion/2011-March/007432.html12:46
paul_boddieDoes the limbo state involve a ticking sound? I've had that a few times when reflashing didn't work.12:51
paul_boddieShould I also change the hardware boot description on the Wiki page? Currently, it talks about the power button.12:54
wpwrak(ticking sound) i don't remember hearing such a thing. but that doesn't necessarily mean that it doesn't occur, or maybe only on some devices :)13:05
wpwrak(wiki) i think it would be good to avoid mentioning the POWER button. people may be misled to think of it as a power switch, which isn't how it works13:07
paul_boddieSo it should say (1) disconnect everything and wait, (2) bridge the contacts, (3) connect USB?13:11
wpwrak(2) bridge the contacts (and keep them bridged)13:14
wpwrak(4) after a few seconds (5 is plenty), you can de-bridge the contacts13:15
wpwraki.e., i think another common misunderstanding is that USB BOOT merely needs a "pulse" (kinda like reset). so i think some people short it briefly, but it's no longer shorted when powering up, and thus has no effect13:17
wpwrakit's a bit difficult to tell what specifically goes wrong when people run into trouble. they often try something, which doesn't work, then ask for help. then, after a bit of confusion, someone gives correct instructions. then they try some more, and at some point in time, it suddenly works. be we never quite know what changed to make it work.13:18
wpwraksometimes, it may simply be luck, e.g., when using an unreliable method for shorting USB BOOT13:19
wpwrakthat's why i think some redundancy on what may be unexpected parts of the process can't hurt :)13:21
paul_boddieThe problem is that it's difficult to remember what does work, and perhaps the only remedy is to brick a device and then spend lots of time systematically trying to bring it back.13:21
paul_boddieI'm guessing LCM means "screen" in the instructions. I didn't change that before.13:23
antoniodariushi will try again13:24
antoniodariushbut nothing seems to work 13:25
antoniodariushand I bricked two nanonotes in the same procedure so cannot be hardware fault cause hardware USB boot fails in both of them13:26
paul_boddieI've just updated the page, by the way: http://en.qi-hardware.com/wiki/USB_BOOT_mode13:27
antoniodariushpaul_boddie: i'll have a look 13:27
wpwrakantoniodariush: are you sure it doesn't come up in USB boot mode ? i.e., are you checking with lsusb ?13:27
antoniodariushwpwrak: yes lsusb13:27
antoniodariushdoes not come up13:27
virichow do you bridge?13:27
antoniodariushit does with other nanonotes i have13:27
viricmaybe the contacts are a bit dirty13:28
viricor rusty13:28
antoniodariushwith that carbon thing13:28
wpwrakor worn out ;-)13:28
viricwhere is the usbboot code, btw? in a little memory in the processor?13:28
antoniodariushthe last command I ran was  usbboot -c "nerase 0 4096 0 0" 13:29
antoniodariushdoes this mean anything?13:29
wpwrakviric: yes, there's some sort of ROM there13:30
paul_boddieI also want to dispute this page, too: http://en.qi-hardware.com/wiki/Updating_Ben_NanoNote_software . Booting from a microSD card is much easier than reflashing, and it's probably easier to reflash from within Linux on the NanoNote than to use usbboot. I also found that reflash_ben.sh didn't work where usbboot did.13:30
wpwrakantoniodariush: i think that nerase means that you wiped out u-boot. but that's okay. you should be able to recover regardless.13:30
paul_boddieYes, that command apparently erases the entire NAND storage.13:31
wpwrakpaul_boddie: (http://en.qi-hardware.com/wiki/USB_BOOT_mode) looks good to me. maybe add that it may take few tries because shorting USB BOOT with such ad hoc means is inherently unreliable.13:32
wpwrakantoniodariush: if you're confident with a soldering iron, i'd suggest to just add a "hard" bridge for USB BOOT, to get rid of that bit of uncertainty13:33
antoniodariushwpwrak: i might consider that13:34
antoniodariushbrb 13:35
wpwrakof course, the deluxe solution would be to make an idbg :) alas, i think there are only 2-4 bens in existence that have this kind of luxury13:35
wpwrak(idbg is a little pcb with a microcontroller inside the ben that connects to serial console, reset, and usb boot. so you can control all these things via another usb connection. rather convenient ;-)13:36
qi-bot[commit] Werner Almesberger: ircstat/ML: update for 7/2012 through 9/2012 (master) http://qi-hw.com/p/wernermisc/8fc01a113:51
paul_boddieHow do you reset the idbg? Is it dongles all the way down? ;-)14:49
wpwrakidbg is powered from USB, so if i want to reset it, i just unplug its micro-USB plug14:50
wpwrakbut in general it is expected to behave ;-)14:50
wpwrakits firmware has two parts: the boot loader (which uses DFU) and the "application". flashing the boot loader needs in-circuit programming, which is a little tricky. but you can bootstrap it with a ben with UBB. the ben is very nice for such tasks.14:53
wpwrak(i just wish it had a better separation between the internal 3.3 V domain and what goes out to the 8:10 card. it's a bit irritating if powering up an external board causes the ben to reset due to excessive inrush current - just because there are a few caps on the external board.)14:54
paul_boddieI'm currently playing with an Arduino (yes, I know!) with USB Host interface in conjunction with the NanoNote.15:03
wpwrakthat's an odd combination :)15:05
paul_boddieWell, I got the USB Host board a while back but never did anything with it, whereas the NanoNote has USB Peripheral mode, so it makes an obvious companion. :-)15:07
wpwrakif the goal is to use the AVR as an i/o extender or to control some peripherals, you could perhaps just bit-bang SPI on the 8:10 card slot and hook up the AVR that way15:07
wpwrakah ;-)15:07
paul_boddieI guess I would otherwise use a "slimmer" AVR-based board for such experiments, but it's all about the prototyping.15:08
paul_boddieIt also gives me a bit of experience using the Max3421 stuff on the Arduino.15:09
paul_boddieWhich I imagine is somewhat portable to other AVR boards, too.15:09
paul_boddieEither way, I get to practise my C++ a bit.15:11
wpwrakthe real challenge would be do adapt v-usb to be USB host :)15:11
whitequarkpaul_boddie: http://www.obdev.at/products/vusb/index.html15:14
paul_boddieI think I've seen this before! Is the point of it to drive the interface directly using the AVR and thus to avoid a separate controller like the Max3421?15:17
wpwrakor a microcontroller with usb hardware (which generally drives up the chip price considerably)15:18
wpwrakit's very unusual to have an external usb controller (like a max3421) these days15:19
whitequarkwpwrak: it doesn't, if that's not AVR15:19
whitequarke.g. STM32's are cheaper than AVRs and yet way more powerful15:19
whitequarkan entry-level STM32F100RB on a $10 devboard can do USB OTG.15:20
paul_boddieWell, I guess it's like all controllers these days. They become so powerful that they are then potentially more powerful than the designated CPU in a system.15:21
paul_boddieIt's like a board I have with an LCD controller which is some kind of ARM core and must have more on-core storage than the AVR I'm using it with.15:22
whitequarki.e. it can act both as device and host15:22
viricah ok15:22
whitequarkpaul_boddie: stm32 is not a controller, it's basically a simple SoC15:22
paul_boddieThey could have called it USB one-must-go, just for the laughs.15:22
whitequarkthat is, it's not an USB controller or so.15:23
whitequarkit's an ARM core with a bunch of really nice peripherals15:23
paul_boddiewhitequark: Yes, I meant that you get to the point with controllers where you need enough performance and features that you end up using a conventional core, and then you might as well start consolidating functions into a single component.15:23
whitequarkpaul_boddie: I highly doubt that USB in that chip is implemented as a general-purpose CPU core15:24
wpwrakwhitequark: you probably still have a significant price step between STM with and STM without USB (provided that they even make the latter variant)15:24
whitequarkwpwrak: well, there aren't variants of the _same chip_ with and without USB15:26
whitequarkthere is basically a 24MHz chip without USB and a 72MHz chip with USB15:27
whitequarkthe former is 4.79@1, the latter is 7.14@1 at digikey15:27
wpwrakand according to the data sheet on digi-key, the STM32F100RB has no OTG15:27
paul_boddieI wouldn't really know. I imagine that you'd want some special purpose circuitry for various aspects of it, but then convenience dictates that you might as well do some of the solution with an existing core, and that also opens it up to other convenient features that you can offer developers.15:27
whitequarkwpwrak: indeed, I corrected myself. the one with USB is F10315:28
whitequarkpaul_boddie: naw, you already have Verilog. it's way more convenient to design inherently parallel processes without inherently sequental G/P CPU cores15:28
whitequarkwhat takes an interesting challenge to fit on a CPU is done with a trivial line in Verilog, not even talking about the resources used15:29
whitequark(talking about NRZI decoding here)15:29
wpwrakpricy :) still USD 3.50 at volume15:29
paul_boddieIt becomes like the Telit components where the original intention probably started out with just providing GSM connectivity and ending up with something that you can load Python programs onto, thus abandoning any need for a separate CPU, RAM, and thus the traditional "device logic" part of the system.15:29
whitequarkwpwrak: they're way more powerful than AVRs15:29
whitequarksometimes you don't need that, but more often than not you do15:30
wpwrakoh, that's not a challenge :) is there anything SLOWER than AVRs ? ;-)15:30
whitequarkalso, due to a more advanced process, STM32s are significantly more energy efficient, both in sleep and idle :)15:30
whitequark4 cycles/op15:30
whitequarkand the same top freq15:30
paul_boddiewhitequark: Why would you embed an ARM core into an LCD controller, then?15:31
whitequarkpaul_boddie: because parsing commands from an external controller _is_ a sequental process, and quite a complex one15:31
whitequarkit just draws to framebuffer. the framebuffer is then displayed on the matrix with a Verilog-written core.15:31
wpwrakPIGs in the same price range tend to have faster clocks. not sure about clocks/cycle, though.15:31
whitequark*HDL-written, ok15:31
paul_boddieI'm going to have to get into this FPGA game at some point, I just know it!15:32
whitequarkwpwrak: memory banks. who in their right mind would ever voluntarily design or use a chip with memory banks?!15:32
whitequarkI'm convinced that it's a conspiracy to turn programmers insane15:33
whitequarkand drive compiler developers to a rage15:34
wpwrakwhitequark: 8051 holds the record for a messy memory architecture :)15:34
wpwrakM8C isn't too bad either, though. i like the symmetry of their instruction set, though. but they're dead anyway.15:34
whitequarkwpwrak: 8051? I thought it was pretty ancient, but not really arcane15:35
whitequarkcould you elaborate?15:35
wpwrakthey have "internal" and "external" memory15:35
wpwrakof course, anything remotely modern has the "external" memory also inside15:36
wpwrakbut they're still treated differently. may even be different instructions, but i'm not sure about that.15:36
wpwrakluckily, we have compilers to worry about that :)15:36
whitequarkwell, pic8 is so bad that there isn't even a gcc port15:37
whitequarkthere was sdcc, but it died15:37
whitequarkand it didn't produce code which is any good anyway15:37
whitequarkoh, it actually is still alive15:38
wpwrakpic18xxx seems to be reasonably well supported by sdcc15:38
whitequarksdcc actually works15:39
whitequarkthis doesn't change the fact that underlying architecture absolutely sucks.15:39
whitequarkjust imagine doing bitbanging with memory banks15:39
wpwrakone galling problem is that there are no gpl-friendly register definitions. they pick the stuff from microchip's proprietary devel kit making the resulting headers non-Free15:39
wpwrakoh, the memory banks may be the least of your worries ;-)15:40
wpwrakfor real fun, try programming the critter in assembler. the branch instructions are somehow triply-negated. (if this isn't that, then don't skip the next instruction, which will be the thing that actually does what you want to be done. or such.)15:41
wpwraki basically gave up and tried one way and if it didn't work, the other way. that was quicker than processing all the negations in my head.15:42
whitequarkwpwrak: I tried.15:42
whitequarkit was my first MCU ever.15:42
wpwrakPIC12something there :)15:42
whitequarkif I will ever meet someone loosely related to developing PICs15:42
whitequarkand there will happen to be something sharp enough nearly15:43
wpwrak12F629 to be precise. one is still doing important work in my lab :)15:43
whitequarklike a perfectly round steel ball15:43
wpwrakso you'll go nuernberg, but without trial ? :)15:44
whitequarkkind of :)15:44
antoniodariushwpwrak: I got one working finally :) 16:09
antoniodariushby just using the cambonized rubber button16:09
antoniodariushit's quite hard to get it done16:10
wpwrakcongratulations ! :)16:10
paul_boddieWas the described procedure accurate, or do we need to refine it further?16:19
antoniodariushpaul_boddie: the procedure in the wiki is good, but perhaps you can have a paragraph to explain what to do if it doesn't work 16:26
antoniodariushlike clean the USB boot pin16:27
antoniodariushclean the carbonized rubber button 16:27
antoniodariush(which is what I did as well)16:27
paul_boddieOK. What to do if it doesn't work is perhaps the hardest part to write. ;-)16:30
antoniodariushfinally, and the second nanonote is fixed as well16:34
antoniodariushhad to clean the pins and the rubber button thoroughly16:35
antoniodariushi read somewhere that it can be cleaned with some alcohol16:36
antoniodariushdidn't try that but can be useful info for the wiki16:37
antoniodariushthanks a lot for your support guys :) 16:41
paul_boddieI think I read the bit about the alcohol somewhere, too. Must try and find that.16:42
Action: kristianpaul need fo fix its nanonote LCM broken "cable connector" on the board16:42
kristianpauli could glue but..16:42
kristianpauland tape works but get loose..16:42
antoniodariushpaul_boddie: is only mentioned in the IRC logs http://en.qi-hardware.com/irclogs/qi-hardware_2010-09-26.log.html#t09:1316:44
paul_boddieI found it on the Wiki, too, on the Unbrick page.16:44
antoniodariushawh 16:44
paul_boddieIt's now mentioned on the USB BOOT page.16:45
antoniodariushpaul_boddie: I tried the unbrick page of the wiki, at that point I've almost gave up heheh16:47
antoniodariushbacause is a bit confusing16:47
wpwrakah, mild detergent. so i guess boiling concentrated sulphuric acid is out :)16:49
antoniodariushbacause there is the possibility that nothing happens when the Power button is pressed but u can load the USB BOOT, in my case I could not even load the USB boot16:50
wpwrakalcohol is pretty much THE universal solvent/cleaner for electronics. it's safe with virtually everything.16:50
antoniodariushso what is the definition of "bricked"? :)16:50
viricwpwrak: unless if it's very hot :)16:50
wpwrakviric: mulled wine ? ;-)16:51
viricno no :) hot electronics heeh16:51
viricas for electronic contacts, I found that a pencil eraser cleans very well too16:52
wpwrakah :) well, up to some point, alcohol can act as a coolant, too. beyond that point, though, it has the opposite effect16:52
paul_boddieThere's quite a range from mild detergents to concentrated sulphuric acid, though.16:52
viricwpwrak: exactly16:52
wpwrakregarding what to do when it doesn't work. i guess words of encouragement are in order. like "don't give up". or "trust our instructions. we know what you're doing."16:54
paul_boddiewpwrak: An opportunity for you to make a nice video tutorial?16:55
wpwrakperhaps not ;-)16:55
wpwrakmy bens boot just fine. and the one that does get an unusual amount of abuse from time to time has idbg installed :)16:56
wpwrakconsidering all the unbricking sessions we've had here already (must be dozens by now), it's always persistence that finally wins the day16:57
wpwrakwhat basically happens is that the number of tries needed to succeed tends to greatly exceed what people expect before feeling certain that the device is dead16:59
wpwrakit's a bit like a medical doctor having a patient die on them, all the resuscitation attempts failing, then the doctor going back home, getting a good night's sleep, then coming back the next day, and, after some more hours of seemingly futile if not crazy work, finally bringing the corpse back to life.17:01
wpwrak(and making a full recovery, living happily ever after, etc.)17:03
whitequarkcheck out these lithium batteries20:16
--- Wed Oct 3 201200:00

Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!