LONG busHandle;
LONG ecuAddress;
LONG ecuHandle;
char deviceName[8]; // device name of the node
busHandle = J1939GetBus( "J1939" );
ecuAddress = dbNode.NmStationAddress; // dbNode must be configured in database
J1939MakeName(
deviceName, dbNode.NmJ1939AAC,
dbNode.NmJ1939IndustryGroup,
dbNode.NmJ1939SystemInstance,
dbNode.NmJ1939System,
dbNode.NmJ1939Function,
dbNode.NmJ1939FunctionInstance,
dbNode.NmJ1939ECUInstance,
dbNode.NmJ1939ManufacturerCode,
dbNode.NmJ1939IdentityNumber
);
ecuHandle = J1939CreateECU( busHandle, deviceName );
if (ecuHandle != 0)
{
/* allow every component to be changed except arbitrary address capable flag */
J1939EnableNameManagement(ecuHandle, 1, 0xFE);
J1939ECUGoOnline( ecuHandle, ecuAddress );
}