Page 26 of 33 FirstFirst ... 161718192021222324252627282930313233 LastLast
Results 251 to 260 of 329
Like Tree1Likes

Thread: DAB DAB+ FM Digital Radio Development Board

  1. #251
    Maximum Bitrate Mickz's Avatar
    Join Date
    Sep 2009
    Location
    Australia
    Posts
    879
    Quote Originally Posted by mitchjs View Post
    on another note, anyone try something like this

    http://www.ebay.com.au/itm/Car-DAB-D...item2ec4fd389f
    Hi mitch, this looks interesting as it appears to be an active splitter with gain (blue +12v wire) which should correctly match/tune a standard car aerial to DAB. I wish there was technical info on this device. If it works the way I think it does it could be very neat solution.
    Surface Pro 2 128GB portrait mode, Win8.1, Reverse camera, Dual 10HZ GPS RX's for Speed Display & Sat Nav, FM-DAB & Phone Modules, iDrive interface. T-Screen HVAC control, custom microcontrollers, microcode and FE. Previous Car-PC Project

  2. #252
    MySQL Error
    Auto Apps:loading...

    Join Date
    Oct 2004
    Posts
    5,266
    nab it, try it... i would i had had dab heheh
    -Thanks
    Mitch
    www.rush2112.net

    "Did you test it in carwings??"

    Sun, Come shine my way
    May healing waters bury all my pain
    Wind, Carry me home
    The fabric of reality is tearing apart
    The piece of me that died
    Will return To live again

  3. #253
    Maximum Bitrate Mickz's Avatar
    Join Date
    Sep 2009
    Location
    Australia
    Posts
    879
    Hopefully someone will and let others know, I have an amplified "active" Roof mounted DAB-FM aerial so it's of no use to me.
    Surface Pro 2 128GB portrait mode, Win8.1, Reverse camera, Dual 10HZ GPS RX's for Speed Display & Sat Nav, FM-DAB & Phone Modules, iDrive interface. T-Screen HVAC control, custom microcontrollers, microcode and FE. Previous Car-PC Project

  4. #254
    Constant Bitrate
    Join Date
    Jun 2006
    Posts
    188
    I keep getting pinvoke errors, i suspect due to being on .net 4.0, is there any way around this?
    The epitome of Function over form and is probably the best Car PC in Europe.
    Visit my Homepage

  5. #255
    Maximum Bitrate Mickz's Avatar
    Join Date
    Sep 2009
    Location
    Australia
    Posts
    879
    Yes DLL is 3.5 I coded a DAB module directly into my FE and just recompiled the FE to 3,5. Otherwise I guess you would need to access the Module directly and bypass the DLL.
    Surface Pro 2 128GB portrait mode, Win8.1, Reverse camera, Dual 10HZ GPS RX's for Speed Display & Sat Nav, FM-DAB & Phone Modules, iDrive interface. T-Screen HVAC control, custom microcontrollers, microcode and FE. Previous Car-PC Project

  6. #256
    Newbie
    Join Date
    Feb 2012
    Location
    UK
    Posts
    49
    Quote Originally Posted by nrgizerbunny View Post
    I keep getting pinvoke errors, i suspect due to being on .net 4.0, is there any way around this?
    I hit "PInvokeStackImbalance was detected" errors when I originally try to write my own C# program to use the provided DLL.

    At the time I gave up and wrote my own DLL in C# to get around it! Seeing your post made me have another go.

    I have been able to get past the Imbalance error, still got some issues with passing strings back and forth but at least I can call the C++ functions now and I need to get some sleep!

    This is in VS2010 targeting C# .NET 4.0, is this what you are try to do?

  7. #257
    Constant Bitrate
    Join Date
    Jun 2006
    Posts
    188
    Yep that's what I am trying to do.

    I think I might have to go down the custom dll route as well. I'm just awaiting some documentation from monkeyboard.
    The epitome of Function over form and is probably the best Car PC in Europe.
    Visit my Homepage

  8. #258
    Constant Bitrate
    Join Date
    Jun 2006
    Posts
    188
    I ended up getting around the problem by declaring functions of the form:

    Code:
    <DllImport("keystonecomm.dll", CallingConvention:=System.Runtime.InteropServices.CallingConvention.Cdecl)> _
        Function VolumeMinus() As SByte
        End Function
    You have to import the interopservices at the top of the module file though.
    The epitome of Function over form and is probably the best Car PC in Europe.
    Visit my Homepage

  9. #259
    Newbie
    Join Date
    Feb 2012
    Location
    UK
    Posts
    49
    Quote Originally Posted by nrgizerbunny View Post
    I ended up getting around the problem by declaring functions of the form:

    Code:
    <DllImport("keystonecomm.dll", CallingConvention:=System.Runtime.InteropServices.CallingConvention.Cdecl)> _
        Function VolumeMinus() As SByte
        End Function
    You have to import the interopservices at the top of the module file though.
    I don't think you are 'getting around it' that's the correct way to reference the unmanaged DLL.

    The equivalent I'm using in C# is

    Code:
            [DllImport("keystonecomm.dll", CallingConvention = CallingConvention.Cdecl)]
            static extern SByte VolumeMinus();
    I don't use VB.NET but I believe you can also use the 'declare' statement to do a similar thing.

  10. #260
    Newbie
    Join Date
    Apr 2012
    Posts
    44
    Hi!
    JP from support @ Monkeyboard asked me to post the DLL definitions I use for the Centrafuse radio module. (Written in C#)

    #region DLL Imports
    // Clear the DAB programs stored in the module's database
    [DllImport(DABFMMonkeydll)]
    public static extern bool ClearDatabase();

    //Deprecated?
    [DllImport(DABFMMonkeydll)]
    public static extern Int32 CommVersion();

    // Open the COM port of the radio and set mute behavior.
    [DllImport(DABFMMonkeydll)]
    public static extern bool OpenRadioPort(string com_port, bool usehardmute);

    // Hard reset the radio module by pulling the RESET pin LOW
    [DllImport(DABFMMonkeydll)]
    public static extern bool HardResetRadio();

    // Close the COM port of the radio
    [DllImport(DABFMMonkeydll)]
    public static extern bool CloseRadioPort();

    // Play radio stream in FM or DAB
    [DllImport(DABFMMonkeydll)]
    public static extern bool PlayStream(RADIO_TUNE_BAND mode, Int32 channel);

    // Stop currently played FM or DAB stream
    [DllImport(DABFMMonkeydll)]
    public static extern bool StopStream();

    // Set the volume of the radio
    [DllImport(DABFMMonkeydll)]
    public static extern bool SetVolume(Volume volume);

    // Add one volume step to the current volume.
    [DllImport(DABFMMonkeydll)]
    public static extern sbyte VolumePlus();

    // Minus one volume step from the current volume
    [DllImport(DABFMMonkeydll)]
    public static extern sbyte VolumeMinus();

    // Mute the volume
    [DllImport(DABFMMonkeydll)]
    public static extern void VolumeMute();

    // Get the current volume
    [DllImport(DABFMMonkeydll)]
    public static extern Volume GetVolume();

    // Determine if the current mode is DAB or FM
    [DllImport(DABFMMonkeydll)]
    public static extern RADIO_TUNE_BAND GetPlayMode();

    // Forward to the next available stream in the current mode. When radio is in DAB mode, the dabindex will be incremented and then played.
    // When the radio is in FM mode, search by increasing the FM frequency until a channel is found
    [DllImport(DABFMMonkeydll)]
    public static extern bool NextStream();

    // Backward to the previous available stream in the current mode. When radio is in DAB mode, the dabindex will be decremented and then played.
    // When the radio is in FM mode, search by decresing the FM frequency until a channel is found.
    [DllImport(DABFMMonkeydll)]
    public static extern bool PrevStream();

    // Get the signal strengh of the current playing stream. biterror can't be utilized at this point in time
    [DllImport(DABFMMonkeydll)]
    public static extern sbyte GetSignalStrength(ref int biterror);

    // Get the current playing program type to be used to identify the genre
    [DllImport(DABFMMonkeydll)]
    public static extern sbyte GetProgramType(RADIO_TUNE_BAND mode, Int32 dabIndex);

    // Get the RDS text of the current stream
    [DllImport(DABFMMonkeydll, CharSet = CharSet.Unicode)]
    public static extern sbyte GetProgramText(string strtextBuffer);

    // Get the current DAB data rate
    [DllImport(DABFMMonkeydll)]
    public static extern Int16 GetDataRate();

    // Get the ensemble name of the current program
    [DllImport(DABFMMonkeydll, CharSet = CharSet.Unicode)]
    public static extern bool GetEnsembleName(Int32 dabIndex, DABNameMode namemode, string programName);

    // Get the preset DAB index or preset FM frequency. The module is able to store 10 DAB and 10 FM preset
    [DllImport(DABFMMonkeydll, CharSet = CharSet.Unicode)]
    public static extern Int32 GetPreset(sbyte mode, sbyte presetindex);

    // Store program into preset location.
    [DllImport(DABFMMonkeydll, CharSet = CharSet.Unicode)]
    public static extern bool SetPreset(sbyte mode, sbyte presetindex, Int32 channel);

    // Get the stereo reception status of the current playing stream
    [DllImport(DABFMMonkeydll)]
    public static extern sbyte GetStereo();

    // Get the index of current playing DAB stream or the current playing frequency
    [DllImport(DABFMMonkeydll)]
    public static extern Int32 GetPlayIndex();

    // Get the currenct DAB frequency index in while DAB is auto searching
    [DllImport(DABFMMonkeydll)]
    public static extern sbyte GetFrequency();

    // Determine if the current radio status is playing, searching, tuning, stop sorting or reconfiguring
    [DllImport(DABFMMonkeydll)]
    public static extern DABStatus GetPlayStatus();

    // Set radio to forced mono or auto detect stereo mode.
    [DllImport(DABFMMonkeydll)]
    public static extern bool SetStereoMode(Mode Mode);

    // Get the current stereo mode in the radio configuration
    [DllImport(DABFMMonkeydll)]
    public static extern Mode GetStereoMode();

    // Auto search DAB channels. Current stored DAB channels will be cleared
    [DllImport(DABFMMonkeydll, CharSet = CharSet.Unicode)]
    public static extern bool DABAutoSearch(byte startindex, byte endindex);

    // Get the total number of DAB programs stored in the module
    [DllImport(DABFMMonkeydll)]
    public static extern Int32 GetTotalProgram();

    // Check if the module is ready to receive command.
    [DllImport(DABFMMonkeydll)]
    public static extern bool IsSysReady();

    // Get the name of the current program
    [DllImport(DABFMMonkeydll, CharSet = CharSet.Unicode)]
    public static extern bool GetProgramName(RADIO_TUNE_BAND mode, Int32 dabIndex, DABNameMode namemode, String programName);

    #endregion

    #region 2nd Generation (Pro boards) DLL Imports

    //Get the type of MOT application of the specified DAB channel.
    //Return Values: 0 is MOT SlideShow, 1 is MOT BWS, 2 is TPEG, 3 is DGPS, 4 is TMC, 5 is EPG, 6 is DAB Java, 7 is DMB, 8 is Push Radio.
    [DllImport(DABFMMonkeydll)]
    public static extern ApplicationType GetApplicationType(Int32 channel);

    //Get the filename of the SlideShow image.
    [DllImport(DABFMMonkeydll, CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
    public static extern bool GetImage(string ImageFileName);

    //Query radio module for MOT data
    [DllImport(DABFMMonkeydll)]
    public static extern bool MotQuery();

    //Reset the MOT segment buffer
    [DllImport(DABFMMonkeydll)]
    public static extern void MotReset(MotMode mode);

    //Deprecated function as of December 2012
    //Get the signal quality of the current DAB channel.
    [DllImport(DABFMMonkeydll)]
    public static extern sbyte GetDABSignalQuality();

    //Set BBE HD Sound or Preset EQ
    [DllImport(DABFMMonkeydll)]
    public static extern bool SetBBEEQ(BBEStatus BBEOn, sbyte EQMode, sbyte BBELo, sbyte BBEHi, sbyte BBECFreq, sbyte BBEMachFreq, sbyte BBEMachGain, sbyte BBEMachQ, sbyte BBESurr, sbyte BBEMp, sbyte BBEHpF, sbyte BBEHiMode);

    //Get parameters of BBE HD Sound or Mode of EQ.
    [DllImport(DABFMMonkeydll)]
    public static extern bool GetBBEEQ (ref BBEStatus BBEOn, ref sbyte EQMode, ref sbyte BBELo, ref sbyte BBEHi, ref sbyte BBECFreq, ref sbyte BBEMachFreq, ref sbyte BBEMachGain, ref sbyte BBEMachQ, ref sbyte BBESurr, ref sbyte BBEMp, ref sbyte BBEHpF, ref sbyte BBEHiMode);

    //Set audio headroom.
    [DllImport(DABFMMonkeydll)]
    public static extern bool SetHeadroom (sbyte headroom);

    //Get the headroom volume
    [DllImport(DABFMMonkeydll)]
    public static extern sbyte GetHeadroom();

    #endregion

    Hopefully this helps. Most are tested and in use, but a couple I've never used and might have errors, like get and save preset to the board.
    RADIO_TUNE_BAND and other definitions are usually sbyte's


    JJ
    Last edited by johnjore; 02-04-2013 at 03:16 AM. Reason: Missed out 2nd generation of DLL defs.

Similar Threads

  1. Replies: 1
    Last Post: 04-29-2008, 12:52 AM
  2. On-Board Digital Equalizer
    By Cheekz185 in forum Car Audio
    Replies: 4
    Last Post: 05-24-2005, 06:47 PM
  3. Frustrated with my digital WW board....
    By Waveblaster785 in forum LCD/Display
    Replies: 15
    Last Post: 03-12-2005, 05:42 PM
  4. Fried my Digital WW board....
    By Waveblaster785 in forum LCD/Display
    Replies: 9
    Last Post: 02-21-2005, 10:26 PM
  5. SB Value Digital I/O Board???
    By RaZor in forum General Hardware Discussion
    Replies: 6
    Last Post: 04-19-2001, 12:45 AM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •