Flipper/Infrared/Pronto_IR/ir_convert.js

24 lines
891 B
JavaScript
Raw Normal View History

2022-05-24 05:32:14 +00:00
//usage: node irconvert.js <pronto hex>
//steps from https://stackoverflow.com/a/27323452
//sourced from https://gist.github.com/XMB5/a877ab620d812260f2da8380aac050d3
numbers=process.argv[2].split(' ').map(x=>parseInt(x,16))
fullSequenceConverted=[]
carrierFrequency = 1000000/(numbers[1] * .241246)
codeLength = numbers[2]
repeatCodeLength = numbers[3]
for(i=4;i<numbers.length;i++) {
convertedToMicrosec = Math.round(1000000*(numbers[i]/carrierFrequency))
fullSequenceConverted.push(convertedToMicrosec)
}
sequence1EndPoint = 2 * codeLength
sequence2EndPoint = sequence1EndPoint + 2 * repeatCodeLength
firstSequence = fullSequenceConverted.slice(0, sequence1EndPoint)
secondSequence = fullSequenceConverted.slice(sequence1EndPoint, sequence2EndPoint)
console.log('first: ' + firstSequence.join(', '))
console.log('second: ' + secondSequence.join(', '))