Added: 2 years ago
From: Amishman35
Views: 646
Sort by time | Sort by thread (beta)

Link to this comment:

Share to:

All Comments (12)

Sign In or Sign Up now to post a comment!
  • hey this is really cool, can you repost the source and the .nds link, becouse the links on your site are dead!

  • lawl i decoded this with mmsstv and it worked but it was wierdly colored XD

  • @noble00006 If you have a homebrew cartridge you could download the hombrew program and receive SSTV images with the Nintendo DS, You can also get a much nicer Sony PSP version that can save the images as well. at aych tee tee pee colon slash slash members dot cox dot net slash amishman35 slash creations dot html

  • Hi, I'm trying to write similar software to convert BMP files to WAV (8 bit PCM with a 44100 hz sample rate). How did you get the signal to line up with the sample rate?

    I'm using martin M1, and the period for luminance of 1 pixel should be 573 microseconds.

    But my sample rate is 44100 hertz, it doesn't line up, it would mean the number of samples is not an integer.

  • @johanhendriks Here's a function that does that(the next few posts)

    ---PART_1---

    int sstvtone(float frequency, double milliseconds, double samplerate, signed short *output)

    { static double fracsample=0.0; static int counter=0; static double samplesneeded=1; static double samerror=0; static int first=1; static int retvalue=0; static double oldmilliseconds=1.0; static double wholesamples=0; --END_PART_1--

  • @johanhendriks

    --PART_2--

    if(milliseconds !=oldmilliseconds || first==1) { samplesneeded=(samplerate) * (milliseconds /1000.0); samerror=modf(samplesneeded, &wholesamples); first=0; } if(counter < = wholesamples) { retvalue=2; output[0]=nco(frequency); oldmilliseconds=milliseconds; counter++; }

    --END_PART_2--

  • @johanhendriks

    --PART_3--

    else { counter-=wholesamples; retvalue=1; fracsample+=samerror; if(fracsample > = 1.0) { fracsample-=1.0; counter--; } } return retvalue;

    }

    --END_PART_3--

  • @johanhendriks With the function I posted, it returns 2 as long as the timer hasn't expired, and then !2 is when it expired. *output is a one element Signed Short with the sample of the tone. It needs an NCO function that returns a sine wave of the frequency of the argument. Send tones for as long as the function returns 2, then call the function again when it doesn't and advance to the next pixel or tone element.

  • @Amishman35

    Thanks, that's awesome

  • Nice work! I'm gonna find my DS charger nao, haven't used in ages, I got an R4 card.

  • Interesting!

    Do you work a lot with radio communication?

  • I'm just a ham...KB1SAC. I wanted to see if I could make the microphone do something useful.

Loading...
Alert icon
0 / 00Unsaved Playlist Return to active list
    1. Your queue is empty. Add videos to your queue using this button:
      or sign in to load a different list.
    Loading...Loading...Saving...
    • Clear all videos from this list
    • Learn more