yashsingh1/xdaforums huggingface dataset:
[Spirit FM] mikereidis:
It's usually not about saving 1 cent* or so for US carriers. It's about big profits selling data plans for streaming.

*More for dev and testing time, and perhaps patent payments, but if spread over millions of phones, it's not so bad.
[Spirit FM] mikereidis:
I've known them inside and out for 2 years. ;)

The 2nd doesn't help. The 1st is the only public "documentation" on Qualcomm FM.
[Spirit FM] mikereidis:
I've closed the Spirit2 thread, for now at least.

Please specify Spirit2 for Spirit2 issues, or Spirit1 for Spirit1 of course.

Thanks. :)
[Spirit FM] mikereidis:
0628 test releases of Spirit1 and Spirit2 are in the beta channel on Play.

Email me mikereidis@gmail.com if you need a copy to test.

Spirit1:

- LG G2 audio. Many fixes. May or may not work on non-CM AOSP ROMs now. I can't test Mahdi because I can't get Mahdi loaded.

- Bluedroid BT Shim addon.d recovery restore script for Broadcom (DHD/One/G2/etc).

- Audio-> Method renaming.

- Sony QC Transmit ALSA commands added.

Spirit2:

- LG G2 fixes. May work on Mahdi and other AOSP ROMs now. Not sure yet as I can't get Mahdi running.

- Sony = Internal Antenna pin. More Sony's work now ?

- Re-enable RSSI polling.

- Code 46 = Remove BT shim. Can fix BT on a few devices.

- Speaker mode volume for some. More speaker mode fixes coming.

- HTC One Mini -> One. One Mini reported working with One settings, so auto detect One Mini as One now.
[Spirit FM] mikereidis:
Sony Zperia Z with CM confirmed working with this Spirit test release. :)

LG G2 ROMs/kernels such as Mahdi still not working. I'm looking at kernel patches to fix. Hopefully.
[Spirit FM] mikereidis:
Happy Canada Day to all Canadians, Canadians at heart, neighbours and "wisher wells". :)

Today is our nations 147th birthday, and we fill it with Maple Leaves, reasonably modest patriotism, measured fireworks, good food, good beer and "what have you". ;)

In honour, I'll take a day's email break and try to forget the last week full of doctors appointments, ultrasound, colonoscopy LOL, and the scrambling when the refrigerator dies again in 31 celsius heat and 40 celcius humidex...

Now I'm off to jam our puny window air conditioner in and swear to get central air installed before the new year.

Cheers ! :)

...Ooh, page 799...
[Spirit FM] ~Silver:
How should I configure my Xperia SP? I tried in CM11 and it seemed that it worked, but I couldn't hear anything even with my headphones. Also it appeared this message: Sr oem.

I need help please. Thank you! Sorry for my bad English.
[Spirit FM] dz-015:
Sony Xperia Z1 Compact - Some Minor Issues

Hi Mike!

Loving the new Spirit2 and glad to help with testing however I can.

I've noticed I get quite a lot of audio drop-outs and static bursts with Spirit2 compared with the stock Sony FM radio. I'm using the same headphones. If I can send you any logs or anything, please let me know.

Apart from that, I'm loving the new UI.

Kind regards,

DZ
[Spirit FM] mervluk:
Might be worth trying to increase the minimum cpu speed to 594 or even 702. This virtually eliminated it for me without too adverse effect on battery use.

Might I suppose be cured if you can get on the invitation-only beta channel where I gather there's a newer version of Spirit2 that uses the correct Sony internal pin (see above). Sadly for the rest of us more recent Sony owners it's mend-and-make-do, as Mike doesn't make enough money from us (as he constantly tells us lol). Unfortunately I persist with what I shouldn't as Spirit gets much better sound quality it seems working with Viper/ProSonicJ (and even without them) than the stock fm (which doesn't, and seems weaker to me). It's all personal opinion. And just isn't in the right Spirit!!
[Spirit FM] balam111:
Please help wih note 3

Hello Mikereidis, I'm afraid I did something wrong which seems to have broken my Bluetooth. I have a rooted Note3 (SM-9005, standard ROM) and thought I'd test your Spirit 2 app on it, cause it is a real shame the Note 3 doesn't have FM.

BAD MISTAKE! The app didn't work and my Bluetooth is now broken!

I am unsure what to do now. Could you please suggest a solution?

Thanks
[Spirit FM] ddhernandez:
Someone knows if Spirit FM works on LG Optimus G E987? Thx!
[Spirit FM] ffxx68:
Thanks a lot for sending out latest version.. I'm testing that... but after fixing the missing SU root acces, I'm now having a dfferent problem:

Fm:BC2 Su:1 Bt:0 Ht:1

In logcat, 'm getting a number of exceptions like these:

D/fm_hrdw ( 3867): uart_start open uart: /dev/ttyS1
D/fm_hrdw ( 3867): uart_init baud:
D/fm_hrdw ( 3867): uart_baudrate_get termios_osp: 13 termios_isp: 13
D/fm_hrdw ( 3867): uart_baudrate_get: 9600
D/fm_hrdw ( 3867): baudrate_set: 115200
D/fm_hrdw ( 3867): reset_start
E/fm_hrdw ( 3867): uart_start reset_start error @ 115200
D/fm_hrdw ( 3867): uart_init baud:
D/fm_hrdw ( 3867): uart_baudrate_get termios_osp: 4098 termios_isp: 4098
D/fm_hrdw ( 3867): uart_baudrate_get: 115200
D/fm_hrdw ( 3867): baudrate_set: 3000000
D/fm_hrdw ( 3867): reset_start
E/fm_hrdw ( 3867): uart_start reset_start error @ 3000000
D/fm_hrdw ( 3867): uart_init baud:
D/fm_hrdw ( 3867): uart_baudrate_get termios_osp: 4109 termios_isp: 4109
D/fm_hrdw ( 3867): uart_baudrate_get: 3000000
D/fm_hrdw ( 3867): baudrate_set: 9600
D/fm_hrdw ( 3867): reset_start
E/fm_hrdw ( 3867): uart_start reset_start error @ 9600

(complete logcat fragment at: http://pastebin.com/v3ch4VHu )

UART mode is the one I was using here. I tried with other HCI access modes, but final result is similar (haven't compared logcat yet...)

Any idea what I could still be missing here?

thanks in advance

Fabio
[Spirit FM] Bruce1988:
Worked very fine with this CM11 based ROM for S3. Very thanks for dev!
[Spirit FM] amtomio2004:
G2/Mahdi

Any news with G2/Mahdi?

Or G2/Slimkat?
[Spirit FM] mikereidis:
I tried SlimKat recently and it was working on my LS980, and others reported success: Slim-ls980-4.4.3.build.5.9-WEEKLY-5009.zip

I posted on Mahdi thread and another kernel thread June 30, but I've been away from XDA since July 1 and didn't see a reply at that point.

Kernel mods have to be done to the kernel ALSA driver, and hopefully that will make it work. Might be harder than that though. Merely poking the GPIO wasn't enough. dr87 seemed amenable to mods that still allowed the much better (except no FM) Nexus drivers to be used.

I'll put some time into that ASAP. But as usual, various personal issues keep popping up, like dying refrigerators, LOL.
[Spirit FM] mikereidis:
Sorry about that. :(

Spirit2 used to be picky about ROM device names, but too many ROM devs used non-standard names, and a result was that the last ditch assumption was a Broadcom FM/combo chip, which requires a "Bluetooth Shim HAL" for BT on operation.

The latest Spirit2 test releases have a special code "46" to remove this shim, that can be entered just like a manual entry for frequency. IE tap the frequency button, enter 46 and press OK.

You can email for a copy, or do something like the following from "adb shell":

su
mount -o remount,rw -t ext4 /system
mv /system/lib/libbt-hcio.so /system/lib/libbt-hci.so
rm /system/addon.d/99-spirit.sh
mount -o remount,ro -t ext4 /system

If you were running a flashable ROM, you should also be able to re-flash the ROM. No wipe would be needed or wanted. Might reset a few things though.
[Spirit FM] mikereidis:
Send me a debug log, Tap the frequency button, enter the number 7 and tap "OK". After 20 seconds or so, press Send from your email client.

There are different values of Debug->FM Chip to try, (QC V4L...) and Audio-> Method, such as "Digital QCOM...".
[Spirit FM] mikereidis:
:)

We need to tune the sample rate and buffer size, for a start. Not possible on Spirit2 yet, for Sony it's fixed at 44100 (and should probably be 48000 ?) and 320 byte buffers which is too small.

If you don't have Spirit1, email me for a copy. In Spirit1, set AF-> Period to 3840 and restart Spirit. Hopefully dropouts will be gone and audio won't go crazy. Can also try 1024, 2048, 1920 etc. Sample rate can also be changed to 48000 at Digital-> Sample Rate.
[Spirit FM] mikereidis:
:)

I like to think I'll "get there" with Sony, eventually...

But, yeah, Spirit1 Sony sales the last 12 months were about 3.5% (same as LG), compared with Samsung at 85% and HTC at 17%. And AFAIK, Spirit1 works on all recent Sony's that Spirit2 CAN work on. Spirit2 a bit better at 4.5%, which is good considering that most Sony's haven't worked so far, latest test fix notwithstanding.
[Spirit FM] mikereidis:
Only on the very tiny number of OG's that came with a stock FM app. So, no, I think.
[Spirit FM] mikereidis:
No, I give up. I don't know how to make it work.
[Spirit FM] ffxx68:
EDIT - Using "Bluedroid shim" as HCI access mode I managed to get some non-zero RRSI!

Unfortunately, audio setup seems to be my problem now.

I read that I should try every single audio option, to find the correct one (if any), but since I have source code of the AOSP I could match to the proper one, if I knew how to determine that (except device model, of course).

Could you provide some technical reference, with respect to the different available options? What do they refer to? HW differences, kernel options, drivers, or what?

BTW - My device has a RealTek ALC 5621 audio mixer, and FM audio output from BCM 4329 is routed to IN_L and IN_R input pins... JB default audio mixer doesn't control that mixer input... How do the other devices configured in your app work (one, as an example, might be enough to understand)?

I'm just too curious about what's "behind the curtains..." and I'd love to make this app work! Donation to come...

thanks again

Fabio
[Spirit FM] LenAsh:
For info - Got hold of a Stock International (UK) One M8 for a real song. The M7 had an appalling FM Radio (Broadcom) so with the M8 having the Qualcomm hardware, I expected the FM performance to be superior.

However, unlike Sony's REALLY good FM sensitivity on Qualcomm's SoC (Z/ZL), the M8 is garbage. Static, static and more static. No idea why. I haven't rooted the M8, so Spirit isn't an option... currently. Not that I expect any improvement, sensitivity-wise.

Perhaps the LG G2's Broadcom hardware isn't too bad after all..!
[Spirit FM] mervluk:
I hope so because I've concluded the Sony fm hardware is really good. Spirit 2 also seems to work well with android audio mods, and at best I can get near hi-fi quality on decent headphones. A joy to listen and knocks spots off many compressed digital streams. I just wish android audio could be consistent but that's half the challenge!
[Spirit FM] ~Silver:
I've sent you an email with the debug log. In case you have not received the email yet, I uploaded the debug log to my Drive's account:

https://drive.google.com/file/d/0B35PXS08Ab9COFpYbkR3d3ZBNzN1cW11WEc1RzBSbUdsZFJV/edit?usp=sharing

Sorry for my bad english :P
[Spirit FM] daoskar:
How to use this app on Samsung Galaxy S2 Plus GT-I9105P ??
[Spirit FM] siofont:
issue on htc one s with cyanogenmod 11

Hi.+

first of all, I apologize if this has been asked before. I've done some searches, but I couldn't find info about this kind of problem.

I have read in this forum about issues with CM11 roms.

I downloaded and installed Spirit 2 from Google Play. The app starts, ask for SU permissions, but it looks as if it's in a permanent "starting state" (I don't know if this the best way to explain it). The only buttons responding are 'stop' (message appears between 2 upper arrow buttons: 'files init' and a system message "admin access allowed to .Spirit 2), 'EQ' (popup: 'spirit 2 2014_04_14', 'select EQ...') and 'volume' (system volume popup appears).

Every other thing is frozen and non responding, especially the central big button.

No change on this behaviour when I try to change options on the 2nd screen (UI, band..)

Is there anything I can do have this app working?

As a test, I installed Spirit 1, but things were very similar.

My device is an HTC One S, unlocked and rooted, using a CyanogenMod 11 rom (android 4.4.2).

Thank you in advance for your attention.
[Spirit FM] marcioafoliveira:
I installed the Free version of Spirit on my HTC One S (w/ Android 4.3) but no sound.

What I have to do? :/
[Spirit FM] mikereidis:
Update to v2.0.7

Not as extensively tested as previous releases. If v2.0.6 works well for you, you might hold off on upgrading.

- Mute and power off should shut down all audio paths to prevent low volume noise.

- Some fixes to avoid noises at power up.

- When radio power is turned off, volume control should revert to default, likely ringer volume.

- Improved frequency control at limits and with some regional bands.

---------------------

AFAICT the anticipation level is highest for RDS on Broadcom chip phones.

So if you all can bear with the more minor issues for now, I'll get to RDS and will hopefully have that working real soon.

But please keep reporting all issues, desires and concerns. If Bluetooth auto-off is important to you, let me know...

Thanks !

EDIT: I have RDS more or less working on Broadcom ! I was able to re-use most of my TI RDS code; raw RDS is more or less generic.

Still some issues; I'll try to fix them and will publish v2.0.8 ASAP.

Now to set some expectations.

RDS is a finicky beast. Imperfect signal conditions result in errors. Unlike Internet packets, the receiver can't request re-transmission. So it must wait for a repeated packet.

Dealing with this is very tricky. The algorithms chosen can have a major effect on the results. There is a tradeoff between speed of updates and accuracy. Results COULD be shown as they come in, but will likely look messed up due to multiple messages out of order and the vagaries of the various RDS encoders stations use.

Also, my code probably doesn't handle foreign (to English) language characters well at this time.
[Spirit FM] mikereidis:
https://market.android.com/details?id=com.mikersmicros.fm

v2.0.8 should be visible in the next hour or so:

- Not as extensively tested as previous releases. If v2.0.6 or v2.0.7 works well for you, you might hold off on upgrading. (It's a shame Android Market doesn't support rollbacks, but some apps, like "File Expert" can backup apps.)

- First draft, experimental, alpha test RDS support for Broadcom FM chips. Please note that RDS is inherently error prone. Adjust antenna for best audio; signal strength alone does not produce low error rates. "adb logcat" will give an indication of your error rate.

FYI, I WILL be producing a premium, pay version of this app later this month. If I can't produce at least a meagre income, these 90+ hour work weeks will soon be over.

There will always be a free version, but customer feature/device/support requests will be given priority, and the free version will have fewer features, and perhaps ads too.

Today is Sunday; time to spend some time with the wife and children who haven't seen me much lately. :)
[Spirit FM] jopa1001:
Installed last version. RDS seems to work now in tattoo. It can now scan for stations and it works.

Also them static noise after turn off is not present any more.

One more suggestion: could you manage to put the station name in the saved presets automatically? You already gave us the option to do it manually, but it would be a nice thing together with automatic listing of all stations detected.

Thanks for your hard work! And enjoy whats left of the weekend
[Spirit FM] MonacoHias:
Hi Mike, congratulations! In v2.0.8 RDS is working fine now on the Desire (with AOSP ROM). :D:D

Keep up your great app.

And again - I say thanks from Munich. A bit late, but: enjoy family sunday ;)
[Spirit FM] cos68:
Amazing. I just installed the new version on both my HTC Desire and my LG GT540 and the RDS seems to be working fine on both. I see the name of the station, so this seems like a very good Alpha version.

Things like program type (PTY) and radio text (RT) would make it even more amazing, but who knows, it might come in the future.

Well, once again thanks for your program. Making a paid version in the Market seems very reasonable, I think. I will for sure buy it.

Hope you have a nice Sunday away from the computer.
[Spirit FM] 4silvertooth:
How difficult it would be to record FM.
[Spirit FM] Victorino86:
Not sure what you meant, are you talking about the three volume lines of: ringtone, notification, alarm?

'Cause it didn't work...

Installing the update asap, just having some issues with a kernel :D
[Spirit FM] mikereidis:
Hmmm, AFAIK, the Tattoo (and Click) use the TI chip, so RDS should have been working for you previously. Oh well, glad it's working for you anyway.

Yes, the code is actually setup to use station name in the presets, when available. I just have to enable a few things and test. Mapping the 16 bit "Program IDs" to call letters or whatever can be a bit tricky sometimes though, but we'll see,

Ideally of course, one button would scan for all stations (or all stations with specified program type) and set all presets. That feature will come.
[Spirit FM] mikereidis:
Wonderful ! :) Where do you get the AOSP ROM from ?

Unfortunately my own testing today indicates the Broadcom scanning is broken with the RDS code addition. It finds the next station but the Dialog never goes away, and when you hit "Cancel" it reverts to the original station (as designed when scanning is canceled or otherwise fails.

Also, I think presets may be lost when updating to latest version.

I'll get these issues fixed later tonight.
[Spirit FM] mikereidis:
Yes, install the update. It should fix the issue (I hope). Now when radio power goes of the volume buttons should revert to the default (likely ringer volume).

I WAS talking about those 3 (or 4) Androd system volume controls. The ringer volume there SHOULD have worked around this problem.
[Spirit FM] mikereidis:
Somewhere between very difficult and impossible I'm afraid.

If you tried earlier versions you may have noticed a record option. I was able to record from the microphone, but while doing so the FM audio switched off.

Basically, the hardware has to support this or it is impossible. And since no phone offers this with the stock FM app (AFAIK), I think it's unlikely the hardware was designed to allow this.

Even with hardware support, the Android framework/libraries have to support the audio routing combinations required. Although it is possible that some hack is possible on a device with root access, even without ROM support.

But I should never say never. The above mostly assumes the need for an analog audio path. A more purely digital solution might be possible.

I would VERY much like the ability to record. This would also allow Tivo type pausing, and would open a door to other outputs like Bluetooth headsets (although BT might be possible with audio never leaving the FM/BT chip).

It's possible some hardware hacks could allow recording. On HTC phones a special USB loopback plug could be built, or one connecting headset jack to USB plug.

I'll be keeping my eyes open to opportunities to add record functionality, but for now, the analog playback audio routing issues are challenging enough.
[Spirit FM] Quinny899:
The newest version force closes on my GT540, but the version in the first post doesn't. Any idea why and how to fix it?

CM7 2.3.4

Could some one post the some of the versions between the first post & now?
[Spirit FM] MonacoHias:
I'm on the latest Oxygen 2.1.2 ROM (link in my signature).

For me the scanning works, but I haven't checked the next station issue. I will test it tomorrow and then I will report the results back to you.
[Spirit FM] mikereidis:
It's possible this is due to the added RDS support. This makes the app more CPU intensive which could cause issues.

The first post has v2.0.2. Could you try v2.0.6 at this link:

Links removed

Thanks !
[Spirit FM] cos68:
I do not know, but it is strange because I am also using CM7 7.0.3 (Android 2.3.4) on my GT540 and I haven't got that kind of problem with the newest version.
[Spirit FM] Quinny899:
Did you install it without others or not?

Edit: nevermind. Works now. Don't know what went wrong. Thanks all.
[Spirit FM] MonacoHias:
Hmm - you are making a great FM RDS radio app. But is recording from FM really usefull? With all these chirping and drop outs on analog signal? I think you should continue to give us the best ever FM RDS Radio app (which it is already IMHO :D).

Recording makes much more sense with internet streaming radio via WLAN / 3G - I'm on it with my PC, Winamp + Streamripper (TuenIn Radio w. my Desire as well, but no recording).

EDIT: I know, succeeding in the android market without lots of features is not easy. But its worth a try ;).
[Spirit FM] mikereidis:
PTY and RT are there already. Some stations don't transmit PTY (or RT or whatever they please). RT is the longest data type at 64 bytes, and the code needs to see the same string twice to consider it valid and display it. If you have a high RDS error rate, or the station changes RT too often, or their encoder is funky, you may never see RT.

RDS locations in app:

PI : At left below RSSI (signal strenth bars) and above frequency down button.

PT: At same height as PI but on right side below where the "Stereo" indicator was in prior releases.

PS: Top middle between RSSI and "Stereo" indicator,

RT: 3 lines below frequency and above preset section.

Here's the breakdown of RDS support:

PI : Program ID : A number from 0 to 65535 that should uniquely identify the station, at least within the continent. In the US and sometimes Canada and Mexico, this can be mapped to a call sign or other identifier. Should almost never change for a given station, but sometimes might during switches from local to or from network programming.

PT: Program Type: A number from 1 to 31 that may identify the genre, eg "News" or "Rock" etc. Mapped differently in North America (RBDS) vs elsewhere (RDS). Generally never changes for a given station.

PS: 8 characters that can contain whatever the station wants. Sometimes is static/unchanging, but can also be like a marquee/billboard.

RT: Like PS, but a variable length string of up to 64 characters.

RT and PS are often used to show station slogans or artist and song names. Sometimes weather forecasts are shown. A station can transmit almost anything they want and that their RDS encoder allows.

There are several other RDS data items that could be decoded but the 4 above are the basics that most stations support. The code supports the Time function, but only via "adb logcat" at present.

Traffic information might be a useful future addition.
[Spirit FM] cos68:
Well, I installed the first version 2.0.2 and have been updating whenever a new version appeared, if that's what you mean. I am currently running 2.0.8 and RDS seems to be working now as well.
[Spirit FM] mikereidis:
Signal degradation is less of a problem with strong signals and a stationary device.-

But due to IMO the virtually insurmountable technical challenges of making FM recording work, I am unlikely to add it anytime soon. Even if I got it working on one or some phones with much work, many other phones would likely not have this feature.

But I've read MANY threads where this subject was brought up and considered a useful feature. Many people, especially the less technical, still listen to airwave radio, instead of MP3/audio players or streaming stations.

If they get a phone call, they may want to pause the music or talk show etc. If they want to play a favourite song or show for a friend, they could do so. They many never download a song and may not know how, nor want to learn. A simple record button would be wonderful for them, especially if it could break up the songs and automatically title them from RDS data.

>EDIT: I know, succeeding in the android market without lots of features is not easy. But its worth a try .

EDIT: Yes, but I think not too much of an issue right now due to relatively few competitors.

My greatest desire right now is to support as many popular devices as possible, especially those running stock ROMs (the majority). But features like RDS could put my app ahead of stock apps like the one from HTC.