package com.casic.endoscope.extensions import kotlin.math.abs fun Int.createHorizontalCommand(): ByteArray { val temp = this * 100 val hData1 = temp shr 8 val hData2 = temp - (hData1 shl 8) val hSum = (0x01 + 0x4B + hData1 + hData2) % 0x100 return byteArrayOf( 0xFF.toByte(), 0x01, 0x00, 0x4B, hData1.toByte(), hData2.toByte(), hSum.toByte() ) } fun Int.createVerticalCommand(): ByteArray { val temp = if (this < 0) { 36000 - abs(this) * 100 } else { this * 100 } val vData1 = temp shr 8 val vData2 = temp - (vData1 shl 8) val vSum = (0x01 + 0x4D + vData1 + vData2) % 0x100 return byteArrayOf( 0xFF.toByte(), 0x01, 0x00, 0x4D, vData1.toByte(), vData2.toByte(), vSum.toByte() ) }