def transmit_raw(data, length, carrier_frequency, duty_cycle, gap)
		c_data = ::FFI::MemoryPointer.new(:int, data.size).write_array_of_int(data)
		Klass.TransmitRaw(@handle, c_data, length.to_i, carrier_frequency.to_i, duty_cycle.to_i, gap.to_i)
		true
   end
def transmit_raw(data, length, carrier_frequency, duty_cycle, gap)
		c_data = ::FFI::MemoryPointer.new(:int, data.size).write_array_of_int(data)
		Klass.TransmitRaw(@handle, c_data, length.to_i, carrier_frequency.to_i, duty_cycle.to_i, gap.to_i)
		true
   end
Transmits raw data as a series of pulses and spaces.
 @param [Array] data data to send
 @param [Integer] length length of the data array
 @param [Integer] carrier_frequency carrier frequency in Hz. Leave as 0 for default
 @param [Integer] duty_cycle duty cycle(10-50). Leave as 0 for default
 @param [Integer] gap_time gap time in us. This guarantees a gap time(no transmitting) after the data is sent, but can be set to 0
 @return [Boolean] returns true if the raw data was successfully transmitted, or raises an error.