Method: OpenC3::BinaryAccessor.byte_swap_buffer!

Defined in:
lib/openc3/accessors/binary_accessor.rb

.byte_swap_buffer!(buffer, num_bytes_per_word) ⇒ String

Byte swaps every X bytes of data in a buffer overwriting the buffer

Parameters:

  • buffer (String)

    Buffer to modify

  • num_bytes_per_word (Integer)

    Number of bytes per word that will be swapped

Returns:

  • (String)

    buffer passed in as a parameter



1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
# File 'lib/openc3/accessors/binary_accessor.rb', line 1317

def self.byte_swap_buffer!(buffer, num_bytes_per_word)
  num_swaps = buffer.length / num_bytes_per_word
  index = 0
  num_swaps.times do
    range = index..(index + num_bytes_per_word - 1)
    buffer[range] = buffer[range].reverse
    index += num_bytes_per_word
  end
  buffer
end