kopia lustrzana https://github.com/rpp0/gr-lora
Fine sync: accuracy improved further
rodzic
fdcdc005c9
commit
bd0f873c85
|
@ -1,33 +1,33 @@
|
|||
-------- Test Results on 2017-08-03 14:59:58 ---------
|
||||
-------- Test Results on 2017-08-23 17:19:43 ---------
|
||||
Test serie 0: [u'01 23 45 67 89 ab cd ef'] * 10
|
||||
Test 1 :: cr4-5 bw125 sf7 crc1 pwr1 :: passed 10 out of 10 (100.00%)
|
||||
Test 2 :: cr4-5 bw125 sf8 crc1 pwr1 :: passed 7 out of 10 ( 70.00%)
|
||||
Test 2 :: cr4-5 bw125 sf8 crc1 pwr1 :: passed 9 out of 10 ( 90.00%)
|
||||
Test 3 :: cr4-5 bw125 sf12 crc1 pwr1 :: passed 0 out of 10 ( 0.00%)
|
||||
Test 4 :: cr4-7 bw125 sf6 crc1 pwr1 :: passed 0 out of 10 ( 0.00%)
|
||||
Test 5 :: cr4-7 bw125 sf7 crc1 pwr1 :: passed 10 out of 10 (100.00%)
|
||||
Test 6 :: cr4-6 bw125 sf6 crc1 pwr1 :: passed 0 out of 10 ( 0.00%)
|
||||
Test 7 :: cr4-6 bw125 sf7 crc1 pwr1 :: passed 10 out of 10 (100.00%)
|
||||
=> Total passed: 37 out of 70 (52.86%)
|
||||
=> Total passed: 39 out of 70 (55.71%)
|
||||
|
||||
Test serie 1: [u'11 11 11'] * 1
|
||||
Test 8 :: cr4-5 bw125 sf7 crc1 pwr1 :: passed 1 out of 1 (100.00%)
|
||||
Test 9 :: cr4-5 bw125 sf8 crc1 pwr1 :: passed 1 out of 1 (100.00%)
|
||||
Test 10 :: cr4-5 bw125 sf12 crc1 pwr1 :: passed 0 out of 1 ( 0.00%)
|
||||
Test 10 :: cr4-5 bw125 sf12 crc1 pwr1 :: passed 1 out of 1 (100.00%)
|
||||
Test 11 :: cr4-7 bw125 sf6 crc1 pwr1 :: passed 1 out of 1 (100.00%)
|
||||
Test 12 :: cr4-7 bw125 sf7 crc1 pwr1 :: passed 1 out of 1 (100.00%)
|
||||
Test 13 :: cr4-6 bw125 sf6 crc1 pwr1 :: passed 0 out of 1 ( 0.00%)
|
||||
Test 14 :: cr4-6 bw125 sf7 crc1 pwr1 :: passed 1 out of 1 (100.00%)
|
||||
=> Total passed: 5 out of 7 (71.43%)
|
||||
=> Total passed: 6 out of 7 (85.71%)
|
||||
|
||||
Test serie 2: [u'11 11 11'] * 5
|
||||
Test 15 :: cr4-5 bw125 sf7 crc1 pwr1 :: passed 5 out of 5 (100.00%)
|
||||
Test 16 :: cr4-5 bw125 sf8 crc1 pwr1 :: passed 5 out of 5 (100.00%)
|
||||
Test 17 :: cr4-5 bw125 sf12 crc1 pwr1 :: passed 0 out of 5 ( 0.00%)
|
||||
Test 17 :: cr4-5 bw125 sf12 crc1 pwr1 :: passed 1 out of 5 ( 20.00%)
|
||||
Test 18 :: cr4-7 bw125 sf6 crc1 pwr1 :: passed 4 out of 5 ( 80.00%)
|
||||
Test 19 :: cr4-7 bw125 sf7 crc1 pwr1 :: passed 5 out of 5 (100.00%)
|
||||
Test 20 :: cr4-6 bw125 sf6 crc1 pwr1 :: passed 0 out of 5 ( 0.00%)
|
||||
Test 20 :: cr4-6 bw125 sf6 crc1 pwr1 :: passed 1 out of 5 ( 20.00%)
|
||||
Test 21 :: cr4-6 bw125 sf7 crc1 pwr1 :: passed 5 out of 5 (100.00%)
|
||||
=> Total passed: 24 out of 35 (68.57%)
|
||||
=> Total passed: 26 out of 35 (74.29%)
|
||||
|
||||
Test serie 3: [u'aa aa aa aa'] * 3
|
||||
Test 22 :: cr4-5 bw125 sf7 crc1 pwr1 :: passed 3 out of 3 (100.00%)
|
||||
|
@ -51,13 +51,13 @@ Test serie 4: [u'ff ff ff ff'] * 1
|
|||
|
||||
Test serie 5: [u'ff ff ff ff'] * 10
|
||||
Test 36 :: cr4-5 bw125 sf7 crc1 pwr1 :: passed 9 out of 10 ( 90.00%)
|
||||
Test 37 :: cr4-5 bw125 sf8 crc1 pwr1 :: passed 8 out of 10 ( 80.00%)
|
||||
Test 37 :: cr4-5 bw125 sf8 crc1 pwr1 :: passed 9 out of 10 ( 90.00%)
|
||||
Test 38 :: cr4-5 bw125 sf12 crc1 pwr1 :: passed 0 out of 10 ( 0.00%)
|
||||
Test 39 :: cr4-7 bw125 sf6 crc1 pwr1 :: passed 0 out of 10 ( 0.00%)
|
||||
Test 40 :: cr4-7 bw125 sf7 crc1 pwr1 :: passed 10 out of 10 (100.00%)
|
||||
Test 41 :: cr4-6 bw125 sf6 crc1 pwr1 :: passed 0 out of 10 ( 0.00%)
|
||||
Test 42 :: cr4-6 bw125 sf7 crc1 pwr1 :: passed 10 out of 10 (100.00%)
|
||||
=> Total passed: 37 out of 70 (52.86%)
|
||||
=> Total passed: 38 out of 70 (54.29%)
|
||||
|
||||
Test serie 6: [u'55 55 55 55'] * 3
|
||||
Test 43 :: cr4-5 bw125 sf7 crc1 pwr1 :: passed 3 out of 3 (100.00%)
|
||||
|
@ -110,5 +110,5 @@ Test serie 10: [u'88 88 88 88'] * 10
|
|||
=> Total passed: 40 out of 70 (57.14%)
|
||||
|
||||
|
||||
====== Total passed: 234 out of 413 (56.66%) ======
|
||||
====== Total passed: 240 out of 413 (58.11%) ======
|
||||
|
||||
|
|
|
@ -138,6 +138,8 @@ namespace gr {
|
|||
#ifndef NDEBUG
|
||||
d_dbg.attach();
|
||||
#endif
|
||||
|
||||
d_fine_sync = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -162,6 +164,7 @@ namespace gr {
|
|||
this->d_upchirp.resize(this->d_samples_per_symbol);
|
||||
this->d_downchirp_ifreq.resize(this->d_samples_per_symbol);
|
||||
this->d_upchirp_ifreq.resize(this->d_samples_per_symbol);
|
||||
this->d_upchirp_ifreq_v.resize(this->d_samples_per_symbol*3);
|
||||
|
||||
const double T = -0.5 * this->d_bw * this->d_symbols_per_second;
|
||||
const double f0 = (this->d_bw / 2.0);
|
||||
|
@ -183,6 +186,11 @@ namespace gr {
|
|||
|
||||
samples_to_file("/tmp/downchirp", &this->d_downchirp[0], this->d_downchirp.size(), sizeof(gr_complex));
|
||||
samples_to_file("/tmp/upchirp", &this->d_upchirp[0], this->d_upchirp.size(), sizeof(gr_complex));
|
||||
|
||||
// Values
|
||||
memcpy(&d_upchirp_ifreq_v[0], &d_upchirp_ifreq[0], sizeof(float) * this->d_samples_per_symbol);
|
||||
memcpy(&d_upchirp_ifreq_v[0]+this->d_samples_per_symbol, &d_upchirp_ifreq[0], sizeof(float) * this->d_samples_per_symbol);
|
||||
memcpy(&d_upchirp_ifreq_v[0]+this->d_samples_per_symbol*2, &d_upchirp_ifreq[0], sizeof(float) * this->d_samples_per_symbol);
|
||||
}
|
||||
|
||||
void decoder_impl::values_to_file(const std::string path, const unsigned char *v, const uint32_t length, const uint32_t ppm) {
|
||||
|
@ -290,6 +298,12 @@ namespace gr {
|
|||
}
|
||||
}
|
||||
|
||||
float decoder_impl::cross_correlate_ifreq_fast(const float *samples_ifreq, const float *ideal_chirp, const uint32_t window) {
|
||||
float result = 0;
|
||||
volk_32f_x2_dot_prod_32f(&result, samples_ifreq, ideal_chirp, window);
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Currently unused.
|
||||
*/
|
||||
|
@ -321,11 +335,33 @@ namespace gr {
|
|||
result += (samples_ifreq[i] - average) * (ideal_chirp[i] - chirp_avg) / sd;
|
||||
}
|
||||
|
||||
result /= (float)(to_idx - 1u);
|
||||
result /= (float)(to_idx);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
void decoder_impl::fine_sync(const gr_complex* in_samples, uint32_t bin_idx) {
|
||||
int32_t shift_ref = bin_idx * this->d_decim_factor + d_decim_factor;
|
||||
int32_t search_space = this->d_decim_factor; // At most d_decim_factor samples offset
|
||||
float samples_ifreq[d_samples_per_symbol];
|
||||
float max_correlation = 0.0f;
|
||||
int32_t lag = 0;
|
||||
|
||||
this->instantaneous_frequency(in_samples, samples_ifreq, d_samples_per_symbol);
|
||||
|
||||
for(int32_t i = -search_space; i < search_space; i++) {
|
||||
float c = cross_correlate_ifreq_fast(samples_ifreq, &d_upchirp_ifreq_v[shift_ref+i+d_samples_per_symbol], d_samples_per_symbol-1);
|
||||
if(c > max_correlation) {
|
||||
max_correlation = c;
|
||||
lag = i;
|
||||
}
|
||||
}
|
||||
|
||||
d_debug << "FINE: " << -lag << std::endl;
|
||||
|
||||
d_fine_sync = -lag;
|
||||
}
|
||||
|
||||
float decoder_impl::detect_downchirp(const gr_complex *samples, const uint32_t window) {
|
||||
float samples_ifreq[window];
|
||||
this->instantaneous_frequency(samples, samples_ifreq, window);
|
||||
|
@ -499,6 +535,9 @@ namespace gr {
|
|||
// DBGR_START_TIME_MEASUREMENT(false, "only");
|
||||
|
||||
uint32_t bin_idx = this->max_frequency_gradient_idx(samples, is_header);
|
||||
fine_sync(samples, bin_idx);
|
||||
if(d_fine_sync >= d_decim_factor)
|
||||
d_fine_sync = 0;
|
||||
//uint32_t bin_idx = this->get_shift_fft(samples);
|
||||
|
||||
// DBGR_INTERMEDIATE_TIME_MEASUREMENT();
|
||||
|
@ -506,6 +545,7 @@ namespace gr {
|
|||
// Header has additional redundancy
|
||||
if (is_header) {
|
||||
bin_idx /= 4u;
|
||||
//bin_idx = std::max(bin_idx - 2u, 0u) / 4u;
|
||||
}
|
||||
|
||||
// Decode (actually gray encode) the bin to get the symbol value
|
||||
|
@ -567,8 +607,8 @@ namespace gr {
|
|||
this->deshuffle(shuffle_pattern, is_header);
|
||||
|
||||
// For determining whitening sequence
|
||||
//if (!is_header)
|
||||
// this->values_to_file("/tmp/after_deshuffle", &this->d_words_deshuffled[0], this->d_words_deshuffled.size(), 8);
|
||||
if (!is_header)
|
||||
this->values_to_file("/tmp/after_deshuffle", &this->d_words_deshuffled[0], this->d_words_deshuffled.size(), 8);
|
||||
|
||||
this->dewhiten(is_header ? gr::lora::prng_header : this->d_whitening_sequence);
|
||||
this->hamming_decode(out_data);
|
||||
|
@ -886,7 +926,7 @@ namespace gr {
|
|||
|
||||
this->msg_raw_chirp_debug(raw_input, this->d_samples_per_symbol);
|
||||
//samples_debug(input, d_samples_per_symbol);
|
||||
this->consume_each(this->d_samples_per_symbol);
|
||||
this->consume_each(this->d_samples_per_symbol+d_fine_sync);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -919,7 +959,7 @@ namespace gr {
|
|||
|
||||
this->msg_raw_chirp_debug(raw_input, this->d_samples_per_symbol);
|
||||
//samples_debug(input, d_samples_per_symbol);
|
||||
this->consume_each(this->d_samples_per_symbol);
|
||||
this->consume_each(this->d_samples_per_symbol+d_fine_sync);
|
||||
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
#include <vector>
|
||||
#include <fstream>
|
||||
#include <lora/debugger.h>
|
||||
#include <volk/volk.h>
|
||||
|
||||
#define DECIMATOR_FILTER_SIZE (2*8*1 + 1) // 2*decim_factor*delay+1
|
||||
|
||||
|
@ -74,6 +75,8 @@ namespace gr {
|
|||
std::vector<gr_complex> d_upchirp; ///< The complex ideal upchirp.
|
||||
std::vector<float> d_upchirp_ifreq; ///< The instantaneous frequency of the ideal upchirp.
|
||||
|
||||
std::vector<float> d_upchirp_ifreq_v; ///< The instantaneous frequency of the ideal upchirp.
|
||||
|
||||
std::vector<gr_complex> d_fft; ///< Vector containing the FFT resuls.
|
||||
std::vector<gr_complex> d_mult_hf; ///< Vector containing the FFT decimation.
|
||||
std::vector<gr_complex> d_tmp; ///< Vector containing the FFT decimation.
|
||||
|
@ -114,6 +117,10 @@ namespace gr {
|
|||
float d_cfo_estimation; ///< An estimation for the current Center Frequency Offset.
|
||||
double d_dt; ///< Indicates how fast the frequency changes in a symbol (chirp).
|
||||
|
||||
float cross_correlate_ifreq_fast(const float *samples_ifreq, const float *ideal_chirp, const uint32_t window);
|
||||
void fine_sync(const gr_complex* in_samples, uint32_t bin_idx);
|
||||
uint32_t d_fine_sync;
|
||||
|
||||
/**
|
||||
* \brief Calculates the average energy from the given samples and returns whether its higher than the given threshold.
|
||||
*
|
||||
|
|
|
@ -35,7 +35,7 @@ namespace gr {
|
|||
* Whitening sequence
|
||||
*/
|
||||
const uint8_t prng_payload[] = {
|
||||
0xff, 0xff, 0x2d, 0xff, 0x78, 0xff, 0xe1, 0xff, 0x00, 0xff, 0xd2, 0x2d, 0x55, 0x78, 0x4b, 0xe1, 0x66, 0x00, 0x1e, 0xd2, 0xff, 0x55, 0x2d, 0x4b, 0x78, 0x66, 0xe1, 0x1e, 0xd2, 0xff, 0x87, 0x2d, 0xcc, 0x78, 0xaa, 0xe1, 0xb4, 0xd2, 0x99, 0x87, 0xe1, 0xcc, 0x00, 0xaa, 0x00, 0xb4, 0x00, 0x99, 0x00, 0xe1, 0xd2, 0x00, 0x55, 0x00, 0x99, 0x00, 0xe1, 0x00, 0xd2, 0xd2, 0x87, 0x55, 0x1e, 0x99, 0x2d, 0xe1, 0x78, 0xd2, 0xe1, 0x87, 0xd2, 0x1e, 0x55, 0x2d, 0x99, 0x78, 0x33, 0xe1, 0x55, 0xd2, 0x4b, 0x55, 0x66, 0x99, 0x1e, 0x33, 0x2d, 0x55, 0x78, 0x4b, 0xe1, 0x66, 0x00, 0x1e, 0x00, 0x2d, 0x00, 0x78, 0xd2, 0xe1, 0x87, 0x00, 0xcc, 0x00, 0x78, 0x00, 0x33, 0xd2, 0x55, 0x87, 0x99, 0xcc, 0x33, 0x78, 0x55, 0x33, 0x99, 0x55, 0x33, 0x99, 0x87, 0x33, 0xcc, 0x55, 0xaa, 0x99, 0x66, 0x33, 0x1e, 0x87, 0x2d, 0xcc, 0x78, 0xaa, 0x33, 0x66, 0x55, 0x1e, 0x99, 0x2d, 0xe1, 0x78, 0x00, 0x33, 0x00, 0x55, 0xd2, 0x99, 0x55, 0xe1, 0x4b, 0x00, 0xb4, 0x00, 0x4b, 0xd2, 0x66, 0x55, 0xcc, 0x4b, 0xaa, 0xb4, 0x66, 0x4b, 0xcc, 0x66, 0xaa, 0xcc, 0xb4, 0xaa, 0x4b, 0x66, 0x66, 0xcc, 0xcc, 0xaa, 0x78, 0xb4, 0x33, 0x4b, 0x55, 0x66, 0x4b, 0xcc, 0x66, 0x78, 0xcc, 0x33, 0x78, 0x55, 0xe1, 0x4b, 0x00, 0x66, 0xd2, 0xcc, 0x87, 0x78, 0x1e, 0xe1, 0xff, 0x00, 0xff, 0xd2, 0x2d, 0x87, 0xaa, 0x1e, 0x66, 0xff, 0xcc, 0xff, 0xaa, 0x2d, 0x66, 0xaa, 0x1e, 0x66, 0xff, 0xcc, 0x2d, 0xaa, 0xaa, 0x66, 0xb4, 0x1e, 0x4b, 0xff, 0x66, 0x2d, 0x1e, 0xaa, 0x2d, 0xb4, 0xaa, 0x4b, 0xb4, 0x66, 0x99, 0x1e, 0xe1, 0x2d, 0xd2, 0xaa, 0x55, 0xb4, 0x99, 0x99, 0xe1, 0xe1, 0x00, 0xd2, 0xd2, 0x55, 0x87, 0x99, 0xcc, 0xe1, 0xaa, 0x00, 0x66, 0xd2, 0xcc, 0x87, 0x78, 0xcc, 0xe1, 0xaa, 0xd2, 0x66, 0x87, 0xcc, 0x1e, 0x78, 0xff, 0xe1, 0x2d, 0xd2, 0x78, 0x87, 0x33, 0x1e, 0x87, 0xff, 0x1e, 0x2d, 0x2d, 0x78, 0x78, 0x33, 0x33, 0x87, 0x87, 0x1e, 0xcc, 0x2d, 0x78, 0x78, 0xe1, 0x33, 0xd2, 0x87, 0x55, 0xcc, 0x4b, 0x78, 0x66, 0xe1, 0xcc, 0xd2, 0xaa, 0x55, 0xb4, 0x4b, 0x99, 0x66, 0x33, 0xcc, 0x55, 0xaa, 0x99, 0xb4, 0xe1, 0x99, 0xd2, 0x33, 0x55, 0x55, 0x4b, 0x99, 0xb4, 0xe1, 0x99, 0xd2, 0x33, 0x55, 0x55, 0x4b, 0x4b, 0xb4, 0xb4, 0x99, 0x4b, 0x33, 0xb4, 0x55, 0x99, 0x4b, 0x33, 0xb4, 0x87, 0x4b, 0x1e, 0xb4, 0x2d, 0x99, 0xaa, 0x33, 0x66, 0x87, 0x1e, 0x1e, 0x2d, 0x2d, 0xaa, 0xaa, 0x66, 0x66, 0xcc, 0x1e, 0x78, 0x2f, 0x37, 0xa2, 0xa7, 0x76, 0x1f, 0x8c, 0x7f, 0x78, 0x2f, 0x33, 0xa2, 0xa7, 0x62, 0x1e, 0x0e, 0x7f, 0xbe, 0x2d, 0xff, 0xa4, 0xdf, 0x76, 0x2d, 0x5f, 0xaa, 0x7f, 0xf4, 0xfb, 0x93, 0xdf, 0x33, 0x3c, 0x87, 0xaa, 0x4c, 0xb6, 0x78, 0x91, 0x13, 0x33, 0x97, 0x82, 0x4c, 0x8c, 0xa8, 0x7c, 0xb4, 0x33, 0x6b, 0x8e, 0xb4, 0x5c, 0xd9, 0xa8, 0xe5, 0xbc, 0xf2, 0x5b, 0x86, 0xf4, 0x4c, 0x99, 0x68, 0xc5, 0xe9, 0xd2, 0x02, 0x87, 0x41, 0x4c, 0xd2, 0x2a, 0x87, 0xed, 0x3e, 0x00, 0x2d, 0x01, 0x2a, 0xd2, 0xb4, 0x83, 0x49, 0x16, 0xa4, 0x0c, 0x0b, 0xaa, 0x34, 0xb6, 0x4f, 0x4b, 0x6e, 0x94, 0x0f, 0x4b, 0x3f, 0xb4, 0xfd, 0x4f, 0x25, 0x46, 0x68, 0x1f, 0x73, 0x7f, 0x55, 0xff, 0x4d, 0x2d, 0x9c, 0x68, 0x99, 0x32, 0x61, 0x15, 0x00, 0x4f, 0xd0, 0xb4, 0x65, 0x98, 0xd1, 0xe1, 0xb3, 0x02, 0x87, 0xde, 0x1e, 0x55, 0xee, 0xf9, 0xff, 0xb3, 0xff, 0x95, 0xfb, 0x36, 0x00, 0x01, 0x40, 0x80, 0x87, 0x75, 0xc0, 0x03,
|
||||
0xff, 0xff, 0x2d, 0xff, 0x78, 0xff, 0xe1, 0xff, 0x00, 0xff, 0xd2, 0x2d, 0x55, 0x78, 0x4b, 0xe1, 0x66, 0x00, 0x1e, 0xd2, 0xff, 0x55, 0x2d, 0x4b, 0x78, 0x66, 0xe1, 0x1e, 0xd2, 0xff, 0x87, 0x2d, 0xcc, 0x78, 0xaa, 0xe1, 0xb4, 0xd2, 0x99, 0x87, 0xe1, 0xcc, 0x00, 0xaa, 0x00, 0xb4, 0x00, 0x99, 0x00, 0xe1, 0xd2, 0x00, 0x55, 0x00, 0x99, 0x00, 0xe1, 0x00, 0xd2, 0xd2, 0x87, 0x55, 0x1e, 0x99, 0x2d, 0xe1, 0x78, 0xd2, 0xe1, 0x87, 0xd2, 0x1e, 0x55, 0x2d, 0x99, 0x78, 0x33, 0xe1, 0x55, 0xd2, 0x4b, 0x55, 0x66, 0x99, 0x1e, 0x33, 0x2d, 0x55, 0x78, 0x4b, 0xe1, 0x66, 0x00, 0x1e, 0x00, 0x2d, 0x00, 0x78, 0xd2, 0xe1, 0x87, 0x00, 0xcc, 0x00, 0x78, 0x00, 0x33, 0xd2, 0x55, 0x87, 0x99, 0xcc, 0x33, 0x78, 0x55, 0x33, 0x99, 0x55, 0x33, 0x99, 0x87, 0x33, 0xcc, 0x55, 0xaa, 0x99, 0x66, 0x33, 0x1e, 0x87, 0x2d, 0xcc, 0x78, 0xaa, 0x33, 0x66, 0x55, 0x1e, 0x99, 0x2d, 0xe1, 0x78, 0x00, 0x33, 0x00, 0x55, 0xd2, 0x99, 0x55, 0xe1, 0x4b, 0x00, 0xb4, 0x00, 0x4b, 0xd2, 0x66, 0x55, 0xcc, 0x4b, 0xaa, 0xb4, 0x66, 0x4b, 0xcc, 0x66, 0xaa, 0xcc, 0xb4, 0xaa, 0x4b, 0x66, 0x66, 0xcc, 0xcc, 0xaa, 0x78, 0xb4, 0x33, 0x4b, 0x55, 0x66, 0x4b, 0xcc, 0x66, 0x78, 0xcc, 0x33, 0x78, 0x55, 0xe1, 0x4b, 0x00, 0x66, 0xd2, 0xcc, 0x87, 0x78, 0x1e, 0xe1, 0xff, 0x00, 0xff, 0xd2, 0x2d, 0x87, 0xaa, 0x1e, 0x66, 0xff, 0xcc, 0xff, 0xaa, 0x2d, 0x66, 0xaa, 0x1e, 0x66, 0xff, 0xcc, 0x2d, 0xaa, 0xaa, 0x66, 0xb4, 0x1e, 0x4b, 0xff, 0x66, 0x2d, 0x1e, 0xaa, 0x2d, 0xb4, 0xaa, 0x4b, 0xb4, 0x66, 0x99, 0x1e, 0xe1, 0x2d, 0xd2, 0xaa, 0x55, 0xb4, 0x99, 0x99, 0xe1, 0xe1, 0x00, 0xd2, 0xd2, 0x55, 0x87, 0x99, 0xcc, 0xe1, 0xaa, 0x00, 0x66, 0xd2, 0xcc, 0x87, 0x78, 0xcc, 0xe1, 0xaa, 0xd2, 0x66, 0x87, 0xcc, 0x1e, 0x78, 0xff, 0xe1, 0x2d, 0xd2, 0x78, 0x87, 0x33, 0x1e, 0x87, 0xff, 0x1e, 0x2d, 0x2d, 0x78, 0x78, 0x33, 0x33, 0x87, 0x87, 0x1e, 0xcc, 0x2d, 0x78, 0x78, 0xe1, 0x33, 0xd2, 0x87, 0x55, 0xcc, 0x4b, 0x78, 0x66, 0xe1, 0xcc, 0xd2, 0xaa, 0x55, 0xb4, 0x4b, 0x99, 0x66, 0x33, 0xcc, 0x55, 0xaa, 0x99, 0xb4, 0xe1, 0x99, 0xd2, 0x33, 0x55, 0x55, 0x4b, 0x99, 0xb4, 0xe1, 0x99, 0xd2, 0x33, 0x55, 0x55, 0x4b, 0x4b, 0xb4, 0xb4, 0x99, 0x4b, 0x33, 0xb4, 0x55, 0x99, 0x4b, 0x33, 0xb4, 0x87, 0x4b, 0x1e, 0xb4, 0x2d, 0x99, 0xaa, 0x33, 0x66, 0xc7, 0x1e, 0x1e, 0x2d, 0x2d, 0xaa, 0xaa, 0x66, 0x66, 0xcc, 0x1e, 0x78, 0x2d, 0x33, 0xaa, 0x87, 0x66, 0x1e, 0xcc, 0xff, 0x78, 0x2d, 0x33, 0xaa, 0x87, 0x66, 0x1e, 0x1e, 0xff, 0xff, 0x2d, 0xff, 0xaa, 0xff, 0x66, 0x2d, 0x1e, 0xaa, 0xff, 0xb4, 0xff, 0x99, 0xff, 0x33, 0x2d, 0x87, 0xaa, 0xcc, 0xb4, 0x78, 0x99, 0x33, 0x33, 0x87, 0x87, 0xcc, 0xcc, 0xaa, 0x78, 0xb4, 0x33, 0x4b, 0x87, 0xb4, 0xcc, 0x99, 0xaa, 0xe1, 0xb4, 0xd2, 0x4b, 0x87, 0xb4, 0xcc, 0x99, 0x78, 0xe1, 0xe1, 0xd2, 0x00, 0x87, 0x00, 0xcc, 0xd2, 0x78, 0x87, 0xe1, 0x1e, 0x00, 0x2d, 0x00, 0xaa, 0xd2, 0xb4, 0x87, 0x4b, 0x1e, 0xb4, 0x2d, 0x4b, 0xaa, 0xb4, 0xb4, 0x4b, 0x4b, 0x66, 0xb4, 0x1e, 0x4b, 0xff, 0xb4, 0xff, 0x4b, 0x2d, 0x66, 0x78, 0x1e, 0x33, 0xff, 0x55, 0xff, 0x4b, 0x2d, 0xb4, 0x78, 0x99, 0x33, 0xe1, 0x55, 0x00, 0x4b, 0xd2, 0xb4, 0x55, 0x99, 0x99, 0xe1, 0x33, 0x00, 0x87, 0xd2, 0x1e, 0x55, 0xff, 0x99, 0xff, 0x33, 0xff, 0x87, 0xff, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x87, 0xe1, 0xaa, 0xcc,
|
||||
|
||||
/*0xff, 0xff, 0x2e, 0xff, 0x5c, 0xff, 0xe8, 0xff, 0x00, 0xff, 0xd1, 0x2e, 0x72, 0x5c, 0x65, 0xe8, 0x4b, 0x00, 0x17, 0xd1, 0xff, 0x72, 0x2e, 0x65, 0x5c, 0x4b, 0xe8, 0x17, 0xd1, 0xff, 0xa3, 0x2e, 0xc6, 0x5c, 0x8d, 0xe8, 0x9a, 0xd1, 0xb4, 0xa3, 0xe8, 0xc6, 0x00, 0x8d, 0x00, 0x9a, 0x00, 0xb4, 0x00, 0xe8, 0xd1, 0x00, 0x72, 0x00, 0xb4, 0x00, 0xe8, 0x00, 0xd1, 0xd1, 0xa3, 0x72, 0x17, 0xb4, 0x2e, 0xe8, 0x5c, 0xd1, 0xe8, 0xa3, 0xd1, 0x17, 0x72, 0x2e, 0xb4, 0x5c, 0x39, 0xe8, 0x72, 0xd1, 0x65, 0x72, 0x4b, 0xb4, 0x17, 0x39, 0x2e, 0x72, 0x5c, 0x65, 0xe8, 0x4b, 0x00, 0x17, 0x00, 0x2e, 0x00, 0x5c, 0xd1, 0xe8, 0xa3, 0x00, 0xc6, 0x00, 0x5c, 0x00, 0x39, 0xd1, 0x72, 0xa3, 0xb4, 0xc6, 0x39, 0x5c, 0x72, 0x39, 0xb4, 0x72, 0x39, 0xb4, 0xa3, 0x39, 0xc6, 0x72, 0x8d, 0xb4, 0x4b, 0x39, 0x17, 0xa3, 0x2e, 0xc6, 0x5c, 0x8d, 0x39, 0x4b, 0x72, 0x17, 0xb4, 0x2e, 0xe8, 0x5c, 0x00, 0x39, 0x00, 0x72, 0xd1, 0xb4, 0x72, 0xe8, 0x65, 0x00, 0x9a, 0x00, 0x65, 0xd1, 0x4b, 0x72, 0xc6, 0x65, 0x8d, 0x9a, 0x4b, 0x65, 0xc6, 0x4b, 0x8d, 0xc6, 0x9a, 0x8d, 0x65, 0x4b, 0x4b, 0xc6, 0xc6, 0x8d, 0x5c, 0x9a, 0x39, 0x65, 0x72, 0x4b, 0x65, 0xc6, 0x4b, 0x5c, 0xc6, 0x39, 0x5c, 0x72, 0xe8, 0x65, 0x00, 0x4b, 0xd1, 0xc6, 0xa3, 0x5c, 0x17, 0xe8, 0xff, 0x00, 0xff, 0xd1, 0x2e, 0xa3, 0x8d, 0x17, 0x4b, 0xff, 0xc6, 0xff, 0x8d, 0x2e, 0x4b, 0x8d, 0x17, 0x4b, 0xff, 0xc6, 0x2e, 0x8d, 0x8d, 0x4b, 0x9a, 0x17, 0x65, 0xff, 0x4b, 0x2e, 0x17, 0x8d, 0x2e, 0x9a, 0x8d, 0x65, 0x9a, 0x4b, 0xb4, 0x17, 0xe8, 0x2e, 0xd1, 0x8d, 0x72, 0x9a, 0xb4, 0xb4, 0xe8, 0xe8, 0x00, 0xd1, 0xd1, 0x72, 0xa3, 0xb4*/
|
||||
};
|
||||
|
|
Ładowanie…
Reference in New Issue