Menu

Example programs

Example Programs

microTone Module example programs are located at \samples directory.

Code layout

Recommended code layout for static DLL interface (this example based on Lazarus/Delphi):

// 1. load functions from DLL.
function UTMCreatePacket(OutData : Byte) : Word; stdcall; external 'utm.dll';
function UTMCreateBytePacket(OutData: Byte): Word; stdcall; external 'utm.dll';
.
.
.
// 2. Reset the device using 0x9 command. (optional)
if UTMCreatePacket(9) = 0) then
begin
  .
  .
  .
  // 3. Send command to device.
  if UTMCreateBytePacket(255) = 0 then
  .
  .
  .
end;

Recommended code layout for dynamic DLL interface (this example is based on C++):

// 1. Load DLL into the application.
HINSTANCE hDLL = LoadLibrary(L"utm.dll");
.
.
.
// 2. Load function from DLL.
typedef short (__stdcall *sendP)(char);
typedef short (__stdcall *sendByteP)(char);

sendP _send;
sendByteP _sendByte;

if(hDLL)
{
  _send = (sendP)GetProcAddress(hDLL, "UTMCreatePacket");
  _sendByte = (sendByteP)GetProcAddress(hDLL, "UTMCreateBytePacket");
  .
  .
  .
  // 3. Reset the device using 0x9 command. (optional)
  if(_send(9) == 0)
  {
    .
    .
    .
    // 4. Send command to device.
    if(_sendByte(255) == 0) { ... }
    .
    .
    .
  }
  .
  .
  .
  // 5. Close DLL handle.
  CloseHandle(hDLL);
}

Related

Documentation: Home

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.