I've got that new compile underway now for the -A9.
Be careful Chip!
I have found Quartus to be be a massive source of stress!!
I've tamed it for our needs. No stress there.
Today has been a really good day. Ever since this whole thing started, my pulse jumped up to about 85. When I was lying in bed last night, my heart went through a funny convolution, like a new signal took over, and afterwards it was beating at 70 beats per minute, like it used to. I wouldn't be surprised if it toggled a few more times, but I think it's finding its way back to how it used to be.
Chip,
Get out of the P2 for a well deserved rest and recouperate!!!
But, the P2 is trying to get out of ME.
Maybe this would be a good time to write some of the instruction documentation. That would be something that can be taken in small chunks, isn't mentally taxing, etc.
USB full-speed/low-speed demo v0.8c.
P2v13 FPGA image is required.
There are now two source files -- the full demo, and a "minimal" version without the verbose descriptor output. This shaves ~9KB off the .obj file.
If you have a 2.4GHz wireless keyboard and mouse combo, and both devices support the HID "boot protocol", you should see the device output on your terminal (Parallax Serial Terminal recommended). The output screen formatting is very minimal, so if both devices are used at the same time, things get messy quickly. But hey, it's just a demo.
On the Prop123-A9 board, pushbutton PB3 can be used to toggle on/off verbose data output to the terminal. The default at startup is off, and the device must be disconnected before the option can be changed.
More improvements have been made in the handling of error conditions, including certain STALL situations. Low-speed keyboards and mice are working very well. Full-speed devices are working better, but can still be a bit finicky. @Rayman, I think your Logitech Mk520 wireless keyboard/mouse should now work.
In the demo's verbose mode, all device/interface base class type IDs defined by the USB-IF are matched to a description string. The same is done for the Subclass and Protocol IDs for the HID and Mass Storage base classes. Example output is in the FS_ThumbDrive.txt file.
The bug in previous versions that would occasionally require an FPGA image reload after something went wrong on the USB should be fixed.
Sorry Chip but V14 appears to be broken.
I'm getting weird Cordic behaviour and possible Hub issues.
I will see if I can narrow it down and be more specific.
No rush.
Sorry Chip but V14 appears to be broken.
I'm getting weird Cordic behaviour and possible Hub issues.
I will see if I can narrow it down and be more specific.
No rush.
Oh, no! I must have not turned the CORDIC back on from my test board compiles. I will start it up again in the morning. Sorry about that. I only tested that it identified properly.
Do you mean V14 -> V14a, or did you mean you now have the 'timings tweaked back into place', with the changes to the bits 3..0 of USB smart pin status ?
Now works with both Logitech mk520 wireless keyboard and mouse combo
and also with Logitech k400 Plus wireless keyboard and touchpad.
This is good to hear!
Only keyboard recognized on wired keyboard and touchpad combo Periboard 515-Plus.
For this one, I'd hazard a guess that the touchpad interface doesn't support boot protocol? My Microsoft Wireless Optical Desktop 4000 supports boot keyboard, but no joy for the mouse.
Going forward, I was planning on moving the serial terminal stuff into its own cog. IMO this would make it easier to integrate the USB stuff into projects like yours. Hopefully, at least for boot protocol keyboard/mouse, we can eventually come up with an interface that gets us closer to "plug and play".
Curious about attach of multiple units.
Could P2 service those on a round robin basis, (eg 500us for 2 USBs, alternating ), or can this best be done using a HUB ?
Going forward, I was planning on moving the serial terminal stuff into its own cog. IMO this would make it easier to integrate the USB stuff into projects like yours. Hopefully, at least for boot protocol keyboard/mouse, we can eventually come up with an interface that gets us closer to "plug and play".
Borrowed a monitor to try this with a touchscreen computer monitor with USB output for the touchscreen.
No joy. It was a longshot, but would have been neat had it worked...
Does the device enumerate? I'm curious as to what the configuration descriptor chain looks like. If you get the time, could you run the most recent USB demo in verbose mode and copy/paste the results to a .txt file? If it's HID compliant, the report descriptors should show how to get the x/y position/velocity and tap data.
Debug & descriptor output to terminal is on.
Mouse data scroll option is on.
Mouse data scroll option is off.
<Full-Speed device connected.>
GetDescriptor(TYPE_DEVICE): Retry limit exceeded, transaction canceled.
<Full-Speed device connected.>
Don't worry about it though, this was just a fun test...
Bummer. It's not even getting out of the starting gate. For full-speed I'm still scratching my head as to why some devices work really well, yet others don't
Comments
I've tamed it for our needs. No stress there.
Today has been a really good day. Ever since this whole thing started, my pulse jumped up to about 85. When I was lying in bed last night, my heart went through a funny convolution, like a new signal took over, and afterwards it was beating at 70 beats per minute, like it used to. I wouldn't be surprised if it toggled a few more times, but I think it's finding its way back to how it used to be.
Maybe this would be a good time to write some of the instruction documentation. That would be something that can be taken in small chunks, isn't mentally taxing, etc.
P2v13 FPGA image is required.
There are now two source files -- the full demo, and a "minimal" version without the verbose descriptor output. This shaves ~9KB off the .obj file.
If you have a 2.4GHz wireless keyboard and mouse combo, and both devices support the HID "boot protocol", you should see the device output on your terminal (Parallax Serial Terminal recommended). The output screen formatting is very minimal, so if both devices are used at the same time, things get messy quickly. But hey, it's just a demo.
On the Prop123-A9 board, pushbutton PB3 can be used to toggle on/off verbose data output to the terminal. The default at startup is off, and the device must be disconnected before the option can be changed.
More improvements have been made in the handling of error conditions, including certain STALL situations. Low-speed keyboards and mice are working very well. Full-speed devices are working better, but can still be a bit finicky. @Rayman, I think your Logitech Mk520 wireless keyboard/mouse should now work.
In the demo's verbose mode, all device/interface base class type IDs defined by the USB-IF are matched to a description string. The same is done for the Subclass and Protocol IDs for the HID and Mass Storage base classes. Example output is in the FS_ThumbDrive.txt file.
The bug in previous versions that would occasionally require an FPGA image reload after something went wrong on the USB should be fixed.
Any and all feedback is welcome. Thanks!
https://drive.google.com/file/d/0B9NbgkdrupkHREpuTGVBcEpOYk0/view?usp=sharing
And documentation (only bits 3..0 of USB smart pin status have changed):
https://docs.google.com/document/d/1MIQjvLVXWSViZQLDT8v8vfgT3tRnf193_fkKyv0oqaU/edit?usp=sharing
Thanks, Chip!
And things should speed up, afterwards, at least a little. It might allow you to pack in one more housekeeping task.
I'm getting weird Cordic behaviour and possible Hub issues.
I will see if I can narrow it down and be more specific.
No rush.
Oh, no! I must have not turned the CORDIC back on from my test board compiles. I will start it up again in the morning. Sorry about that. I only tested that it identified properly.
Can test without it, take your time.
Relax please :cool:
https://drive.google.com/file/d/0B9NbgkdrupkHRVk1emhMUUgyaFE/view?usp=sharing
I tested it out this time and it seems to work fine.
CALLPx,Jxxx and JNxxx instructions all Ok now.
Thanks for checking that.
Can you please remind me whether or not some changes are needed on the assembler in PNut.exe?
Do you mean V14 -> V14a, or did you mean you now have the 'timings tweaked back into place', with the changes to the bits 3..0 of USB smart pin status ?
Now works with both Logitech mk520 wireless keyboard and mouse combo
and also with Logitech k400 Plus wireless keyboard and touchpad.
Only keyboard recognized on wired keyboard and touchpad combo Periboard 515-Plus.
Thanks!
Ray
Going forward, I was planning on moving the serial terminal stuff into its own cog. IMO this would make it easier to integrate the USB stuff into projects like yours. Hopefully, at least for boot protocol keyboard/mouse, we can eventually come up with an interface that gets us closer to "plug and play".
Could P2 service those on a round robin basis, (eg 500us for 2 USBs, alternating ), or can this best be done using a HUB ?
That sounds perfect.
No joy. It was a longshot, but would have been neat had it worked...
Have to try the "USB full-speed/low-speed demo v0.8c." version.
Will try the low footprint version with my GUI code...
Does the device enumerate? I'm curious as to what the configuration descriptor chain looks like. If you get the time, could you run the most recent USB demo in verbose mode and copy/paste the results to a .txt file? If it's HID compliant, the report descriptors should show how to get the x/y position/velocity and tap data.
Gives me this:
Don't worry about it though, this was just a fun test...
Can check model tomorrow...
Annoying thing about it is that people will come by and touch the screen not knowing it's touch sensitive and make it do some random thing...