@ian I begin to like my pk3 at last ) the basic silly debugger of the pk3 is fine for me, basic stepping trace, and locals variables traces are good, of course for the price i paid. it sure be fun to have a better ICD ou ICE but Santa didn't let me with enough money /
Thank all for all those constructive comments ! I found what was the problem , i had to uninstall my current mplabv8.63 and install the cd version, after that i was able to upgrade the bootloader and the firmware of the pickit, and after that reinstall the latest mplabv8.63. i was then able to program the bootloader on my webserver :-)
i received my pickit3 2 day2 ago and i just got few minutes to play with it ... i put header pins on my webserver and now i will try to teach myself how to used the pk3.
any silly howto somewhere ?
ok i tried to build the dsloader... build software isnt the problem, but my mplabv8.63 is jam here
Maybe a full human interface board P , well at least few switches, capacity switch (touch switch), few leds, few potentiometers ...
Maybe a cute CPLD board... I used few time some xilinx xc9572 with pleasure. My prototypes problems were packaging and number of io pins packaging ... It should be better than this P
[quote author="ian"] This is a great investigation, thank you. May I add the image and some of your text tot the wiki for a new serial trigger overview? [/quote]
sure u can ) i think there 's more to do and some quicks to solve tho .
i did some serial tests myself and i found few guidelines ...
sampling at 10k is a little bit over 9600bps sampling at 20k is a little bit over 19200bps
the others sampling freqs are too far from the bps rate for the serial triggers to work. (it seems there no resampling of the capture buffer to match the target uart frequency so only near sampling to uart freq works)
so here what i tried ... buspirate transmitting this message
[":""o"")"] see picture ... chunking the 3 characters in 3 send commands, allows for a bit of time between chars ... instead of [":o)"] i know im lazy i show had try with delay but ...
at 20k sending [":o)"] is catch by the trigger but the uart tool find timing errors and wrong last character at 20k sending [":""o"")"] is catch by the trigger and the uart tool find the good characters with some timing errors
the trigger char was "o" , and the result cursor is place kindof the middle of the character "o" 8N1 so start0 1111011 ( "o" reverse) stop0 -- > 011110110
few bugs tho, if i change sampling freq between trigger scans and uart tool uses, i have to shutdown the software and unplug and replug the OLS board or the trigger will never find a match ... maybe hardware trigger doesn't want to by reconfigure i dont know :-/
As a noob myself i found those steps ^^^^ useful. when you are able to test and download an .hex on the webserver, you ready for the "Hello world" program step. download MPLAB IDE from microchip and compile and run the webserver demo ( i did the silly character and leds demo) ... now it is time to get your C book out the dust , read the few hundred page of doc on the ds33, and write some stuff :-) i am at that point P
i might also consider buying in a near futur buying a pic programmer ( MC pickit3 seems to be ok and not too expensive (any hint on this is welcome)).
im heading to interface the WB with some Zbee modems for some tests ...
btw it could be fun to have a forum to talk about pic programming in general and also applications programming :-)
[quote author="ian"] Thank you so much, it's really nice to have some documentation of the complex (parallel) triggers. I added your output examples, as well as screenshots of the trigger settings for each stage. [/quote]
it looks really Great :-) I forgot to mention "the yellow line region " but you did :-) stages are not exclusive transition state, something can happen between them, so they are not good for protocol validation.
complex trigger can be made of multiple stages triggering in sequences and or in parallel
let say i have a state machine on 4 channels i want to trigger the acq after a reset 0000 AND state 0001 so it will be a 2 stages triggers
first select type - complex
stage1 - mode - parallel arm - immediately i want to detect my reset 0000 right away mask 1111 channel 0 to 3 value 0000 action unchecked so it will arm other stage's trigger
stage2 - mode - parallel arm - On level1 so this stage will be arm after stage 1 has been trig mask 1111 value 0001 action checked - start capture
----------------------
now i want to trig capture at state 0001 OR state 0010 first select type - complex
stage1 - mode - parallel arm - immediately mask 1111 value 0001 action checked - start capture
stage2 - mode - parallel arm - immediately mask 1111 value 0010 action checked - start capture
-------------------------
now i want to trig capture at state 0001 OR state 0010 after a reset 0000 first select type - complex
stage1 - mode - parallel arm - immediately mask 1111 value 0000 action unchecked
stage2 - mode - parallel arm - On level1 mask 1111 value 0001 action checked - start capture
stage3 - mode - parallel arm - On level1 mask 1111 value 0010 action checked - start capture
now, someone knows how to used serial setting ? :-)
[quote author="rsdio"] It could be cheap 6' cables. The USB Specification seems to make a big deal about how uncertified USB cables might cause USB Device failure. On the other hand, the OLS is a prototype device which may not have a perfect USB circuit implementation. Perhaps something about the longer cables pushes a marginal aspect of the circuit past the point of proper operation. Without expensive USB testing equipment, it may not be possible to find out the actual cause of the problem, but I suspect is has nothing to do with the OLS driver (there isn't really an OLS driver anyway - it's just a generic CDC serial device using a standard OS driver). [/quote]
:-) i took the time to make more in deep tests yesterday and found some informations.
the cable is NOT the cause for the problem, i'm sorry for misleading you ...
i switched and checked all motherboard connections i tried all ports and found that the problem occur on my USB port 9 and USB port 10 only my mobo has usb ports numbered from 3 to 10 (1 and 2 seem to be reserved for my firewire ports) all other usb stuff i have around work fine on those ports ...
so first, here what happen when i plug the OLS on port 9 or 10 instead of the dong(low freq) ding(higher freq) and the popup for installing driver if it isn't found, i get dong dong dong and nothing ...
i don't know the usb protocol, but it might be the initial handshaking between the OLS and the pc isn't working. i dont have any tool to check that .... it might be also a bug from my windoze vista box ...
it did hit me the first time, i was using an old 6 feet usb cable on the BusPirate and the 3 feet cable borrow from my usb hub on the OLS. but when i had cables switched i found out that the OLS wasn't reconized by windoze with the 6 feet usb cable... i thought im ordering new usb cables anyway, so i got few new 3 feet and new 6 feet ...
same result again, my windoze vista dont want to load the OLS driver when im using a 6 feet ubs cable but work right away with a 3feet in the same usb port. btw the buspirate work fine at same baud rate in the same port with a 6feet cable... so maybe there is something strange with the OLS driver .... anyway again it work find with all my 3feet usb cable !
probe noise --------------- another well known, i got some noise on unplugged probes sometime, so i decide to ground all unused probes with a wire to ground, no more noise AND no more spaghetti probes !
trigger -------- parallel multichannels work fine . i didn't explore multistage triggering yet, maybe soon :-)