Sending json data via tcp/ip node with start and end delimiters (tcam-mini)

Hi, I'm trying to communicate via a tcp/ip node with a thermal camera board. The documentation is here (tCam/tCam-Mini/firmware at main · danjulio/tCam · GitHub), and it says that a json command with a start delimited (0x02) and an end delimter (0x03) can be used; IE <0x02><json string><0x03>.

The example given is

{"cmd":"get_status"}

Which returns

{
	"status": {
		"Camera":"tCam-Mini-EFB5",
		"Model":262402,
		"Version":"2.0",
		"Time":"17:33:49.0",
		"Date":"2/3/21"
	}
}

I have tried variants of get_status,\\2 get_status \\3 as msg.payload using the inject node into the tcp request node; and also eg msg.payload = { "cmd": Buffer.concat([buf1, buf2, buf3]).toString()} in a function node where buf1 is 0x02, buf2 is the string and buf3 is 0x03;
but am not getting a response. The flow I've used for the latter is below. Can anyone offer advise on how to incorporate the start and end delimiters please? Thanks

[{"id":"2ba4eeddcd7dbac0","type":"tcp request","z":"0bf00a3cf0d0d07d","name":"","server":"10.20.30.105","port":"5001","out":"time","ret":"string","splitc":"1000","newline":"","trim":false,"tls":"","x":460,"y":220,"wires":[["11f3972e6975e8b7"]]},{"id":"b1c269f80afc8b20","type":"inject","z":"0bf00a3cf0d0d07d","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"{\"cmd\":\"\\\\2 get_status \\\\3\"}","payloadType":"json","x":110,"y":220,"wires":[["2ba4eeddcd7dbac0","2093eef66e9bf6e8"]]},{"id":"11f3972e6975e8b7","type":"debug","z":"0bf00a3cf0d0d07d","name":"debug 20","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":760,"y":220,"wires":[]},{"id":"2093eef66e9bf6e8","type":"debug","z":"0bf00a3cf0d0d07d","name":"debug 21","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":500,"y":320,"wires":[]}]

The numbers 2 and 3 are ASCII STX (start of text) and ETX (end of text) characters and are typically added to the very beginning and end of the data (not inside like you are attempting).

Add this to a function node immediately before the TCP node:

  const STX = '\x02';
  const ETX = '\x03';

  if (typeof msg.payload === 'object') {
    msg.payload = STX + JSON.stringify(msg.payload) + ETX;
  } else if (typeof msg.payload === 'string') {
    msg.payload = STX + msg.payload + ETX;
  } else {
    msg.payload = STX + String(msg.payload) + ETX;
  }

  return msg;

Ah, makes sense. Thank you.