Esempio n. 1
0
File: main.c Progetto: JulianYG/WNR
/**@brief Handler for SPI0 master events.
 *
 * @param[in] event SPI master event.
 */
void spi_master_0_event_handler(nrf_drv_spi_evt_type_t* event)
{
//    uint32_t err_code = NRF_SUCCESS;
//	  uint32_t c_buff;   // Temporarily store the buffer index of the buffer ready to be compressed

    switch (*event)
    {
			  // Transfer complete; store in buffer.
        case NRF_DRV_SPI_EVENT_DONE:
            
            nrf_drv_spi_uninit(&m_spi_master_0);
            if (buffer_in(&db, &m_rx_data_spi[0]) == BUFFER_FULL) {
              if (buffer_compress(db.buffer, db.item_cnt, transmission_buffer) != BUFFER_SUCCESS) {
							//		buffer_reset(&db);  
									printf("Error compressing data!\n");
              }
              intan_convert_channel++;
              intan_convert_channel = intan_convert_channel % 32;
						}

            m_transfer_completed = true;
            break;

        default:
            // No implementation needed.
            break;
    }
}
Esempio n. 2
0
END_TEST

START_TEST(compress_success) {
  const unsigned char expected_dest[] = {
    0x78, 0x9c, 0x33, 0x34, 0x32, 0x36, 0x31, 0x35, 0x33, 0xb7,
    0xb0, 0x34, 0x00, 0x00, 0x0b, 0x2c, 0x02, 0x0e
  };

  fail_unless(buffer_append(source, "1234567890", 10) == 0);
  fail_unless(buffer_compress(source, dest) == 0);
  fail_unless(buffer_get_size(dest) == 18);
  fail_unless(memcmp(buffer_get_data(dest), expected_dest, 8) == 0);
}
Esempio n. 3
0
static void
packet_send1(void)
{
	u_char buf[8], *cp;
	int i, padding, len;
	u_int checksum;
	u_int32_t rnd = 0;

	/*
	 * If using packet compression, compress the payload of the outgoing
	 * packet.
	 */
	if (packet_compression) {
		buffer_clear(&compression_buffer);
		/* Skip padding. */
		buffer_consume(&outgoing_packet, 8);
		/* padding */
		buffer_append(&compression_buffer, "\0\0\0\0\0\0\0\0", 8);
		buffer_compress(&outgoing_packet, &compression_buffer);
		buffer_clear(&outgoing_packet);
		buffer_append(&outgoing_packet, buffer_ptr(&compression_buffer),
		    buffer_len(&compression_buffer));
	}
	/* Compute packet length without padding (add checksum, remove padding). */
	len = buffer_len(&outgoing_packet) + 4 - 8;

	/* Insert padding. Initialized to zero in packet_start1() */
	padding = 8 - len % 8;
	if (!send_context.plaintext) {
		cp = buffer_ptr(&outgoing_packet);
		for (i = 0; i < padding; i++) {
			if (i % 4 == 0)
				rnd = arc4random();
			cp[7 - i] = rnd & 0xff;
			rnd >>= 8;
		}
	}
Esempio n. 4
0
END_TEST

START_TEST(compress_null_dest) {
  fail_unless(buffer_compress(source, NULL) == -1);
}