Action Item #557

Port XimbaRadio

Added by Hammel almost 2 years ago. Updated almost 2 years ago.

Status:In ProgressStart date:23 Oct 2016
Priority:UrgentDue date:
Assignee:Hammel% Done:

80%

Category:-
Target version:PiBox - 0.12.0
Severity:01 - Critical

Description

Either run it with Perl (as it is now) or port the library to C and call from XimbaRadio app.

Associated revisions

Revision 1dd52064
Added by Hammel almost 2 years ago

RM #557: Initial import of pixm, the PiBox XMPCR app.

Revision 1dd52064
Added by Hammel almost 2 years ago

RM #557: Initial import of pixm, the PiBox XMPCR app.

Revision 32d30274
Added by Hammel almost 2 years ago

RM #557: Cleanup packaging.

Revision 32d30274
Added by Hammel almost 2 years ago

RM #557: Cleanup packaging.

Revision 04df8e96
Added by Hammel almost 2 years ago

RM #557: Cleanup icon handling so UI displays correctly on Pi.

Revision 04df8e96
Added by Hammel almost 2 years ago

RM #557: Cleanup icon handling so UI displays correctly on Pi.

Revision eb0c5900
Added by Hammel almost 2 years ago

RM #557: Major cleanup to deal with dropped bytes.

Revision eb0c5900
Added by Hammel almost 2 years ago

RM #557: Major cleanup to deal with dropped bytes.

Revision 190c34b0
Added by Hammel almost 2 years ago

RM #557: Re-enable channel scans after a period of time. This updates the entire category/channel listsing
periodically.

Revision 190c34b0
Added by Hammel almost 2 years ago

RM #557: Re-enable channel scans after a period of time. This updates the entire category/channel listsing
periodically.

Revision 1e7a91d7
Added by Hammel almost 2 years ago

RM #557: Set a maximum retry on getting a response before timing out and returning a failure. This allows the
caller to retry or fail gracefully.

Revision 1e7a91d7
Added by Hammel almost 2 years ago

RM #557: Set a maximum retry on getting a response before timing out and returning a failure. This allows the
caller to retry or fail gracefully.

Revision 67e7b9e5
Added by Hammel over 1 year ago

RM #557: Allow ttyusb ports to be grouped by "nobody" so unprivileged apps can access those
ports.

History

#1 Updated by Hammel almost 2 years ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 10

Some links of interest:

#2 Updated by Hammel almost 2 years ago

  • % Done changed from 10 to 70

This is done though it's not been tested as a package on hardware. But the app works fine on my laptop. I like it better than the old XimbaRadio. The new UI is simpler and matches the UI of VideoFE. Sadly the audio is output over an external audio port, not via the USB. I should be able to hook a Bluetooth transmitter to it, however.

Next up:
  1. Verify packaging
    1. Make sure the required app files are available
  2. Test on hardware
    1. can the RPi Model 2 drive this box? The external hub should be able to.
    2. Does the ttyUSB port come up as expected under PiBox?

#3 Updated by Hammel almost 2 years ago

  • % Done changed from 70 to 80

Packaging cleaned up and now builds correctly.

#4 Updated by Hammel almost 2 years ago

Testing on hardware:
  1. The UI needs to set the labels right justified but not expanded/filled.
  2. The UI needs the text fields for station, etc. expanded and filled.
  3. The UI needs a field to show "device not available" when initialization doesn't work. A button (say "R" for restart/reload) should cause the device init and channelMgr thread to be started again, after the device is setup.
  4. The ttyUSB port is missing.
    1. http://www.sealevel.com/support/article/AA-00524/0/How-to-configure-USB-serial-adapters-in-Linux.html
    2. https://www.kernel.org/doc/Documentation/usb/usb-serial.txt

#5 Updated by Hammel almost 2 years ago

Ugh. More power supply issues. The radio works fine on my laptop but doesn't work on my desktop with an external, powered USB hub. It also doesn't work on the Raspberry Pi either directly connected or connected to the external USB hub. I need to measure USB power to see if this might really be the problem. I can try this: https://www.amazon.com/Centech-USB-Power-Meter/dp/B00DAR4ITE

Here is yet more research on power to USB ports:
  1. https://jarretdyrbye.wordpress.com/2013/12/31/a-diy-power-supply-for-hi-fi-usb-audio-with-your-raspberry-pi/
  2. http://forum.allaboutcircuits.com/threads/stabilizing-a-usb-5v-in-reality-anywhere-from-4-5-to-5-5-power-source-to-a-true-5v-source.117217/
  3. http://plugable.com/2013/07/22/usb-hubs-and-chargers-what-happens-when-you-pull-too-much-power/
  4. http://electronics.stackexchange.com/questions/12935/stability-of-usb-5v-output
  5. http://www.howtogeek.com/228869/how-to-monitor-your-usb-device-power-usage-and-output/

#6 Updated by Hammel almost 2 years ago

Stabilizing power might be possible by placing a big capacitor (100-1000uF perhaps) inline to the power line on the usb connection. Sparkfun has a tutorial on using capacitors. I should also check with Plugable's support, which has info on how they handle power to USB ports.

#7 Updated by Hammel almost 2 years ago

It's now working on the Pi! But there are some tweaks to make.
  1. Update the UI as the channel scan is in progress.
  2. When a rescan is done, rebuild the category list
  3. The /dev/ttyUSB0 port needs to have "other" read perms. But why?
  4. The current channel should be scanned often to update on the UI.

#8 Updated by Hammel almost 2 years ago

  • Project changed from PiBox to pixm
  • Category deleted (04 - Applications)

Also available in: Atom PDF