RTDX OLE API
And now, ladies and gentlemen, I will answer the questions you have been dying to have answered! Right before your very eyes I will demystify The Texas Instruments TMS320C6416DSK RTDX OLE API!
Ok, so most of you don't care. I'm putting it on the web for posterity's sake, because it's dreadfully impossible to find. I'm no OLE expert and maybe everyone that wants to do OLE just uses some OLE browser built into Visual Studio or something, but I'm too lazy to install the copy of Visual Studio I won in a programming contest (hey, getting me to use Windows at all is a feat).
I wrote a nifty little ruby script to dump what I believe is probably the relevant info:
require 'win32ole'
rtdx = WIN32OLE.new('RTDX')
rtdx.ole_methods.each do |m|
print "#{m.return_type}\t#{m}("
print m.params.collect{|p|
"#{p.ole_type} #{p}" +
if p.default
"=#{p.default}"
else
""
end
}.join(", ")
puts ")"
endAnd here is the result:
VOID QueryInterface(GUID riid, VOID,VOID ppvObj)
UI4 AddRef()
UI4 Release()
VOID GetTypeInfoCount(UINT pctinfo)
VOID GetTypeInfo(UINT itinfo, UI4 lcid, VOID,VOID pptinfo)
VOID GetIDsOfNames(GUID riid, I1,I1 rgszNames, UINT cNames, UI4 lcid, I4 rgdispid)
VOID Invoke(I4 dispidMember, GUID riid, UI4 lcid, UI2 wFlags, DISPPARAMS pdispparams, VARIANT pvarResult, EXCEPINFO pexcepinfo, UINT puArgErr)
I4 Open(BSTR Channel_String, BSTR Read_Write)
I4 Close()
I4 Read(VARIANT pArr, I4 dataType, I4 numBytes)
I4 ReadI1(UI1 pData)
I4 ReadI2(I2 pData)
I4 ReadI4(I4 pData)
I4 ReadF4(R4 pData)
I4 ReadF8(R8 pData)
I4 ReadSAI1(VARIANT pArr)
I4 ReadSAI2(VARIANT pArr)
I4 ReadSAI4(VARIANT pArr)
I4 ReadSAF4(VARIANT pArr)
I4 ReadSAF8(VARIANT pArr)
VARIANT ReadSAI2V(I4 pStatus)
VARIANT ReadSAI4V(I4 pStatus)
I4 WriteI1(UI1 Data, I4 numBytes)
I4 WriteI2(I2 Data, I4 numBytes)
I4 WriteI4(I4 Data, I4 numBytes)
I4 WriteF4(R4 Data, I4 numBytes)
I4 WriteF8(R8 Data, I4 numBytes)
I4 Write(VARIANT Arr, I4 numBytes)
I4 Rewind()
I4 Flush()
I4 Seek(I4 MsgNum)
I4 SeekData(I4 numBytes)
I4 StatusOfWrite(I4 numBytes)
I4 GetNumMsgs(I4 pNum)
I4 GetChannelID(BSTR Channel_String, I4 chanId)
I4 GotoNextMsg()
I4 GetMsgID(I4 pMsgId)
I4 GetMsgNumber(I4 pMsgNum)
I4 GetMsgLength(I4 pLength)
I4 EnableRtdx()
I4 DisableRtdx()
I4 EnableChannel(BSTR ChannelName)
I4 DisableChannel(BSTR ChannelName)
I4 GetChannelStatus(BSTR ChannelName, I4 pChannelStatus)
I4 ConfigureRtdx(I2 Mode, I4 MainBufferSize, I4 NumOfMainBuffers)
I4 ConfigureLogFile(BSTR FileName, I4 FileSize, I2 FileFullMode, I2 FileOpenMode)
I4 GetRTDXRev(I4 RevNum)
I4 GetStatusString(BSTR StatusString)
I4 GetCapability(I4 Capability)
I4 RunDiagnostics(I2 TestType, I4 TestMode, I4 TestInfo)
BSTR GetDiagFilePath(I2 TestType)
I4 SetProcessor(BSTR Board, BSTR Cpu)
HRESULT GetTypeInfoCount(UINT pctinfo)
HRESULT GetTypeInfo(UINT itinfo, UI4 lcid, VOID,VOID pptinfo)
HRESULT GetIDsOfNames(GUID riid, I1,I1 rgszNames, UINT cNames, UI4 lcid, I4 rgdispid)
HRESULT Invoke(I4 dispidMember, GUID riid, UI4 lcid, UI2 wFlags, DISPPARAMS pdispparams, VARIANT pvarResult, EXCEPINFO pexcepinfo, UINT puArgErr)
Posted in audio, cs, ruby | no comments | atom