Android OS Forum banner
61 - 80 of 81 Posts

·
Banned
Joined
·
36 Posts
no, I was going to use the Newsmy N3001 unit with the HD tuner, but I cannot do it in a clean way so I am skipping the HD tuner for now

still on Kitkat
 

·
Registered
Joined
·
66 Posts
Discussion Starter · #62 ·
I am working on updating the HD Tuner App with the FTDI driver builtin, so wouldn't need root or a kernel w/ the usbserial driver compiled in.

Also working on a very special update to add more functionality, but I want to demo screenshots before I reveal it!
 

·
Registered
Joined
·
9 Posts
First pic of new functionality coming soon :grin:
Hi b0bd, I'd really appreciate it if you could put the source for this on your github. I think a lot of people, in particular myself, would like to be able to customize it as well as contribute to development. I can't see this being a problem, since it doesn't look like you are commercializing the software... so open source can only make it easier *for you*.

Also I noticed you talking about building a custom radio in post 3... In addition to the DMHD1000, I will definitely be doing that as well. Have you looked at the si4737 chip though? It does AM, FM, and weatherband. They also have some more chips in the si47xx/48xx family that can do HD and other things. I'm skipping the arduino part of it though, since I'm embedding an IFC6410 board in my dashboard, and it has a pretty awesome array of GPIO/I2C/I2S/SPI ports that can be hooked up to directly.
 

·
Registered
Joined
·
11 Posts
I looked into spirit but it doesn't seem like there is any hope of it being compatible with the Nexus 7.

b0bd, is your new app running okay on lollipop?
 

·
Registered
Joined
·
9 Posts
I looked into spirit but it doesn't seem like there is any hope of it being compatible with the Nexus 7.

b0bd, is your new app running okay on lollipop?
Do you understand what "open source" means? It means that YOU can make it compatible, all by yourself. No depending on the original author to add support for anything.
 

·
Registered
Joined
·
11 Posts
From what I have read, spirit depends on taping into the FM capabilities of the chipset. From the pages I've read (admittedly not all of them in the thread) all but one Nexus device are grounded in a way that makes it impossible for spirit to function properly. I always thought open source referred to software but I guess someone with the know how could make the hardware compatible, all by themselves.
 

·
Registered
Joined
·
9 Posts
From what I have read, spirit depends on taping into the FM capabilities of the chipset. From the pages I've read (admittedly not all of them in the thread) all but one Nexus device are grounded in a way that makes it impossible for spirit to function properly. I always thought open source referred to software but I guess someone with the know how could make the hardware compatible, all by themselves.
Whether the device physically has a radio that is correctly wired to work or not is irrelevant to the software. OBVIOUSLY IT WON'T WORK IF YOU HAVE NO RADIO OR THE ANTENNA PIN IS GROUNDED. It makes NO DIFFERENCE what software you run in that case. NONE WILL WORK.
 

·
Registered
Joined
·
11 Posts
Can you clarify the value of Spirit to this install, or any other Nexus 7 head unit?

I'm confused by your suggestion that spirit will be useful.
 

·
Registered
Joined
·
9 Posts
Are you really asking that? It is an OPEN SOURCE RADIO CONTROL APPLICATION. Its applicability is OBVIOUS.

You can run that program (with appropriate modifications, which are possible BECAUSE it is open source) to control ANY radio from ANY device.

It is pretty obvious from lack of OP's presence here, that his little program is dead, so there really are two options;

1) reinvent the wheel and write a NEW program from the ground up,

or

2) make minor/trivial adjustments to a program that *ALREADY EXISTS*.

The difference between (1) and (2) is months of software development, where (2) is a few hours at most.
 

·
Registered
Joined
·
9 Posts
I am revisiting this Tuner for use again.. any new updates from either that have been working on it?
You probably should consider existing android applications as being dead.

The good news though, is that it is pretty trivial to deal with. Turns out that these clowns were just pretending to be really awesome software devs by NOT releasing the source code for their trivial UI that runs someone ELSE's open source work.

http://andy.dynamicbits.com/hdradio/

And more important;

http://halblog.com/hdradiocontroller.html

Now that second link contains the source code for the actual interface library.

Go into the src/ directory, type "make", find that the compile errors out at hdcontrol.cpp:602. Edit that file, and just *comment out* that line. All that line does, is it converts all of the characters you input from the keyboard from upper case into lower case. So simple solution is to just NOT type in anything in upper case. Easy. Now it will compile.

It spits out two useful files;

hdrclib.a -- the hd radio control library, which can be statically linked into a binary (see hdcontrol.cpp for what to include in your own project),

AND

hdrc -- binary executable radio control program. This software runs in the terminal. Edit the config files (in src/hdradio/) to match your serial port, start the application "./hdrc", and you can begin issuing simple commands to control the radio. Things like "volume 100", and "tune 999 fm", and "seekup".

Want to make an application to wrap around that library? VERY easy to do.
 

·
Registered
Joined
·
9 Posts
FWIW: I *have* been, off and on, working on an Android GUI wrapper for that library. The library, though works, is quite poorly written. I've leaned it out a huge amount by dropping features that make absolutely no sense (like storing favorite channels on the radio's internal storage, rather than on the FRIKKIN COMPUTER YOU ARE RUNNING IT ON!!!!!), and stripping it of dependencies that are redundant and stupid, like using a complex data structure like a vector where a 32 byte integer array would be more than adequate. I'm also stripping out its use of a config file, since the whole use of it can be replaced by a single commandline parameter. There are some other things stored in the config file that are really the responsibility of the application *implementing* the library, and not the library itself. I.e., things that SHOULD be stored, in the case of an Android application, in an sqlite database. He's also got some stupid crap in it, like iterating over all the serial devices in /dev and probing them dangerously to see if they respond like an hdradio. Imagine if you're programming a PROM and just want to listen to some radio while its going....

What I'm going to end up with is a bare bones Android application, using the fixed up HDRadioController library via jni. This, I *will* post on github, once I get it to actually work.

I'm mulling over the idea of converting it from C++ to C, which would be much more appropriate, but other parts of it are so poorly written (like the hddefs crap for response type lookup, and processing of RBDS/RDS data) that to really do it well does actually require a bit of a rewrite... and since I'm only using this radio as a stopgap until getting a proper radio circuit working, all that would be wasted. BUT, like I said, I'm going to put it all on github, so anybody feels like continuing the work, they can.
 

·
Registered
Joined
·
9 Posts
Has anybody torn into one of these to figure out just why the hell the things make all that heat? Is it a poor quality power supply converting from car power (ranges from 10-15 vdc) down to logic? There shouldn't be ANYTHING in a radio that draws a significant current. 10 mA max, which is not enough to warm a big steel box up enough that you could feel it. And something in there has a really solid sounding CLICK when it is turned on and off, likely a relay, which implies a pretty serious current, since you can buy an 8 amp power mosfet for less than a relay.
 

·
Registered
Joined
·
9 Posts
Well, just in case anybody is still interested in this....

https://github.com/lbdroid/rabidbeaver_radio

This is a *NATIVE* project. It requires NDK for access to the library that controls the radio. That library is a fixed up version of the one I mentioned two posts above.

It ALSO (currently) will require root access to set the permissions on /dev/ttyUSB0 to 666.

This permission change has to be done *manually*. The application won't even try to set it.

If I find anybody distributing BINARIES of this before I say that the project is ready for general consumption, I will kill the project.

I'm not going to help you figure out how to compile it. If you can't figure that out, you won't be able to contribute anything that will be useful at this stage in the project development, and therefore have no use for the project to begin with.

IT IS ROUGHED IN, FUNCTIONAL, BUT BUGGY AND HACKISH. Needs work before "regular users" should attempt.
 

·
Registered
Joined
·
1 Posts
I am very interested in this app, but unfortunately my developer skills only go as far as rooting a device. I would be willing to buy the required hardware and test this app to help with the development. I can send crash reports and any other feedback that could be helpful. I have a nexus 7 in my dash already that is rooted. I could begin working with this app as soon I order and receive the hardware tuner.
 

·
Banned
Joined
·
36 Posts
How well is your code working.. Still wanting something like this, I need to start doing more reading to understand the code better..

Quick question, how do you determine of the station is FM or HD? then how do you move within HD sub channels?
 

·
Registered
Joined
·
2 Posts
will this project become reality?

as above, would love to incorporate the directed hd am/fm tuner into my nexus 7 install,

anything gotta beat the real poor signal of my current sdr dongle

heres hoping

regards
 
61 - 80 of 81 Posts
Top