Files
RS232Monitor/utils.ts
2026-01-16 14:35:56 +09:00

29 lines
955 B
TypeScript

export const generateId = (): string => {
return Math.random().toString(36).substring(2, 9);
};
export const formatTime = (date: Date): string => {
const h = date.getHours().toString().padStart(2, '0');
const m = date.getMinutes().toString().padStart(2, '0');
const s = date.getSeconds().toString().padStart(2, '0');
const ms = date.getMilliseconds().toString().padStart(3, '0');
return `${h}:${m}:${s}.${ms}`;
};
export const uInt8ArrayToHex = (arr: Uint8Array): string => {
return Array.from(arr)
.map(b => b.toString(16).padStart(2, '0').toUpperCase())
.join(' ');
};
export const uInt8ArrayToAscii = (arr: Uint8Array): string => {
// Replace non-printable characters with a dot or special symbol to avoid rendering issues
return Array.from(arr)
.map(b => {
if (b >= 32 && b <= 126) {
return String.fromCharCode(b);
}
return '.'; // Placeholder for non-printable chars
})
.join('');
};