void setProfiledRelativePositionSetpoint(int fd, uint8_t nodeId, int64_t pos)
{
    ZO_PROTOCOL_PACKET p;
    p.addressedNodeID = nodeId;
    p.ownNodeID = 0x01;
    p.commandID = 0x12;
    p.byteCount = 0x08;
    s64ToStr(pos, p.data);
    p.lrc = calcLRC(&p);
    if( putPacketSerial(fd, &p) )
        getResponse(fd, &p);
}
void profiledMoveToAbsolutePosition(int fd, uint8_t nodeId, int64_t pos)
{
    ZO_PROTOCOL_PACKET p;
    p.addressedNodeID = nodeId;
    p.ownNodeID = 0x01;
    p.commandID = 0x0B;
    p.byteCount = 0x08;
    s64ToStr(pos, p.data);
    p.lrc = calcLRC(&p);
    if( putPacketSerial(fd, &p) )
        getResponse(fd, &p);
}
void zoSms::setProfiledRelativePositionSetpoint(uint8_t nodeId, int64_t pos)
{
	ZO_PROTOCOL_PACKET p;
	
	p.addressedNodeID = nodeId;
	p.ownNodeID = 1;
	p.commandID = 0x12;
	p.byteCount = 8;
	s64ToStr(pos,p.data);
	p.lrc = calcLRC(&p);
	
	if( ha.putPacket(&p) )
		getResponse(&p);
}
void zoSms::profiledMoveToAbsolutePosition(uint8_t nodeId, int64_t pos)
{
	ZO_PROTOCOL_PACKET p;
	
	p.addressedNodeID = nodeId;
	p.ownNodeID = 1;
	p.commandID = 0x0B;
	p.byteCount = 8;
	s64ToStr(pos,p.data);
	p.lrc = calcLRC(&p);
	
	if( ha.putPacket(&p) )
		getResponse(&p);
}