123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- package at.acdp.urweb.rtde.packets;
- import java.io.DataInputStream;
- import java.io.DataOutputStream;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.List;
- import static at.acdp.urweb.rtde.CommandType.RTDE_CONTROL_PACKAGE_SETUP_OUTPUTS;
- public class RtdeSetupOutputs implements IRtdeData {
- public int recipe;
- private List<String> variables=new ArrayList<>();
- public String typesText;
- public RtdeSetupOutputs() {
- }
- public RtdeSetupOutputs addVariable(String name) {
- variables.add(name);
- return this;
- }
- @Override
- public int getType() {
- return RTDE_CONTROL_PACKAGE_SETUP_OUTPUTS;
- }
- @Override
- public RtdeSetupOutputs read(DataInputStream d, int length) throws IOException {
- recipe = d.readByte();
- byte[] text=new byte[length-1];
- d.readFully(text);
- typesText=new String(text);
- return this;
- }
- @Override
- public RtdeSetupOutputs send(DataOutputStream dos) throws IOException {
- var payload = String.join(",", variables).getBytes();
- sendHeader(dos, payload.length+8);
- dos.writeDouble(1); //output frequency [1..125]
- dos.write(payload);
- dos.flush();
- return this;
- }
- }
|