public CanOpenStatus canHardwareConnect(int can_port, int can_bitrate) { CanOpenStatus ret = CanOpenStatus.CANOPEN_ERROR; ret = client_sdo.canHardwareConnect(can_port, can_bitrate); if (ret != CanOpenStatus.CANOPEN_OK) { return(ret); } ret = receive_pdo.canHardwareConnect(can_port, can_bitrate); if (ret != CanOpenStatus.CANOPEN_OK) { return(ret); } ret = transmit_pdo.canHardwareConnect(can_port, can_bitrate); if (ret != CanOpenStatus.CANOPEN_OK) { return(ret); } ret = nmt_mlaster.canHardwareConnect(can_port, can_bitrate); return(ret); }
public CanOpenStatus canHardwareDisconnect() { CanOpenStatus ret = CanOpenStatus.CANOPEN_ERROR; ret = client_sdo.canHardwareDisconnect(); if (ret != CanOpenStatus.CANOPEN_OK) { return(ret); } ret = receive_pdo.canHardwareDisconnect(); if (ret != CanOpenStatus.CANOPEN_OK) { return(ret); } ret = transmit_pdo.canHardwareDisconnect(); if (ret != CanOpenStatus.CANOPEN_OK) { return(ret); } ret = nmt_mlaster.canHardwareDisconnect(); return(ret); }
public CanOpenStatus startupNode(byte nodeId) { CanOpenStatus ret = CanOpenStatus.CANOPEN_ERROR; this.node_id = nodeId; ret = client_sdo.connect(nodeId); if (ret != CanOpenStatus.CANOPEN_OK) { return(ret); } nmt_mlaster.nodeGuardPollStart(nodeId, 3000); if (ret != CanOpenStatus.CANOPEN_OK) { return(ret); } ret = receive_pdo.setCobid((uint)0x180 + this.node_id); if (ret != CanOpenStatus.CANOPEN_OK) { return(ret); } ret = transmit_pdo.setup((uint)0x200 + this.node_id, this.output_mirror_values, 1); if (ret != CanOpenStatus.CANOPEN_OK) { return(ret); } ret = transmit_pdo.periodicTransmission(true); if (ret != CanOpenStatus.CANOPEN_OK) { return(ret); } ret = nmt_mlaster.nodeReset(node_id); if (ret != CanOpenStatus.CANOPEN_OK) { return(ret); } Thread.Sleep(4000); ret = configureIoInputs(); if (ret != CanOpenStatus.CANOPEN_OK) { return(ret); } ret = configureIoOutputs(); if (ret != CanOpenStatus.CANOPEN_OK) { return(ret); } uint canopenErrorCode; ret = client_sdo.objectWrite(0x100c, 0, (ushort)1000, out canopenErrorCode); if (ret != CanOpenStatus.CANOPEN_OK) { return(ret); } ret = client_sdo.objectWrite(0x100d, 0, (byte)3, out canopenErrorCode); if (ret != CanOpenStatus.CANOPEN_OK) { return(ret); } return(ret); }