Академический Документы
Профессиональный Документы
Культура Документы
1. Get this working with stereo. This will involve manufacturing the stereo
pilot tone and difference signal, and then combining it with the mono audio,
and finding some way to output samples fast enough to keep all your new info
below the nyquist rate. Hence you'll need to output this stuff at around
100KHz.
2. Get this working with CPU use < 10%. This will probably involve serious
hackery of the DMA hardware. Your choice if you try to do that (in an unsafe
way) from the existing userspace program, or if you're going to make a kernel
mode driver so you can pin buffers in memory and use interrupts. When you
have the DMA working, you have the (possibly unsolvable) challenge of
trying to find a way to rate-limit DMA transfers to get your audio playback at
the correct rate.
If you understood all that without clicking any links, you are my target audience. If
not, click the links and become wiser!
perma-lien
embed
Sampling rate would have to be above 100kHz, closer to 120-150kHz. Stereo signals
contain audio up to about 57kHz, and any roll off of the audio more than 0.3dB or
phase shift greater than 3o will start degrading your stereo separation at that frequency.
In fact, the highest theoretical stereo separation you can achieve with just one of those
numbers is 30dB, which is pretty good actually, but harder to realize than expected.
Also the 19k pilot tone must be in phase with the 38kHz DSB-SC used to modulate
the differential signal, otherwise you could get nothing but mono at the receiver at
worst, or severely degraded stereo separation at best. If your right and left audio
become reversed it's because the 19k is 180o out of phase with the 38k carrier.
Finally, you need to make sure the audio is band-limited to about 16kHz before stereo
modulation, otherwise your audio could interfere with the 19k pilot, which would
collapse the stereo signal into mono at the RX - possibly even mute the RX depending
now the RX handles loss of pilot.
TL;DR: There's a lot of pitfalls with stereo modulation. Given the low resolution of
audio (9-bit) and sampling rates required, I'm not confident you'll get anything you
could reliably call stereo transmission without external hardware.
perma-lien
embed
parent
https://dl.dropboxusercontent.com/u/24106229/raspb_transmit_stereo_wav.zip
Ok, guys. I kind of got stereo to work :) I've modified the code a bit - optimized the
main loop and removed deemphasis so that I can pull this off. Just unzip it on the Pi
and follow the instructions on how to run it. Invoke the command only from the
command line - don't have anything else running on the PI, running at 192 kHz eats
70% of the CPU even with the optimizations. The wav is 1 minute long and
demonstrates the stereo separation (at some point it starts looping from left to right
and back).
The next step would be to build the stereo encoder inside the app itself. This will be
quite challenging considering the CPU usage but should be doable.
perma-lien
embed
parent
I really didn't think this was possible, so really well done for doing it.
Do post it on hackaday.com or another reddit post so more people can learn about it -
for something like this you deserve recognition!
I reckon the reason for the RDS not working might be a very slightly wrong sampling
frequency. I found numerous things affecting my sample rate, ranging from drift in the
actual clock crystal by ~40ppm to error caused by "overclocking" the clock generator
which caused it to miscount different amounts depending on temperature. (the clock
generator we are using is supposed to only go up to 25 Mhz according to the
datasheet, but we are running it at 100Mhz). There is also a delay due to the whole
CPU (including the DMA engine and peripherals) being periodically "paused" by the
GPU while it does something todo with refreshing DRAM.
perma-lien
embed
parent
If the software writer is smart enough, you basicly have a 500Mhz 1 bit DAC to
generate your signal.
Next you have to give that bitstream to the software guys and see if they can coax the
on-chip clock generator to make such a signal, or something very similar to it, which
seems easily possible if you can get rid of linux and run baremetal - more of a
challange if you still need to run an OS.
perma-lien
embed
parent
Are anywhere else people talking about this, maybe in that community? (this thread
will be dead in short time :/ )
perma-lien
embed
parent
perma-lien
embed
parent
I've never seen a good QAM radio that wasn't implemented on an FPGA or ASIC
because of the timing requirements. Most digital communication of any appreciable
speed I've seen is implemented in hardware of some kind.
perma-lien
embed
parent
Luckily with DMA on most new processors we can alleviate the timing requirements,
because the processor can generate the data at any old inconsistent rate, and DMA
will copy the data to the output at a consistent rate.
For real-world products, using hardware is still better from a power consumption and
cost point of view, but for us hackers, the "software radio without any hardware"
approach is very nice!
perma-lien
embed
parent
https://github.com/s7mx1/pihat
I'm now trying to open my garage door, unfortunately I don't have an oscilloscope to
see what my remote is doing (or even what frequency it's on)...
perma-lien
embed
parent
perma-lien
embed
parent
so essentially you could turn a Pi into a SDR transmitter for any mode any frequency
below 100mhz ?
perma-lien
embed
parent
perma-lien
embed
parent
If you were happy to get rid of linux and do baremetal, you could transmit basicly
anything - you wouldn't be limited to fm/fsk.
perma-lien
embed
parent
Awesome.
perma-lien
embed
perma-lien
embed
parent
Freaking awesome.
EDIT: Quick test video for anyone interested. (yes, it does say 4 AM, reddit does not
help the insomniac at all)
perma-lien
embed
Is there a way to change the frequency it broadcasts on? I haven't checked the source
yet, but in the UK at least 100-101 is reserved for Classical Radio almost everywhere.
perma-lien
embed
maybe
In pifm.c, see line 106.
The "5a" number here is a hardware specific password - ignore it (see the datasheet
for specifics).
The "0x5000" is the carrier frequency. m is the added audio modulation. It should be
interpreted as 5.000 (in hex). This chooses how the 500Mhz system clock is divided
down to produce the 100Mhz FM carrier. Hence if you wanted a 99.0Mhz carrier, you
would divide by 5.050505 (decimal), which in hex is 5.0CF.
Hence if you changed the number on that line to 0x50CF you should be able to get a
99.0Mhz FM signal.
perma-lien
embed
parent
Yes, thats it. I tried it with 0x58CC and now i've got the signal on 90Mhz.
perma-lien
embed
parent
0x58E3 is the correct value for 90.0Mhz. Using the wrong value makes some more
strict FM radios stop working, and reduces the range significantly. The "center"
frequency should be a multiple of 0.1Mhz for most radios.
Due to a quirk of the way FM works, if the center frequency is off, you may find quiet
sounds work fine, but loud sounds in the audio cause fuzz on the receiver.
perma-lien
embed
parent
embed
parent
First of all, thanks for this. I'd like to change the frequency, but I'm having trouble
following the math (admittedly, not my strong suit). I'm good, up until where
5.050505 becomes 5.0CF. I'm fine with making decimal ints into hex, and I've tried a
few ways to convert the dec float to hex, but I can't match your conversion on my
side. Can anyone lend some help? I'd like to transmit up in the 2m amateur band. So,
perhaps one of these frequencies.
perma-lien
embed
parent
http://www.wolframalpha.com/input/?i=%28500%2F99.0%29+in+hex
Round to 3 decimal places. If the number is 8 or above, round up, and if the number is
7 or below, round down.
perma-lien
embed
parent
Brilliant, thanks!
perma-lien
embed
parent
perma-lien
embed
parent
Thanks a lot!
perma-lien
embed
parent
I try to understand the source code. But i dont now where i can chance it yet.
perma-lien
embed
parent
My apologies for the source code. It really was hacked together. about 70% of it does
nothing or is commented out.
I would like to fix it, but don't have a Raspberry Pi handy right now, and wouldn't
want to break it. Messy is better than broken!
perma-lien
embed
parent
perma-lien
embed
parent
perma-lien
embed
parent
I've modified the program to accept another argument on the command line that a
alters the frequency that it broadcasts on. It's as hacky as possible, but it works. If
anyone is interested, here's the source: be warned, it does no error or safety checking,
so you run this at your own risk, etc.
It makes a clicking noise right as the program starts, I'm not sure why yet.
link: http://pastebin.com/CU2w3Ad1
(if there is a better way to share this file, or a problem with it, please tell me)
perma-lien
embed
Thank you so much; I got this working with no problem at all. Do you think it would
be very difficult to have it stop transmitting the carrier when it's done playing the
sound?
perma-lien
embed
parent
I'll look into it! As of now, if you just run the program with no parameters it should do
what you want (e.g. "./pifm")
perma-lien
embed
parent
perma-lien
embed
parent
What format does it accept the frequency in? 100 for 100mhz? And also if it is in
another format, is it possible to do something like 100.1? My car stereo only does odd
tenth's place.
Edit: Spelling.
perma-lien
embed
parent
perma-lien
embed
parent
perma-lien
embed
parent
perma-lien
embed
parent
The number "25.0" on line 127 of your code is the "bandwidth/volume" of the FM
signal. For HAM radio enthusiasts, or if you want to fine-tune your signal, you may
want to modify it. The units are the same as the units of center frequency. For FM, 15
is about ideal. For most ham radio uses, you want more like 2 or 5. When we were
hacking stuff together we guessed at this number, and it seems we guessed a bit big.
perma-lien
embed
parent
I replaced pifm.c with the linked file above, opened terminal, navigated to the folder
and typed "./pifm sound.wav". Not sure what's wrong. Thanks for any help.
perma-lien
embed
parent
perma-lien
embed
parent
What's the range of frequencies that this could work at? If you could modify it to
work on one of the amateur radio bands then licensed users would not be breaking the
law.
perma-lien
embed
How did I not know the Pi had a SSC signal generator? This is brilliant. I will have to
look into DMA with the ARM to see if I can help write up a kernel-mode driver.
perma-lien
embed
It seems nearly all chips have smart clock generators to produce very accurate clock
rates for peripherals without needing additional crystals, or to get round EMI
regulations.
Basicly, this hack was done on a Raspberry Pi, but I bet you could reproduce it on
nearly any processor.
perma-lien
embed
parent
[]EchoNoise 3 points il y a 4 ans
perma-lien
embed
perma-lien
embed
parent
AM is much harder, although it is not impossible for certain. There are lots of
harmonics of these signals you can "abuse" into falling to the frequencies you desire.
Use of harmonics even allows power (amplitude) to be modulated quite easily by
switching between the first harmonic of 100Mhz @ 100Mhz and third harmonic of
33.3Mhz @ 100Mhz for example you can effectively modulate the amplitude of the
signal seen at 100Mhz between full power and a third power.
perma-lien
embed
parent
And who cares about anyone else trying to use the spectrum at 33.3MHz, amirite?
perma-lien
embed
parent
you are right. None of this stuff is kind to anyone using any other frequency.
If you were to put a basic bandpass filter on the output you could solve it, but
obviously that isn't as cool as a "zero components" hack...
perma-lien
embed
parent
perma-lien
embed
pifm
pifm.c
PiFm.py
PiFm.pyc
sound.wav
So that leads me to believe that the default 'sound.wav' that is supplied is corrupt, as
mplayer says 'Failed to recognize file format.' also..
EDIT
perma-lien
embed
perma-lien
embed
parent
a corrupt wav file would not give you the error you are getting.
try
perma-lien
embed
parent
I tried that, there is no output, and I can't hear anything except silence through the
radio.
perma-lien
embed
parent
perma-lien
embed
parent
perma-lien
embed
parent
I had to compile it myself, using the instructions in the link. Then I could hear the
sound.wav file, which is the Star Wars theme.
And even when I first turn on my Raspberry Pi, I hear silence when tuned into
100.0Mhz
perma-lien
embed
parent
In a normal environment, you should hear static on 100Mhz. Then after the first time
you play a sound, the program leaves the carrier activated, so you will hear silence.
This is to make it easier to write a game or something that uses sound - you don't want
the radio playing static loudly between each sound you want played.
A reboot of the Pi will stop the carrier, and you'll be back to the old static.
If you hear silence even with the Pi off, it may be your laptop or something else is
broadcasting on 100Mhz. When we first did this project, we used 96.0Mhz, and it
turns out thats no use because USB usually uses a 19.2Mhz clock crystal, and the 5th
harmonic of that is 96Mhz. If any of that harmonic leaks out, it interferes. My laptop
has an interference range of about 1 meter. A macbook we tried didn't interfere.
EDIT: Also, in the first version the .wav file was accidentally corrupted by chopping
off the header so it would play through PiFm, but not through a media player. I was
wondering how long till someone knew what the song was! I have now un-corrupted
the wav file for all future downloads.
perma-lien
embed
parent
perma-lien
embed
parent
I wasn't expecting the range to be that good when I saw the title! 50 meters? That
might be useful for some sort of one-way data transfer (Sensor info, perhaps).
perma-lien
embed
A zero-hardware FM receiver isn't a totally silly idea. I think it might be do-able. You
would rely on a floating IO pin to pick up your signal, and another nearby IO pin
transmitting the carrier frequency at very low power. The two signals sum by mere
virtue of being near eachother on the circuit board, and the result can be sampled by
the chip.
The chances of this working alone is pretty low, but with maybe just one resistor or
capacitor, I reckon it could work for short distance two way low bandwidth
communication.
If the chip has any schmitt-triggeryness on the inputs, this isn't going to work at all...
perma-lien
embed
parent
I was thinking along the lines of using a cheap fm radio and usb sound card on the
receiving end.
perma-lien
embed
parent
Reminds me of the project using the compass in an android device and a coil of wire
on an arduino to transfer data
perma-lien
embed
parent
Looks cool, will have to do some hacking when it's not midnight.
perma-lien
embed
perma-lien
embed
parent
Looks iffy but I'm going to bed now so I can't be arsed to look into it.
The new Regulations set out the technical specifications for legal devices. This is to
minimise the risk of interference to other radio devices. In particular, the Regulations
set a 50 nanowatts power limit for legal devices, which limits the distance at which
they can broadcast to up to around 30 metres in stereo, using a modern hi gain FM
radio, however by receiving the signal in mono this range can be increased due to the
lack of audible noise when receiving in mono,
perma-lien
embed
parent
perma-lien
embed
parent
Hmm. Whilst you can use low power transmitters for personal audio, power is limited
and I don't think it is clear what happens with home brew devices.
I would be concerned about this method producing nasty harmonics. I doubt this
would cause any problems, but technically it could be illegal. You are also highly
unlikely to be caught or prosecuted.
perma-lien
embed
parent
I seem to be getting an error. I installed Raspbian through the netinstall, and tried
running it on Python 2.7.3.
As you can see, I'm running from root so it's no permission issue I believe. Can
anyone help? I've also tried compiling but have got nothing.
perma-lien
embed
perma-lien
embed
parent
./PiFm sound.wav
perma-lien
embed
parent
perma-lien
embed
parent
Cd /usr/lib/python2.6
perma-lien
embed
parent
[][effac] il y a 3 ans
[deleted]
I haven't used my Pi for a while, but did you chmod 777 the folder?
perma-lien
embed
I don't think anyone will notice this post but I'l give it a try. I made a small hack for
this program that allows you to change the channel. Source:
http://pastebin.com/EWw0iMXT Screen: http://ezyimg.com/0DDX84 I hope that this
helps out in your Raspberry Pi adventures :)
perma-lien
embed
I noticed! :D
perma-lien
embed
parent
[]try_again_ian 2 points il y a 3 ans
I'm definitely very late to this party, but just in case OP still checks this thread, I'd like
to ask a question. I'm having a lot of difficulty playing .wav files. The one that I
downloaded with PiFm (sound.wav) just outputs one solid tone to my radio. When I
try playing other .wav files I get the exact same tone. I looked at the specifications for
.wav files with PiFm and it does call for 16 bit mono 44.1 kHz, but is all that very
strict. The wav files I'm trying to play are 16 bit mono but 16 kHz, so I don't know if
that matters. Also I noticed sound.wav is 22050 Hz, so I don't know why I'm getting
this problem. Another note, I do not have an attached antenna, I'm just using RPi's
base hardware with PiFm.
perma-lien
embed
If the sound file that comes with the download isnt working then there is something
up with PiFm itself, not the audio file formats.
When you power up the PI, you hear fuzz on the radio.
When you run PiFm with any sound file, and then press Ctrl+C, you hear
silence on the radio.
If the above facts are not true then you should choose a different FM frequency -
something else is transmitting on your chosen frequency with more power than you!
Another possible cause for this is some odd behaviour I have seen with apps that play
real sound (ie. through the headphone jack). The real sound hardware uses some of
the same timers PiFm uses, and they may interfere. I suspect you must use PiFm
before you play any sound - best to reboot the Pi and try straight away. Beware any
startup sound or anything.
perma-lien
embed
parent
I have the same problem, and both of the facts above are true. Im using the standard
sound file. Are you still checking the thread?
I have tried 130.0 as well.
perma-lien
embed
parent
Hmmm...
I suspect the cause is because there is a buffer underrun. Basically the problem is the
CPU has for some unknown reason filled an audio buffer with DMA commands, and
then stopped doing anything. That audio buffer is then playing, but when it gets to the
end the CPU hasn't put in any more audio data, so it replays again and again and
again. That replaying is causing a constant tone.
Did you recompile pifm or are you using the binaries provided? PiFm worked with
my compiler settings (which was all optimisation off IIRC), but it is entirely possible
I left a "volatile" off a variable somewhere causing the above bug. Such a bug would
only be triggered by certain compilers and compiler options.
Reply to this sometime after Monday and I shall check with my pi that the binaries in
the tar work. If you compiled it yourself, post the options and version of gcc you used
and I'll check if that works too.
perma-lien
embed
parent
perma-lien
embed
parent
And then try to play that sound, do you still hear the tone?
perma-lien
embed
parent
perma-lien
embed
parent
Hmm... I think I know whats going on... You are hearing the correct output, but the
sample rate is massively too slow.
To confirm my theory: Play the default sound file. The program should appear to hang
and then terminate after 2 min 20 secs. If it does not, try creating a sound with this
command:
Then try playing that. Does the program now run for a short time and then quit itself?
If it does, can you try to find the number to set "bs" to to make the program run for 10
seconds? That should help me track down what sample rate is being used, and
therefore which clock setting was changed.
Some linux kernel driver or bit of the graphics firmware has reconfigured
either the priority of the DMA unit or the clock rate of the signal clocking the
serializer module (that I use for timing).
I am running the serializer module 10x faster than the datasheet says it will
work at - it's possible some chips can't keep up and are skipping most of the
clock cycles, making them look really slow. If the behaviour changes with
temperature then this is almost certainly the case.
As a workaround, you might try using a super high sample rate - like 30x the real
sample rate and see what happens.
perma-lien
embed
parent
I tried running the default sound, (starwars) it ran for 7m41s when i quit it. This
worked more or less, i could recognize the song: http://pastebin.com/raw.php?
i=dQgzSEa9 bs=7215 = 10s: http://pastebin.com/raw.php?i=6ynrWW6H
perma-lien
embed
parent
I tried to setup my RPi as a FM transmitter and i faced the same problem ("one solid
tone from the radio instead of the song")
I am now able to hear the default sound.wav file as suggested below by "The
Commie" using command - sudo ./pifm sound.wav 106.0 10000000.
But i am not able to hear other audio files. Is there a new version of "pifm" that can
resolve this problem?
Also can i play .mp3 file? I tried playing .mp3 file also but again some garbled noise
is coming.
perma-lien
embed
parent
Since lots of people are having this issue, I shall try to resolve it. Give me a few days.
I'm suspecting the problem might be quite in-depth, and the fix might break other
things on the system (like audio out or the sd card) unless I'm careful.
perma-lien
embed
parent
For someone who does not know how this can even work.. how does this work with
no additional hardware??
perma-lien
embed
perma-lien
embed
parent
oh I did! lol I just am not sure what band a spread-spectrum signal generator runs at.
Just curious if 100MHZ fm is out of band for what it was designed to do.
perma-lien
embed
parent
I guess it only guarantees to be glitch free and work perfectly at 25Mhz, but if it
misses a clock cycle occasionally we don't really care, so we can fairly safely push it
way above its operational limits.
perma-lien
embed
parent
This is illegal in pretty much every country in the western world. If you are going to
do this try and stick to bands where it is allowed to run transmitters without a licence.
For the UK 27MHz and 49MHz are available. And in the UK if you can get it on
26.60125 to 27.99125 in 10kHz steps you can listen to it on a CB radio.
For the love of god don't go into any of the amateur bands without a license or they'll
go apeshit.
perma-lien
embed
If it was completely illegal, then commercial devices to transmit audio to your car's
radio wouldn't be available. There is usually a specific exemption to allow low power
broadcasts - with a range of only 50m, this certainly falls into that category.
perma-lien
embed
parent
Those devices have to be CE certified in the UK and I suspect the FCC will also have
similar requirements.
perma-lien
embed
parent
Any electronic device sold in the EU has to be CE certified, that's not the constraining
requirement.
In general radio spectrum licensing specifies what modulations and power outputs can
be used in what bands, and what the licensing requirements are. Licenses apply to
operators, not pieces of equipment; and you don't need to apply for a license to
operate a car fm transmitter (at least not in the western countries we're in) because
there's a specific license-free class for low-power FM broadcasts in that band.
perma-lien
embed
parent
However for private individuals it is only amateur radio operators above a certain
license level who can legally build their own equipment and use it to transmit with.
you don't need to apply for a license to operate a car fm transmitter (at least not in the
western countries we're in) because there's a specific license-free class for low-power
FM broadcasts in that band.
Correct however the bit you miss is that the only transmitters that are legally allowed
to be used in that band for that purpose have to be CE certified which something
you've built at home isn't going to be. Please point me to the legislation that states
otherwise.
perma-lien
embed
parent
However for private individuals it is only amateur radio operators above a certain
license level who can legally build their own equipment and use it to transmit with.
That's how the amateur license is structured; but that requirement doesn't extend
outside the amateur bands.
I'm not going to point at specific legislation; these things can vary at the country level,
and I don't live in the EU. That said, it's broadly coordinated by the ITU, which most
countries are members of.
perma-lien
embed
parent
It's illegal on the CB band (in the UK), since only pre-approved transmitters may be
used.
perma-lien
embed
parent
Ha! This reminds me of using an old TRS-80 back in the day. There were some
commercial games which used roughly the same method.
perma-lien
embed
Surely it was AM? Spread spectrum PLL modulation hasn't been around long.
perma-lien
embed
parent
Actually it's fascinating to listen to old computers on an AM radio, you can actually
hear them thinking, and you get different sounds when different loops of program
code execute.
perma-lien
embed
parent
This is great!
The first time I ran it I was logged in through TightVNC and there were some really
weird pitch variances, as I assume the sample rate was being varied with processor
load.
Running it through PuTTY with nothing else happening on the machine gave me
much better results.
perma-lien
embed
At the moment it requires 100% of the cpu to play stuff back. Give it any less and it
will slow down and glitch.
If someone is smart they can implement a DMA based version to fix it.
perma-lien
embed
parent
This is genius. I started digging into using the composite video output for SDR, but
the GPU is somewhat of a black box.
perma-lien
embed
Awesome work. In your newer code, what does 1400 stand for in the following
statement?
perma-lien
embed
perma-lien
embed
Broadcom's spec mentions 125 MHz as the upper limit for proper clock operation.
However for me it works well on 145 MHz apparently. Therefore APRS TX should be
possible, I may investigate this at some point. RX is another story though.
perma-lien
embed
parent
looking for help. From India and tried running with the value 25.0 on line 127 reduces
to 15.0 . I can here the song playing on 100MHz but with a lot of noise.
electronics noob
perma-lien
embed
This is brilliant. I'm suddenly compelled to pitch a tent on Rockall and start a pirate
radio station.
perma-lien
embed
perma-lien
embed
Yes. It could transmit 18 hz audio, but most receivers won't receive stuff at such low
frequencies...
perma-lien
embed
parent
perma-lien
embed
:-)
perma-lien
embed
parent
Okay. Total noob over here. By "plain wire to GPIO 4," what do you mean? So I
guess GPIO 4 is the 4th GPIO port but what do you mean by plain wire? Do you
mean jumper wire? M-F? F-F? M-M? Would it need stripping? Any help much
appreciated.
perma-lien
embed
If you want more range, a F-F wire jumper about 10 cm long connected to the 4th one
from the left, bottom row: http://elinux.org/images/6/61/RPi_P1_header.png
You dont need anything connected to the other end of the jumper - the jumper itself
acts as the antenna.
In fact, due to a quirk of physics, connecting the wire to pretty much any pin still
extends the range...
perma-lien
embed
parent
I'm using this for a private music radio since a few months, it's awesome and works
with a decent quality. Thanks a lot for this! :)
Also it seems to randomly crash my pi after a few hours of transmitting, is there any
way of stop it from doing that? It's not a big matter as i have a second pi which
reboots the transmitting pi when it stops responding to ping requests but of course this
is not the way it should be done.
perma-lien
embed
Someone else in this thread has successfully done this. It involves pre-generating the
stereo signal though, but I bet with work you could do it realtime.
This could be for many reasons. There could be hardware issues - the IO pin and
clock spread spectrum hardware is changing state much quicker than it was designed
to (by a factor of 5!), and as such it could cause localized heating within the chip.
The software also does quite a lot of unsafe things. It relies on DMA operations on
memory in userspace, which itself relies on the physical to virtual mapping of that
memory never changing. If the system ever gets short of RAM, it may try to page out
that stuff, and use the RAM for another program but the DMA controller will be still
operating which will cause it to do random stuff, probably erase or copy random
memory...
Basicly, this is a hack and bodged in so many ways that it could be any of them
failing...
perma-lien
embed
parent
[][effac] il y a 3 ans
[deleted]
open the song in ausacity (free), and save as wav. in options somewhere there is a
setting what to use - just make sure its set to 22khz, 16 bit mono.
perma-lien
embed
[][effac] il y a 3 ans
[deleted]
put all the commands on one line seperated by semicolons, like so:
perma-lien
embed
[][effac] il y a 3 ans
[deleted]
Then you are in a basic text editor. The last line usually says "exit". Above that, on a
new line, type the command you want to run in brackets followed by and & sign. Like
this:
Then save and exit by pressing "Ctrl X" and pressing enter. Beware that (as above)
you must use full paths to all your files. If you are on the console, type "pwd" to find
the full path to the folder you are in.
perma-lien
embed
[][effac] il y a 3 ans
[deleted]
When its running you can ssh back in and go into that file and remove the line and
reboot...
or you could probably kill pifm by typing "sudo killall pifm" on the console to end the
pifm program.
Many ways.....
perma-lien
embed
[][effac] il y a 3 ans
[deleted]
perma-lien
embed
continuer ce sujet
perma-lien
embed
parent
I don't know exactly how to do it, but the pifm program accepts a stream on standard
input.
You might have to set up arecord as shown here. I guess you'll need some USB
microphone because the pi doesn't have a mic input.
I dunno how the 145 Mhz range works, but bear in mind as it stands the Pi will
transmit FM, with pre-emphasis of high frequencies, time constant 50us, and a total
bandwidth around 75Khz. If you need anything else, you will have to modify the
source code, which should be quite easy. Ask if you need a hand.
If you connect an amplifier to the output pin, make sure you also band-filter the
output, since it contains a lot of harmonic frequencies, which would become
problematic if you chose to amplify the signal.
perma-lien
embed
parent
I think you've just sold me on an RPi. As a beefier ARMputer that I can use for
arduino-like tasks.
perma-lien
embed
blog
about
code source
Publicit
emplois
rgles du site
FAQ
wiki
rediquette
transparence
contactez-nous
site mobile
boutons
reddit gold
L'utilisation de ce site implique que vous acceptiez nos Accord d'utilisation et Privacy
Policy (updated). 2017 reddit inc. Tous droits rservs.
REDDIT and the ALIEN Logo are registered trademarks of reddit inc.
Advertise - technology