align structure more with underlying chunk layout

This commit is contained in:
2025-01-06 21:49:08 -06:00
parent acac519e9a
commit 6580f66e91
35 changed files with 594 additions and 372 deletions
+1 -1
View File
@@ -17,7 +17,7 @@ decoder.decode(infoPacketBuffer);
decoder.decode(dataPacketBuffer);
// the system_name from info packets if available
console.log(decoder.system_name);
console.log(decoder.systemName);
// map of trackers populated with any data that has been received
// this merges both info and data packet properties into one
+7 -9
View File
@@ -23,18 +23,18 @@ setInterval(() => {
}
Object.entries(decoder.trackers).forEach(([trackerId, tracker]) => {
const trackerName = decoder.trackers[trackerId]?.tracker_name?.tracker_name;
const trackerName = decoder.trackers[trackerId]?.name;
console.log(`Tracker - id: ${trackerId} | name: ${trackerName || ''}`);
if (tracker.pos) {
console.log(`\tpos: ${tracker.pos.pos_x}, ${tracker.pos.pos_y}, ${tracker.pos.pos_z}`);
console.log(`\tpos: ${tracker.pos.x}, ${tracker.pos.x}, ${tracker.pos.x}`);
}
if (tracker.speed) {
console.log(`\tspeed: ${tracker.speed.speed_x}, ${tracker.speed.speed_y}, ${tracker.speed.speed_z}`);
console.log(`\tspeed: ${tracker.speed.x}, ${tracker.speed.y}, ${tracker.speed.z}`);
}
if (tracker.ori) {
console.log(`\tori: ${tracker.ori.ori_x}, ${tracker.ori.ori_y}, ${tracker.ori.ori_z}`);
console.log(`\tori: ${tracker.ori.x}, ${tracker.ori.y}, ${tracker.ori.z}`);
}
if (tracker.status) {
@@ -42,17 +42,15 @@ setInterval(() => {
}
if (tracker.accel) {
console.log(`\taccel: ${tracker.accel.accel_x}, ${tracker.accel.accel_y}, ${tracker.accel.accel_z}`);
console.log(`\taccel: ${tracker.accel.x}, ${tracker.accel.y}, ${tracker.accel.z}`);
}
if (tracker.trgtpos) {
console.log(
`\ttrgtpos: ${tracker.trgtpos.trgtpos_x}, ${tracker.trgtpos.trgtpos_y}, ${tracker.trgtpos.trgtpos_z}`
);
console.log(`\ttrgtpos: ${tracker.trgtpos.x}, ${tracker.trgtpos.y}, ${tracker.trgtpos.z}`);
}
if (tracker.timestamp) {
console.log(`\ttimestamp: ${tracker.timestamp.tracker_timestamp}`);
console.log(`\ttimestamp: ${tracker.timestamp}`);
}
});
}, 1000);
+5 -13
View File
@@ -1,10 +1,9 @@
// recreation of psn_server.cpp example from https://github.com/vyv/psn-cpp
const dgram = require('dgram');
const { Encoder, Tracker, Decoder } = require('../dist/cjs');
const { Encoder, Tracker } = require('../dist/cjs');
const client = dgram.createSocket('udp4');
const encoder = new Encoder('Test PSN Server', 2, 0);
const decoder = new Decoder();
const trackers = [];
@@ -40,25 +39,18 @@ setInterval(() => {
trackers[index].setTimestamp(timestamp);
});
console.log(`Sending Data Packets`);
const dataPackets = encoder.getDataPackets(timestamp, trackers);
dataPackets.forEach((packet, index) => {
const decodedPacket = decoder.decode(packet);
console.log(
`Sending PSN_DATA_PACKET : Frame Id = ${decodedPacket.packet_header.frame_id} , Packet Count = ${index + 1}`
);
dataPackets.forEach((packet) => {
client.send(packet, 56565, '236.10.10.10');
});
timestamp += 1;
}, 5);
setInterval(() => {
console.log(`Sending Info Packets`);
const infoPackets = encoder.getInfoPackets(timestamp, trackers);
infoPackets.forEach((packet, index) => {
const decodedPacket = decoder.decode(packet);
console.log(
`Sending PSN_INFO_PACKET : Frame Id = ${decodedPacket.packet_header.frame_id} , Packet Count = ${index + 1}`
);
infoPackets.forEach((packet) => {
client.send(packet, 56565, '236.10.10.10');
});
}, 500);