Исправления. ЭМС, приём и отправка пакетов чтения/записи устройств.

This commit is contained in:
MaD_CaT
2024-11-05 15:19:54 +03:00
parent b39d5654fb
commit f879a2034f
7 changed files with 362 additions and 95 deletions

View File

@@ -132,3 +132,31 @@ func is_point_in_polygon(pos: Vector2, p: PackedVector2Array) -> bool:
func set_wordi(buf: PackedByteArray, index: int, val: int) -> void:
buf[index] = val & 0xff
buf[index + 1] = (val >> 8) & 0xff
func set_bit(bits, index, val, mask = 0xfffffffffffffff):
"""
:param bits: прежние значения
:param index: индекс бита
:param val: новое значение бита
:param mask:
:return:
мастер
"""
bits &= mask
if val:
bits |= 1 << index
else:
bits &= ~(1 << index)
return (bits & mask)
func set_bits(v, a, m):
"""
Устанавливает биты в соответствии с маской
:param v: Прежние значения бит
:param a: Новые значения бит
:param m: Маска изменяемых бит
:return: Изменённые значения бит
"""
return v & a & (~m) | (~v) & a & m | v & a & m | v & (~a) & (~m)