tag:blogger.com,1999:blog-31048334591417086962024-03-14T03:33:05.019+02:00Майстерня-лабораторія "GUS"Шпаргалки. guslab.com.uahttp://www.blogger.com/profile/05614575351100649407noreply@blogger.comBlogger85125tag:blogger.com,1999:blog-3104833459141708696.post-74465003172305838412024-01-16T16:17:00.004+02:002024-01-16T16:17:40.783+02:00HSV to RGB конвертер. код для Arduino/ESP<p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSmKAab7aVQ9CSD8uaaustDo0P_F57lu3iL2ZTfTiDuHFJDjP-iDUwz3hG97Ks8lmGZihCCTlSs0DTAH_nacbcrCkALbjbP6f8GeuH61e5bI1RL3pPKOeB1MZtUzvOK-EZymYR-VPVxUkMWBUrJlqtQryrrXoGhVWnEb2sVotzD4QKxbNwUx4YSYHXkTU/s816/hue.webp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="433" data-original-width="816" height="170" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSmKAab7aVQ9CSD8uaaustDo0P_F57lu3iL2ZTfTiDuHFJDjP-iDUwz3hG97Ks8lmGZihCCTlSs0DTAH_nacbcrCkALbjbP6f8GeuH61e5bI1RL3pPKOeB1MZtUzvOK-EZymYR-VPVxUkMWBUrJlqtQryrrXoGhVWnEb2sVotzD4QKxbNwUx4YSYHXkTU/s320/hue.webp" width="320" /></a></div>Код який конвертує колір з кольорового простору HSV(Hue - відтінок кольору, Saturation - насиченість кольором (в нашому випадку насиченість білого кольору, Value - Яскравість) в кольоровий простір RGB. <br /><br /><p></p><span><a name='more'></a></span><p>Займався розробкою годинника на світлодіодній матриці формату HUB75.</p><p>Застосовував бібліотеку <a data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" href="https://github.com/mrfaptastic/ESP32-HUB75-MatrixPanel-DMA" style="box-sizing: border-box;">ESP32-HUB75-MatrixPanel-DMA</a>.</p><div>Потрібно було змінити колір, та так щоб можна було робити це плавно для кольорових ефектів. І в такому випадку кольоровий простір HSV - гарно вирішує таку задачу. </div><div><br /></div><div>Бібліотека HUB75 сприймає колір в форматі R(Red), G(Green), B(blue). Де R, G, B - яскравість кожного з основних кольорів. Кожна зимінна може приймати значення від 0 до 255. </div><div><br /></div><div>Вбудованого інструменту для конвертації бібліотека HUB75 немає, або я неуважно дивився, тому <a href="https://piandmore.wordpress.com/2020/08/15/rgb-to-hsv-and-vice-versa/" target="_blank">нагуглив </a>і застосував код який покажу нижче. <br /><br />функція приймає такі значення: <br />hsv[0] (Параметр Hue) 0...360 (це градуси на кольоровому колі);<br />hsv[1] (Параметр Saturation) 0 ... 255 (насиченість кольором, де 0 - це білий колір незалежно від Hue, 255 - це колір заданий Hue;<br />hsv[2] (Параметр Value) 0...255 (яскравість, де 0 - всі кольори вимкнені, 255 - всі кольори світяться в залежності від Hue та Saturation);<br /><br />Функція віддає такі значення:</div><div>rgb[0] (яскравість червоного кольору) 0...255;</div><div>rgb[1] (яскравість зеленого кольору) 0...255;</div><div>rgb[2] (яскравість синього кольору) 0...255;<br /><br />Код функції. Код можна просто скопіювати та вставити в скетч Arduino поза функцією loop() чи setup():</div><div><pre style="background: rgb(249, 249, 249); border: 1px solid rgb(238, 238, 238); box-sizing: inherit; color: #777777; font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; font-size: 0.9375rem; line-height: 1.6; margin-bottom: 1.6em; max-width: 100%; overflow: auto; padding: 1em 1.5em 1em 40px;">void HSVtoRGB (double hsv[], byte rgb[]) {
double h = hsv[0];
double s = hsv[1]/255.0;
double v = hsv[2]/255.0;
double c = v*s;
double tmp = h/60.0;
double tmp2 = tmp-2*floor(tmp/2);
double x = c*(1-abs(tmp2-1));
double m = v-c;
double r,g,b;
int i = floor(tmp);
switch (i) {
case 0:
r = c;
g = x;
b = 0;
break;
case 1:
r = x;
g = c;
b = 0;
break;
case 2:
r = 0;
g = c;
b = x;
break;
case 3:
r = 0;
g = x;
b = c;
break;
case 4:
r = x;
g = 0;
b = c;
break;
case 5:
r = c;
g = 0;
b = x;
break;
}
rgb[0] = constrain((int)255*(r+m),0,255);
rgb[1] = constrain((int)255*(g+m),0,255);
rgb[2] = constrain((int)255*(b+m),0,255);
}</pre>Приклад використання коду. Код можна скопіювати та використовувати в тілі функції Loop() чи іеших функцій:</div><div><br /></div><div><pre style="background: rgb(249, 249, 249); border: 1px solid rgb(238, 238, 238); box-sizing: inherit; color: #777777; font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; font-size: 0.9375rem; line-height: 1.6; margin-bottom: 1.6em; max-width: 100%; overflow: auto; padding: 1em 1.5em 1em 40px;"><span style="font-size: 0.9375rem;">double hsv[3];
</span>byte rgb[3];
hsv[0] = 0; // red
hsv[1] = 255; // максимальна начисеність кольором - червоний
hsv[2] = 255; // максимальна яскравість
HSVtoRGB(rgb,hsv);
Serial.println(rgb[0]); // Red = 255
Serial.println(rgb[1]); // Green = 0
Serial.println(rgb[2]); // BLUE = 0</pre>В прикладі ми створюємо 2 масиви hsv та grb. </div><div>Задаємо значення :</div><div><pre style="background: rgb(249, 249, 249); border: 1px solid rgb(238, 238, 238); box-sizing: inherit; color: #777777; font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; font-size: 0.9375rem; line-height: 1.6; margin-bottom: 1.6em; max-width: 100%; overflow: auto; padding: 1em 1.5em 1em 40px;">hsv[0] = 0; // red
hsv[1] = 255; // максимальна начисеність кольором - червоний
hsv[2] = 255; // максимальна яскравість </pre>Та отримаємо яскравий червоний колір. <br /><br />Для зеленого кольору, необхідно задати Hue = 120:</div><div><br /></div><div><pre style="background: rgb(249, 249, 249); border: 1px solid rgb(238, 238, 238); box-sizing: inherit; color: #777777; font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; font-size: 0.9375rem; line-height: 1.6; margin-bottom: 1.6em; max-width: 100%; overflow: auto; padding: 1em 1.5em 1em 40px;">hsv[0] = 120; // green</pre>Як що є питання, пишіть. Спробую відповісти.</div><span style="background-color: #f6f8fa; box-sizing: border-box; color: #1f2328; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; font-size: 20px;"></span>guslab.com.uahttp://www.blogger.com/profile/05614575351100649407noreply@blogger.com0tag:blogger.com,1999:blog-3104833459141708696.post-38468987292204117282023-12-08T14:25:00.003+02:002023-12-08T14:25:48.437+02:00розпіновка AVR ISP SHIELD. Памятка для підключення інших контролерів.<p> стаття по програмуванню тут : <a href="https://www.guslab.com.ua/2016/11/tm1804-attiny85-atmel-arduino.html">посилання</a></p><p><br /></p><p>Розпіновка AVR ISP SHIELD для підключення інших контролерів. Наприклад attiny44, attiny 85, та ін.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4xrRtuBOcCwFVqo7lK6U1ze9BC8SwSYWkwd2l9iMmu9qKhSeLybdsR4kmTGFGQ6ViMeVZyhS_LJOvebbxWS8xH4GJNDcMotI-qnE3VftPNPp0ww_EGsXpVkCCom6w7atsL5tuZ6lBRig2XWvPoFuOUBN6kvgF5zO6trhO4smapBBhzSSElZyTah1XgDo/s4000/AVR_ISP_SHIELD_PINOUT.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1868" data-original-width="4000" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4xrRtuBOcCwFVqo7lK6U1ze9BC8SwSYWkwd2l9iMmu9qKhSeLybdsR4kmTGFGQ6ViMeVZyhS_LJOvebbxWS8xH4GJNDcMotI-qnE3VftPNPp0ww_EGsXpVkCCom6w7atsL5tuZ6lBRig2XWvPoFuOUBN6kvgF5zO6trhO4smapBBhzSSElZyTah1XgDo/w536-h250/AVR_ISP_SHIELD_PINOUT.jpg" width="536" /></a></div><br /><p><br /></p>guslab.com.uahttp://www.blogger.com/profile/05614575351100649407noreply@blogger.com0tag:blogger.com,1999:blog-3104833459141708696.post-22131300386916930822021-03-03T23:25:00.002+02:002021-04-08T15:38:51.710+03:00BP2513D. схема включения. <p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgffOT6xCBuisa_9NfpOxc3T5IJ6MbJ6hT9qK7qwuo10TNzBS3GRROe4WbVMNgWYu0u9zHxy83pgnKI6Xhu0J1zmNP_gTFYwpPKUEdQSQxYMUevYC8SxkI7bZ7jl7Qzb5u2DspLKPq_vYg/s1542/BP2513D.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1172" data-original-width="1542" height="304" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgffOT6xCBuisa_9NfpOxc3T5IJ6MbJ6hT9qK7qwuo10TNzBS3GRROe4WbVMNgWYu0u9zHxy83pgnKI6Xhu0J1zmNP_gTFYwpPKUEdQSQxYMUevYC8SxkI7bZ7jl7Qzb5u2DspLKPq_vYg/w400-h304/BP2513D.png" width="400" /></a></div><span><a name='more'></a></span><div class="separator" style="clear: both; text-align: center;">Спихнули на ремонт супер люстру. а в ней преобразователи вот на єтом чуде. на сайте произвоителя скачать не смог. нашел кусок из даташита со схемой, но без распиновки. </div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;">И о чудо. а тут и распиновочка. <a href="https://www.big-bit.com/Meeting/2017led/images/zs/hhbd/jfmy.pdf">Выдрал отсюда.</a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;">ссылка на схему в <a href="https://photos.app.goo.gl/8knXZo8dVqnhkB8u5">гугл док.</a></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">Нужно быть внимательным с землями. Так как силовая земля отделена от земли микросхемы. Даже если осциллографом пробовать снимать сигнал с обоими землями, то микросхема выходит из строя. По крайней мере в моей реализации было именно так.</div><br /><p></p>guslab.com.uahttp://www.blogger.com/profile/05614575351100649407noreply@blogger.com1tag:blogger.com,1999:blog-3104833459141708696.post-62974511298931670272020-03-17T22:04:00.005+02:002023-08-02T15:21:17.524+03:00Налаштування монітора Samsung 960bf win10 x64. MagicTune<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWF45LSOaF-w8k18oyhjKC3XLir1JpRN8F2pYsDGNzp0vojZKDZWIQa9wZQPGW2CKU1T1l2uofV7G5leYMptoSvnLPLqAxq65cR85WXxChkA0pF41jClgiSUl1aiX0e5c08j2L2m9sPaU/s1600/Samsung-960BF-QFV-531332254.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="500" data-original-width="500" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWF45LSOaF-w8k18oyhjKC3XLir1JpRN8F2pYsDGNzp0vojZKDZWIQa9wZQPGW2CKU1T1l2uofV7G5leYMptoSvnLPLqAxq65cR85WXxChkA0pF41jClgiSUl1aiX0e5c08j2L2m9sPaU/s320/Samsung-960BF-QFV-531332254.jpg" width="320" /></a></div>
Попався мені моніторчик Samsung 960bf. Замінив у ньому підсвічування на світлодіодне і поставив на комп з Win10 x64. Під'єднаний по DVI інтерфейсу. Вирішив підлаштувати яскравість/контраст і виявив, що кнопок налаштування немає. Нижче опис вирішення питання<br />
<br />
<a name='more'></a><div dir="ltr" trbidi="on">Підтримка драйверів не ведеться вже давно. Найостанніша версія для Win7.</div><div dir="ltr" trbidi="on">Запустив налаштування в такий спосіб:</div><div dir="ltr" trbidi="on">1. завантажив з офіційного сайту версію програми для win7 x64.</div>
<br />
<ol style="text-align: left;">
<li><a href="https://www.samsung.com/us/consumer/learningresources/monitor/download/MagicTunePremium_3.0.5_Win7_64Bit.zip" target="_blank">Посилання на сайт samsung</a>.</li>
<li><a href="https://drive.google.com/file/d/1VN6UPVeGdroH52P1acjgj3HUzJCHFye_/view?usp=sharing" target="_blank">Посилання на googledrive.</a></li>
</ol>
<br /><div dir="ltr" trbidi="on">2. встановив програму. перезавантажив Win.</div><div dir="ltr" trbidi="on">3. через властивості програми зайшов у папку, в якій вона розташована. у мене це: "C:\Program Files (x86)\MagicTune Premium".</div><div dir="ltr" trbidi="on">4. Змінив налаштування сумісності на "сумісність з Windows7" для таких файлів:</div>
<div style="text-align: left;">
</div>
<ol style="text-align: left;">
<li>MagicTuneCore.exe</li>
<li>MagicTuneEngine.exe</li>
<li>MagicTune.exe</li>
<li>LCDGamma0101.exe</li>
</ol>
<div>
5. Знову перезапустив Windows, і о магія, вдалося відрегулювати монітор.</div>
</div>
guslab.com.uahttp://www.blogger.com/profile/05614575351100649407noreply@blogger.com1tag:blogger.com,1999:blog-3104833459141708696.post-91392806412640943042018-08-25T23:40:00.001+03:002019-03-25T23:04:53.873+02:00Слетает прошивка arduino при выключении/включении питания. Прошивка бутлоадера в arduino nano при помощи еще одного arduino nano.<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijnWbvluWgEn1xgCSXNd8Czc8FLJIA6ctjTEcVUIqCdjtITsHb9iWLO3WVsQ5qUast8HaJT0CilPDlsqfGYWg7M_T-XnxuHgJBOtzic_pn871nvmTv2a5lRmJFsPNvYKQ6lTu9RffGYHc/s1600/glumb_arduino_nano_isp.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="903" data-original-width="1600" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijnWbvluWgEn1xgCSXNd8Czc8FLJIA6ctjTEcVUIqCdjtITsHb9iWLO3WVsQ5qUast8HaJT0CilPDlsqfGYWg7M_T-XnxuHgJBOtzic_pn871nvmTv2a5lRmJFsPNvYKQ6lTu9RffGYHc/s320/glumb_arduino_nano_isp.png" width="320" /></a></div>
<br />
Столкнулся с проблемой, которая заключается в том что на китайских arduino nano на контроллере MEGA328P слетает прошивка. Час то это обнаруживается при подаче питания на контроллер. Нашел способ бороться с этим. Заодно решил вопрос как залить новый bootloader в arduino nano.<br />
<br />
<a name='more'></a><br />
<br />
Проблема слета прошивки заключается в том, что на китайских платах отключены фюз биты которые отвечают за сброс (reset) процессора если напряжение питания опуститься ниже определенного порога.<br />
Чтобы проверить фюзы, нужно залить в ардуино следующий скетч.<br />
<br />
<div class="line alt1" style="background: none rgb(255, 255, 255) !important; border: 0px !important; bottom: auto !important; color: #555555; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace; font-size: 12px; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<table style="background: none !important; border-collapse: collapse !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background: none !important; border: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">01</code></td><td class="content" style="background: none !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: rgb(108, 226, 108) !important; border-left-style: solid !important; border-right-color: initial !important; border-right-style: initial !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 0px 0px 3px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; min-height: auto !important; outline: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 2px; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="preprocessor" style="background: none; border: 0px; bottom: auto; color: grey; float: none; font-family: "consolas" , "bitstream vera sans mono" , "courier new" , "courier" , monospace "important"; font-size: 1em; height: auto; left: auto; line-height: 1.1em; margin: 0px; min-height: auto; outline: 0px; padding: 0px; position: static; right: auto; top: auto; vertical-align: baseline; width: auto;">#include <avr/boot.h></code></td></tr>
</tbody></table>
</div>
<div class="line alt2" style="background: none rgb(248, 248, 248) !important; border: 0px !important; bottom: auto !important; color: #555555; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace; font-size: 12px; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<table style="background: none !important; border-collapse: collapse !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background: none !important; border: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">02</code></td><td class="content" style="background: none !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: rgb(108, 226, 108) !important; border-left-style: solid !important; border-right-color: initial !important; border-right-style: initial !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 0px 0px 3px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; min-height: auto !important; outline: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 2px; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="preprocessor" style="background: none; border: 0px; bottom: auto; color: grey; float: none; font-family: "consolas" , "bitstream vera sans mono" , "courier new" , "courier" , monospace "important"; font-size: 1em; height: auto; left: auto; line-height: 1.1em; margin: 0px; min-height: auto; outline: 0px; padding: 0px; position: static; right: auto; top: auto; vertical-align: baseline; width: auto;">#define SIGRD 5</code></td></tr>
</tbody></table>
</div>
<div class="line alt1" style="background: none rgb(255, 255, 255) !important; border: 0px !important; bottom: auto !important; color: #555555; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace; font-size: 12px; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<table style="background: none !important; border-collapse: collapse !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background: none !important; border: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">03</code></td><td class="content" style="background: none !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: rgb(108, 226, 108) !important; border-left-style: solid !important; border-right-color: initial !important; border-right-style: initial !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 0px 0px 3px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; min-height: auto !important; outline: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 2px; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="keyword" style="background: none !important; border: 0px !important; bottom: auto !important; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">void</code> <code class="keyword" style="background: none !important; border: 0px !important; bottom: auto !important; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">setup</code><code class="plain" style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">(){</code></td></tr>
</tbody></table>
</div>
<div class="line alt2" style="background: none rgb(248, 248, 248) !important; border: 0px !important; bottom: auto !important; color: #555555; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace; font-size: 12px; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<table style="background: none !important; border-collapse: collapse !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background: none !important; border: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">04</code></td><td class="content" style="background: none !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: rgb(108, 226, 108) !important; border-left-style: solid !important; border-right-color: initial !important; border-right-style: initial !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 0px 0px 3px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; min-height: auto !important; outline: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 2px; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="keyword" style="background: none !important; border: 0px !important; bottom: auto !important; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">Serial</code><code class="plain" style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">.begin(9600); </code></td></tr>
</tbody></table>
</div>
<div class="line alt1" style="background: none rgb(255, 255, 255) !important; border: 0px !important; bottom: auto !important; color: #555555; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace; font-size: 12px; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<table style="background: none !important; border-collapse: collapse !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background: none !important; border: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">05</code></td><td class="content" style="background: none !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: rgb(108, 226, 108) !important; border-left-style: solid !important; border-right-color: initial !important; border-right-style: initial !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 0px 0px 3px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; min-height: auto !important; outline: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 2px; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="spaces" style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="keyword" style="background: none !important; border: 0px !important; bottom: auto !important; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">Serial</code><code class="plain" style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">.print(</code><code class="string" style="background: none !important; border: 0px !important; bottom: auto !important; color: blue !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">"Signatura= "</code><code class="plain" style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">);</code></td></tr>
</tbody></table>
</div>
<div class="line alt2" style="background: none rgb(248, 248, 248) !important; border: 0px !important; bottom: auto !important; color: #555555; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace; font-size: 12px; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<table style="background: none !important; border-collapse: collapse !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background: none !important; border: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">06</code></td><td class="content" style="background: none !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: rgb(108, 226, 108) !important; border-left-style: solid !important; border-right-color: initial !important; border-right-style: initial !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 0px 0px 3px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; min-height: auto !important; outline: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 2px; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="keyword" style="background: none !important; border: 0px !important; bottom: auto !important; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">Serial</code><code class="plain" style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">.print(boot_signature_byte_get(0),HEX);</code></td></tr>
</tbody></table>
</div>
<div class="line alt1" style="background: none rgb(255, 255, 255) !important; border: 0px !important; bottom: auto !important; color: #555555; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace; font-size: 12px; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<table style="background: none !important; border-collapse: collapse !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background: none !important; border: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">07</code></td><td class="content" style="background: none !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: rgb(108, 226, 108) !important; border-left-style: solid !important; border-right-color: initial !important; border-right-style: initial !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 0px 0px 3px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; min-height: auto !important; outline: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 2px; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="keyword" style="background: none !important; border: 0px !important; bottom: auto !important; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">Serial</code><code class="plain" style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">.print(boot_signature_byte_get(2),HEX);</code></td></tr>
</tbody></table>
</div>
<div class="line alt2" style="background: none rgb(248, 248, 248) !important; border: 0px !important; bottom: auto !important; color: #555555; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace; font-size: 12px; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<table style="background: none !important; border-collapse: collapse !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background: none !important; border: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">08</code></td><td class="content" style="background: none !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: rgb(108, 226, 108) !important; border-left-style: solid !important; border-right-color: initial !important; border-right-style: initial !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 0px 0px 3px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; min-height: auto !important; outline: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 2px; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="keyword" style="background: none !important; border: 0px !important; bottom: auto !important; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">Serial</code><code class="plain" style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">.println(boot_signature_byte_get(4),HEX);</code></td></tr>
</tbody></table>
</div>
<div class="line alt1" style="background: none rgb(255, 255, 255) !important; border: 0px !important; bottom: auto !important; color: #555555; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace; font-size: 12px; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<table style="background: none !important; border-collapse: collapse !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background: none !important; border: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">09</code></td><td class="content" style="background: none !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: rgb(108, 226, 108) !important; border-left-style: solid !important; border-right-color: initial !important; border-right-style: initial !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 0px 0px 3px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; min-height: auto !important; outline: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 2px; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="keyword" style="background: none !important; border: 0px !important; bottom: auto !important; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">Serial</code><code class="plain" style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">.print(</code><code class="string" style="background: none !important; border: 0px !important; bottom: auto !important; color: blue !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">"Fuses(l/h/ext)= "</code><code class="plain" style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">);</code></td></tr>
</tbody></table>
</div>
<div class="line alt2" style="background: none rgb(248, 248, 248) !important; border: 0px !important; bottom: auto !important; color: #555555; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace; font-size: 12px; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<table style="background: none !important; border-collapse: collapse !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background: none !important; border: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">10</code></td><td class="content" style="background: none !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: rgb(108, 226, 108) !important; border-left-style: solid !important; border-right-color: initial !important; border-right-style: initial !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 0px 0px 3px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; min-height: auto !important; outline: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 2px; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="keyword" style="background: none !important; border: 0px !important; bottom: auto !important; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">Serial</code><code class="plain" style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">.print(boot_lock_fuse_bits_get(GET_LOW_FUSE_BITS),HEX);</code></td></tr>
</tbody></table>
</div>
<div class="line alt1" style="background: none rgb(255, 255, 255) !important; border: 0px !important; bottom: auto !important; color: #555555; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace; font-size: 12px; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<table style="background: none !important; border-collapse: collapse !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background: none !important; border: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">11</code></td><td class="content" style="background: none !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: rgb(108, 226, 108) !important; border-left-style: solid !important; border-right-color: initial !important; border-right-style: initial !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 0px 0px 3px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; min-height: auto !important; outline: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 2px; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="keyword" style="background: none !important; border: 0px !important; bottom: auto !important; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">Serial</code><code class="plain" style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">.print(boot_lock_fuse_bits_get(GET_HIGH_FUSE_BITS),HEX);</code></td></tr>
</tbody></table>
</div>
<div class="line alt2" style="background: none rgb(248, 248, 248) !important; border: 0px !important; bottom: auto !important; color: #555555; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace; font-size: 12px; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<table style="background: none !important; border-collapse: collapse !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background: none !important; border: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">12</code></td><td class="content" style="background: none !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: rgb(108, 226, 108) !important; border-left-style: solid !important; border-right-color: initial !important; border-right-style: initial !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 0px 0px 3px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; min-height: auto !important; outline: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 2px; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="keyword" style="background: none !important; border: 0px !important; bottom: auto !important; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">Serial</code><code class="plain" style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">.println(boot_lock_fuse_bits_get(GET_EXTENDED_FUSE_BITS),HEX);</code></td></tr>
</tbody></table>
</div>
<div class="line alt1" style="background: none rgb(255, 255, 255) !important; border: 0px !important; bottom: auto !important; color: #555555; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace; font-size: 12px; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<table style="background: none !important; border-collapse: collapse !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background: none !important; border: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">13</code></td><td class="content" style="background: none !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: rgb(108, 226, 108) !important; border-left-style: solid !important; border-right-color: initial !important; border-right-style: initial !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 0px 0px 3px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; min-height: auto !important; outline: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 2px; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="plain" style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">}</code></td></tr>
</tbody></table>
</div>
<div class="line alt2" style="background: none rgb(248, 248, 248) !important; border: 0px !important; bottom: auto !important; color: #555555; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace; font-size: 12px; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<table style="background: none !important; border-collapse: collapse !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background: none !important; border: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">14</code></td><td class="content" style="background: none !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: rgb(108, 226, 108) !important; border-left-style: solid !important; border-right-color: initial !important; border-right-style: initial !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 0px 0px 3px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; min-height: auto !important; outline: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 2px; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: auto !important;"></td></tr>
</tbody></table>
</div>
<div class="line alt1" style="background: none rgb(255, 255, 255) !important; border: 0px !important; bottom: auto !important; color: #555555; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace; font-size: 12px; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<table style="background: none !important; border-collapse: collapse !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background: none !important; border: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">15</code></td><td class="content" style="background: none !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: rgb(108, 226, 108) !important; border-left-style: solid !important; border-right-color: initial !important; border-right-style: initial !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 0px 0px 3px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; min-height: auto !important; outline: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 2px; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: auto !important;"></td></tr>
</tbody></table>
</div>
<div class="line alt2" style="background: none rgb(248, 248, 248) !important; border: 0px !important; bottom: auto !important; color: #555555; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace; font-size: 12px; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<table style="background: none !important; border-collapse: collapse !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background: none !important; border: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">16</code></td><td class="content" style="background: none !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: rgb(108, 226, 108) !important; border-left-style: solid !important; border-right-color: initial !important; border-right-style: initial !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 0px 0px 3px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; min-height: auto !important; outline: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 2px; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="keyword" style="background: none !important; border: 0px !important; bottom: auto !important; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">void</code> <code class="keyword" style="background: none !important; border: 0px !important; bottom: auto !important; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">loop</code><code class="plain" style="background: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">(){}</code></td></tr>
</tbody></table>
</div>
<br />
Запустить Serial monitor, и получим результат:<br />
Signatura= 1E9516<br />
Fuses(l/h/<b>ext</b>)= FFDA<b>FF</b><br />
<b><br /></b>
Ext байт отвечает за BOD (Brown-out detection). Значение FF означает что эта функция отключена. Что приводит к потенциальной возможности слета прошивки.<br />
<br />
Чтобы изменить эти фюз биты, в самом простом случае, необходимо сменить бутлоадер.<br />
Для смены бутлоадера необходим программатор. Сделаем программатор из ардуино.<br />
<br />
Для превращения ардуино в программатор, в среде ардуино необходимо выбрать скетч Arduino ISP, и залить в ардуино. Эта ардуинка будет программатором.<br />
<br />
Подключить этот программатор к неправильной ардуинке по схеме:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1xDfr-gcxKdcedDzwFTFCGjsHIGwKRDiZC4X-qeUBS_sHXbRKujeSAzq4tnl5270-hoBuogc-syDv4nz_FFang8pSWwzUzkTFyXoWUKdaMN9mAwXP6Wi78Ys-mI5VYxHP7165pa-GkPA/s1600/glumb_arduino_nano_isp.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="903" data-original-width="1600" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1xDfr-gcxKdcedDzwFTFCGjsHIGwKRDiZC4X-qeUBS_sHXbRKujeSAzq4tnl5270-hoBuogc-syDv4nz_FFang8pSWwzUzkTFyXoWUKdaMN9mAwXP6Wi78Ys-mI5VYxHP7165pa-GkPA/s320/glumb_arduino_nano_isp.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
Если не прошивается, тогда добавляем конденсатор 10-100мкф между ногой rst и gnd программатора</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghzqocBb8s8br5wxAlnCNLVGUYuxCHX_8UsOpgAH7EREQcl7QTdv5wtvCNrPogHDafJy9-SQemfFTMSwqv9XvamIr5WOH-JqJDZBwGWplYBRdAjJXVvS-Dn1XvBnZs0J_Al6aQE4BNe18/s1600/arduino_isp_bb.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="750" data-original-width="1600" height="149" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghzqocBb8s8br5wxAlnCNLVGUYuxCHX_8UsOpgAH7EREQcl7QTdv5wtvCNrPogHDafJy9-SQemfFTMSwqv9XvamIr5WOH-JqJDZBwGWplYBRdAjJXVvS-Dn1XvBnZs0J_Al6aQE4BNe18/s320/arduino_isp_bb.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
В среде ардуино изменить программатор на Arduino as ISP: </div>
<div class="separator" style="clear: both; text-align: center;">
<img alt="programmer" height="259" src="https://sysexit.files.wordpress.com/2013/02/programmer.png?w=800" width="320" /></div>
<br />
<div>
И прошить бутлоадер через меню при помощи команды "Записать загрузчик" или "Burn bootloader": <em style="background-color: white; border: 0px; color: #666666; font-family: Bitter, sans-serif; font-size: 14px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Tools -> Burn Bootloader</em></div>
<div>
<em style="background-color: white; border: 0px; color: #666666; font-family: Bitter, sans-serif; font-size: 14px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"><br /></em></div>
ТАк же, в китайских ардуино стоит более дешевый чип, и его уникальный код (Signature) отличается от оригинального ардуино. В таком случае внизу окна мы увидим ошибку о невозможности загрузки. Для успешной заливки бутлоадера необходимо изменить файл конйигурации AVRDude, через который непосредственно и происходит программирование.<br />
<div>
Заходим в папку с Arduino, и следуем по пути: ..\hardware\tools\avr\etc<br />
<ol style="text-align: left;">
<li>Делаем копию файла: avrdude.conf</li>
<li>Открываем файл avrdude.conf в текстовом редакторе.</li>
<li>Ищем: “0x1e 0x95 0x0F” (это уникальный код ATmega328P который используется в оригинальном ардуино)</li>
<li>Изменяем на тот который получили с помощью скетча в начале статьи: “0x1e 0x95 0x16” (это уникальный код ATmega328PB)</li>
<li>Сохраняем файл.</li>
<li>Перезапускаем среду Arduino IDE</li>
<li>Прошиваем бутлоадер как описано высше. </li>
<li>Восстанавливаем файл avrdude.conf из резервной копии, которую сделали в п.1.</li>
</ol>
<br /></div>
</div>
guslab.com.uahttp://www.blogger.com/profile/05614575351100649407noreply@blogger.com0tag:blogger.com,1999:blog-3104833459141708696.post-3085291490994507942018-03-10T22:04:00.001+02:002018-03-10T22:06:25.544+02:00Arduino tv-out. Как показать на телевизоре картинку из файла.<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFQ_nVekech6jOR5tYE3fWRayMLs6Y5BiHAa6T46KyPXTpCWRcfNj1YpN839jKD4HIJf3Xo_IsFkKd5aUQsKa6Z2azq8Tk9RM7v5pjNf3woXt0d0Suox4QzdwSw6kDJ20z-0i51RKfgW0/s1600/tvoutev.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="230" data-original-width="1000" height="73" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFQ_nVekech6jOR5tYE3fWRayMLs6Y5BiHAa6T46KyPXTpCWRcfNj1YpN839jKD4HIJf3Xo_IsFkKd5aUQsKa6Z2azq8Tk9RM7v5pjNf3woXt0d0Suox4QzdwSw6kDJ20z-0i51RKfgW0/s320/tvoutev.png" width="320" /></a></div>
Необходимо вывести на экран телевизора картинку формата *.bmp.<br />
<br />
С библиотекой TV-out для ардуино уже работал. Выводил текст и геометрические фигуры. Но картинки из файла выводить не доводилось. Немного погуглил и <a href="https://sourceforge.net/p/arduino-tvout/wiki/Bitmaps/" target="_blank">нашел</a> полуавтоматическое решение.<br />
<br />
<a name='more'></a><h3 style="text-align: left;">
Для начала нужна картинка</h3>
<br />
В моем случае это *.bmp файл размером 78х71 пикселей. Открыл исходный файл в photoshop переключил режим, вначале, "градации серого", и после, "битовый формат". На прямую не переключается.<br />
Уменьшил размер до 78х71 пикселей.<br />
Сохранил в *.bmp<br />
<br />
<h3 style="text-align: left;">
Перевод картинки в формат понятный библиотеке</h3>
Для этого необходимо скачать программу <span style="background-color: white; color: #555555; font-family: "lato" , sans-serif; font-size: 16px;"> </span><a class="" href="http://www.crystalfontz.com/forum/showthread.php?t=5854" rel="nofollow" style="-webkit-tap-highlight-color: rgb(0, 119, 170); background: rgb(255, 255, 255); box-sizing: inherit; color: #0099cc; font-family: Lato, sans-serif; font-size: 16px; margin: 0px; outline: none; padding: 0px; text-decoration-line: none; vertical-align: baseline;">Image2Code</a> (<a href="https://drive.google.com/open?id=1WppZSuhl7w5SZ3rLJPhAyFj09Q-5tE0V" target="_blank">зеркало у меня на гуглдрайве</a>).<br />
Открываю программу, перетаскиваю в нее файл с картинкой. Выбираю третий вариант чтения файла. По умолчанию галочка "Invert Image", и по умолчанию "C Array Writer":<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghmmzFgCPrxvNTm3-X6lw7ezofMo0AkMXxNWGlB-muIlUo_QBUI23gwONvJP9_93qXsskUdzuzQLwziCSctauq7v77LOPFd-fIClgDBRjbzeHkw8Hh9chzoIMHCI5hpzKVi9eObyMjRIM/s1600/itc.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="555" data-original-width="591" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghmmzFgCPrxvNTm3-X6lw7ezofMo0AkMXxNWGlB-muIlUo_QBUI23gwONvJP9_93qXsskUdzuzQLwziCSctauq7v77LOPFd-fIClgDBRjbzeHkw8Hh9chzoIMHCI5hpzKVi9eObyMjRIM/s320/itc.png" width="320" /></a></div>
<br />
После этого нажимаю "Convert" и получаю текстовый файл с набором цифр, которые и есть картинка пригодная для библиотеки Tvout. Часть цифр вырезал.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhg6v1qm8zLORTKRt-PBRa21OsssASJ5i9BEANdqhrZMvScv8mxLpuqSt-86xF-sis528m73aKOBbLKuz8ObDxVGXYFHqDeN2m_mcCkHXJb095FlmvKP_iNV-LD6bRs3KdRo-lv8_eKVd0/s1600/bin.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="356" data-original-width="421" height="270" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhg6v1qm8zLORTKRt-PBRa21OsssASJ5i9BEANdqhrZMvScv8mxLpuqSt-86xF-sis528m73aKOBbLKuz8ObDxVGXYFHqDeN2m_mcCkHXJb095FlmvKP_iNV-LD6bRs3KdRo-lv8_eKVd0/s320/bin.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Из текста удаляю фигурные скобки, они нам не нужны. И в итоге получается массив чисел записаных через запятую.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<h3 style="clear: both; text-align: left;">
Используем с библиотекой</h3>
<div class="separator" style="clear: both;">
создаем файл <span style="background-color: white; color: #555555; font-family: "lato" , sans-serif; font-size: 16px;">TVOlogo.h. </span>Ложим файл в директорию с файлом скетча *.ino. В файл записываем следующее<span style="background-color: white; color: #555555; font-family: "lato" , sans-serif; font-size: 16px;">:</span></div>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; color: #555555; font-family: monospace, sans-serif; font-size: 14px; outline: 0px; overflow: auto; padding: 0.5em 15px; vertical-align: baseline; word-wrap: normal;"># include <avr/pgmspace.h>
# ifndef TVOLOGO_H
# define TVOLOGO_H
extern const unsigned char TVOlogo[];
#endif</pre>
<br />
Создаем еще один файл <span style="background-color: white; color: #555555; font-family: "lato" , sans-serif; font-size: 16px;">TVOlogo.cpp</span>. Этот файл также сохраняем в директорию со скетчем *.ino. В этот файл пишем текст:<br />
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; color: #555555; font-family: monospace, sans-serif; font-size: 14px; outline: 0px; overflow: auto; padding: 0.5em 15px; vertical-align: baseline; word-wrap: normal;"><span class="cp" style="border: 0px; box-sizing: inherit; color: #bc7a00; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">#include</span> <span class="cpf" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">"TVOlogo.h"</span><span class="cp" style="border: 0px; box-sizing: inherit; color: #bc7a00; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"></span>
<span class="n" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">PROGMEM</span> <span class="k" style="border: 0px; box-sizing: inherit; color: green; font-weight: bold; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">const</span> <span class="kt" style="border: 0px; box-sizing: inherit; color: #b00040; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">unsigned</span> <span class="kt" style="border: 0px; box-sizing: inherit; color: #b00040; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">char</span> <span class="n" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">TVOlogo</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">[]</span> <span class="o" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">=</span> <span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">{</span>
<span class="mi" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">96</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mi" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">32</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span>
<span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span>
<span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x3F</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xFF</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xFF</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xFF</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xFF</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xFF</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xFF</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xFF</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xFF</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xFC</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span>
<span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x03</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xC0</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x03</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xC0</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span>
<span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x1C</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x40</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x10</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x38</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span>
<span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x20</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x20</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x20</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x04</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span>
<span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x40</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x10</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x40</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x02</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span>
<span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x40</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x0A</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x80</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x02</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span>
<span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x40</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x07</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x02</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span>
<span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x40</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x1F</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xFF</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xFF</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xC2</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span>
<span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x40</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x10</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x42</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span>
<span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x4F</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xFF</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x60</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x18</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x17</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xFF</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xFF</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x42</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span>
<span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x4F</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xFF</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x60</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x18</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x30</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x14</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x01</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x42</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span>
<span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x40</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x60</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x60</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x18</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x30</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x14</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x70</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x71</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x42</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span>
<span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x40</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x60</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x30</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x30</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x30</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x14</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x88</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x89</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x42</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span>
<span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x40</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x60</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x30</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x30</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x3E</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x06</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x0C</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xFE</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x15</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x05</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x25</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x42</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span>
<span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x40</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x60</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x30</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x60</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xFF</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x86</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x0C</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xFE</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x15</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x72</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x75</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x42</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span>
<span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x40</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x60</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x18</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x60</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xC1</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x86</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x0C</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x30</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x15</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x05</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x25</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x42</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span>
<span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x40</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x60</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x18</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x61</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x80</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xC6</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x0C</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x30</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x14</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x88</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x89</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x42</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span>
<span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x40</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x60</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x18</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xC1</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x80</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xC6</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x0C</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x30</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x14</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x70</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x71</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x42</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span>
<span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x40</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x60</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x0C</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xC1</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x80</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xC6</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x0C</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x30</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x14</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x01</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x42</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span>
<span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x40</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x60</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x0C</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xC1</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x80</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xC6</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x0C</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x30</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x17</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xFF</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xFF</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x42</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span>
<span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x40</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x60</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x0F</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x81</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x80</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xC6</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x0C</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x30</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x10</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x42</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span>
<span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x40</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x60</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x07</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x80</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xC1</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x87</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x1C</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x30</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x15</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x40</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x15</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x42</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span>
<span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x40</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x60</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x07</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x80</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xFF</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x83</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xFC</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x3E</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x12</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x8A</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x8A</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x42</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span>
<span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x40</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x60</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x03</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x3E</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x01</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xEC</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x1E</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x15</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x40</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x15</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x42</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span>
<span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x40</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x10</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x42</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span>
<span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x40</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x1F</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xFF</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xFF</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xC2</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span>
<span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x20</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x04</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span>
<span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x1C</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x38</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span>
<span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x03</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xC0</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x03</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xC0</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span>
<span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x3F</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xFF</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xFF</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xFF</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xFF</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xFF</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xFF</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xFF</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xFF</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0xFC</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span>
<span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span><span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="mh" style="border: 0px; box-sizing: inherit; color: #666666; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">0x00</span>
<span class="p" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">};</span></pre>
Только вместо имеющегося массива цифр вставляем полученный ранее массив.<br />
Первые две цифры это размер исходной картинки. Его меняем в зависимости от размера вашей картинки. В моем случае это 78, 71.<br />
<br />
<h3 style="text-align: left;">
Выводим изображение на экран</h3>
Вначале скетча подключаем файл <span style="background-color: white; color: #555555; font-family: "lato" , sans-serif; font-size: 16px;">TVOlogo.h</span>.<br />
<br />
<div style="text-align: center;">
#include "TVOlogo1.h"</div>
<br />
В коде программы, когда нужно вывести эту картинку на экран пишем:<br />
<br />
<div style="text-align: center;">
TV.bitmap(0,0,TVOlogo);</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: left;">
Здесь 0,0 это координаты верхнего левого угла картинки относительно начала координат экрана. <span style="text-align: center;">TVOlogo - то что выводим. </span></div>
<br /></div>
guslab.com.uahttp://www.blogger.com/profile/05614575351100649407noreply@blogger.com2tag:blogger.com,1999:blog-3104833459141708696.post-13553660394037146492017-11-02T21:12:00.004+02:002017-11-04T10:40:35.299+02:00Мое знакомство с Orange pi Zero. Статья памятка<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCcVukVJoZKUlhwPXt-2aXjSwWfD_qglfnwCYBLOoNsfPYnymMEeiBgjJ8jqHBDphJ-aJ2r89I5NfWeyaTa9YjQ3c3tUoO5HDWZfH0j5pMATXueP1bmCnnGrpM9s6WOLMNHfs6JuiTmU4/s1600/20171102_205610.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCcVukVJoZKUlhwPXt-2aXjSwWfD_qglfnwCYBLOoNsfPYnymMEeiBgjJ8jqHBDphJ-aJ2r89I5NfWeyaTa9YjQ3c3tUoO5HDWZfH0j5pMATXueP1bmCnnGrpM9s6WOLMNHfs6JuiTmU4/s320/20171102_205610.jpg" width="320" /></a></div>
Зачем вообще я за это взялся. Напомню о том что я строю квесткомнаты. 90% задач решается с помощью Arduino и Shield'ов или другой несложной обвязкой. Но когда речь заходит о том, что нужно отображать картинки или видео, на экран или проектор, с немалым разрешением и глубиной цвета, или выводить фоновый звук и другие звуковые эффекты на один и тот же динамик (или звуковую систему), то в этом случае ардуино уже не хватает. По этому настало время освоить одноплатные миниатюрные компьютеры.<br />
<a name='more'></a><h2 style="text-align: left;">
С чего начать? </h2>
<br />
План действий таков. По моему мнению компьютер отличается от Aarduino тем, что работает на базе операционной системы. Таким образом, если программу я могу написать на знакомом мне по ардуино "С", то работать с железом мне прийдется уже через операционную систему. Или например организовывать автозапуск написанной программы после загрузки системы. По этому план действий таков:<br />
<br />
<ul style="text-align: left;">
<li>Изучить операционную систему. На данный момент остановился на Linux. </li>
<li>Изучить аппаратную начинку конкретных одноплатных пк, например Orange pi Zero, Orange pi One, raspberry pi 3 model b. Первый самый дешевый, второй имеет нормальный выход HDMI, и третий как очень распространенный.</li>
<li>Изучить язык програмирования, например С, или Python или Ruby, и библиотеки для работы с периферией упомянутых компьютеров, да и для решения задач в целом.</li>
</ul>
<h2 style="text-align: left;">
Первый запуск</h2>
<div>
Статей по тому как и какой образ скачать, залить на флешку - много. По этому в подробности вдаваться не буду. Вначале скачал ubuntu с сайта orange и пытался запустить через монитор, через Video выход. Но у меня было очень неправильное изображение с которым я не мог работать, по этому заказал orange pi one, и пока оно едет, буду работать с orange pi zero. Для изучения линукс самое оно. </div>
<div>
<br /></div>
<div>
UART. На плате есть 3х пиновый разъем, причем запаяный с завода. И через простое подключение через USB-UART переходник, в моем случае это Arduino nano v3, пин сброса у которого закорочен на корпус, и "Монитор порта" в среде разработки Arduino, и я могу работать с платой в консоли. Позже перешел на Putty, там и цвет. и данные писать можно в том же окне где они и отображаются (в Arduino для отправки всего на компьютер есть отдельная строка).</div>
<div>
<br /></div>
<div>
WIFI. Потом мне надоело возиться через переходник. Решил настроить WiFi и работать с платой через SSH и Putty. Загуглил статью типа "как настроить Wifi orange pi zero" и сразу же нашел <a href="https://istarik.ru/blog/orangepi/82.html" target="_blank">статейку</a>. Там в конце и про Wifi есть.</div>
<div>
<br /></div>
<div>
---В работе---</div>
</div>
guslab.com.uahttp://www.blogger.com/profile/05614575351100649407noreply@blogger.com0tag:blogger.com,1999:blog-3104833459141708696.post-35069653918551755072017-08-18T17:14:00.000+03:002017-08-18T18:48:54.245+03:00ESP8266 Wi-FI и Arduino и MQTT брокер<div dir="ltr" style="text-align: left;" trbidi="on">
И так неделька прошла не зря. Решил поработать с модулями на основе ESP8266. И был очень приятно удивлен. Статья памятка.<br />
<br />
У меня имеются 2 модуля:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYKjJ1DJydi4ZcF_IC_laWMSte3bDhc9iQtFXIVMhsA2clsjbAZif_iHRxlMRhCbCtPqn3Pu14NfJt4v9VgMbqCSsplKKPXBzRo2LBSvp3PNhVrNfohH22unpWlwHKJUAz0Pbt74O96FA/s1600/20170818_144520.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYKjJ1DJydi4ZcF_IC_laWMSte3bDhc9iQtFXIVMhsA2clsjbAZif_iHRxlMRhCbCtPqn3Pu14NfJt4v9VgMbqCSsplKKPXBzRo2LBSvp3PNhVrNfohH22unpWlwHKJUAz0Pbt74O96FA/s320/20170818_144520.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
С лева модуль, который мне не удалось идентифицировать. Для нормальной работы нужно предварительное подключение управляющих пинов. по Схеме которую я приведу ниже. </div>
<div class="separator" style="clear: both;">
С права полностью готовый к работе модуль ESP-01, со всеми необходимыми компонентами.</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<a name='more'></a><h2 style="text-align: justify;">
Программатор</h2>
<div style="text-align: justify;">
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: justify;">
И так, в качестве программатора, вернее переходника USB-TTL, я использую свой любимый Arduino Nano. C той лишь оговоркой, что контроллер в состоянии сброса, то есть вывод RST замкнут с землей GND.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
<a href="https://esp8266.ru/esp8266-podkluchenie-obnovlenie-proshivki/" target="_blank">Хорошая, на мой взгляд, статья</a> в которой я подчерпнул необходимую информацию для первого подключения модуля. Картинки из статьи по ссылке которую я привел.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHDWUBl5qz4jaClNFoQAaaZyfkeOiuKyyNa7kJtOhIzUXzGZCkMxWSP3o1fn4CIfDM8KSIOPnxxRo5v5QUw_iEFUrFF4yUe2M9gSLRUDNUId-cn9kJtHEnhCpMrs9UR90qlIxX1LtXcug/s1600/esp8266-ftdi_bb.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1058" data-original-width="1600" height="263" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHDWUBl5qz4jaClNFoQAaaZyfkeOiuKyyNa7kJtOhIzUXzGZCkMxWSP3o1fn4CIfDM8KSIOPnxxRo5v5QUw_iEFUrFF4yUe2M9gSLRUDNUId-cn9kJtHEnhCpMrs9UR90qlIxX1LtXcug/s400/esp8266-ftdi_bb.jpg" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGrsXXDqWvx4Ci9nzdLF_aERI9FwR7FTzSlKvSOi9A5r7lVnctxqADHuSRUbb1TmMQ08RahZH3jKhGHZ-GarTuQ74EJQ78iz-rrXw_vsrBxjm274xJJZMEXVEK_izR84mhNlY5Fn5R9V8/s1600/scheme-full.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="580" data-original-width="1170" height="197" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGrsXXDqWvx4Ci9nzdLF_aERI9FwR7FTzSlKvSOi9A5r7lVnctxqADHuSRUbb1TmMQ08RahZH3jKhGHZ-GarTuQ74EJQ78iz-rrXw_vsrBxjm274xJJZMEXVEK_izR84mhNlY5Fn5R9V8/s400/scheme-full.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
И так подключаюсь по схемке с права. Ардуино дает на выходе 5В сигналы, а модуль с WIFI питается от отдельного преобразователя на 3.3В. </div>
<div class="separator" style="clear: both; text-align: justify;">
В случае с синим модулем, достаточно подключить (цвета проводов согласно схеме выше)</div>
<div>
<br /></div>
Красный — питание 3,3в<br />
<br />
Черный — GND<br />
<br />
Желтый — на стороне ESP8266 — RX, на стороне USB-TTL — TX<br />
<br />
Зеленый — на стороне ESP8266 — TX, на стороне USB-TTL — RX<br />
<br />
Оранжевый — CH_PD (CHIP ENABLE) — должен быть всегда подтянут к питанию<br />
<br />
Синий — GPIO0 — подключен через выключатель к земле для включения режима перепрошивки модуля. Для обычного старта модуля GPIO0 можно оставить никуда не подключенным.<br />
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Для перевода модуля в режим программирования (синий модуль. тка как там подключены все необходимые сопротивления подтяжки): замыкаем GPIO0 на землю GND. Отключаем CH_PD от питания и подключаем обратно. Модуль в режиме программирования.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<h2 style="clear: both; text-align: justify;">
Среда программирования</h2>
<div class="separator" style="clear: both; text-align: justify;">
PS: Как только подключил модуль, скачал <a href="https://esp8266.ru/forum/threads/esplorer.34/" target="_blank">ESplorer</a>, как написано в статье по подключения. Поигрался AT командами. Особо добавить нечего. Для дальнейшей работы не понадобилось.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
В качестве среды программирования решил использовать знакомую мне Arduino IDE. </div>
<div class="separator" style="clear: both; text-align: justify;">
То есть чип ESP8266 можно использовать как ардуино, только чип этот работает быстрее (80/160Мгц вместо 16) с WI-FI на борту. </div>
<div class="separator" style="clear: both; text-align: justify;">
Для использования Arduino IDE в качестве среды разработки для ESP8266 необходимо установить ядро ESP8266 в Arduino IDE. </div>
<div class="separator" style="clear: both; text-align: justify;">
<a href="http://geekmatic.in.ua/ua/Arduino_IDE_with_WiFi_ESP8266" target="_blank">Статья с подробными шагами здесь</a>. Что приятно, так это то что на украинском :)</div>
<div class="separator" style="clear: both; text-align: justify;">
Замечу что для успешного поиска ядра необходимо прописать к репозиторию. Я на это в начале не обратил внимания. И не мог понять почему же ядро не ищется. В статье все это описано. </div>
<div class="separator" style="clear: both; text-align: justify;">
В кратце скриншоты с приведенной выше статьи:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhON_4mSV4uIbdMnHJafIoqJV3cMSWHdjNO6NIWx6MtK9hjfrow386ku6XlAN5OlP_pPCc8RL11wgPv5kCmijJ2zxyQkeMMp_Lh8VC-jWACTrO2MCaA4S1hhVNL7-T_T1X_9e93I6CGrT0/s1600/Arduino_01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="453" data-original-width="492" height="293" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhON_4mSV4uIbdMnHJafIoqJV3cMSWHdjNO6NIWx6MtK9hjfrow386ku6XlAN5OlP_pPCc8RL11wgPv5kCmijJ2zxyQkeMMp_Lh8VC-jWACTrO2MCaA4S1hhVNL7-T_T1X_9e93I6CGrT0/s320/Arduino_01.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpNXXPgdObu4iPNCGd7fgkLso3zLIB91K-br7J7gJtufKYVm7Z13o40_RhlCI2cdQWXkLCtYWbZ325yy4iXAJBwHaK-TspJTOmhmTU3FxTpocvuSTQcA7SsgF-sSvYAsP0I5EK2dKoS8c/s1600/Arduino_02.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="522" data-original-width="685" height="243" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpNXXPgdObu4iPNCGd7fgkLso3zLIB91K-br7J7gJtufKYVm7Z13o40_RhlCI2cdQWXkLCtYWbZ325yy4iXAJBwHaK-TspJTOmhmTU3FxTpocvuSTQcA7SsgF-sSvYAsP0I5EK2dKoS8c/s320/Arduino_02.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGl-ypZ7sqxepstTNBDxSNFLVmwfUYC6eTtNOiVJPF2U7MXku5wYuHmQ3yUnGFwissThScO1-St6xJLM4e296couQyczxmJCZ-c9SI3G292XwKeF3xYfiIQNwnRvlAMImQjmQYbkRttPo/s1600/Arduino_03.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="368" data-original-width="730" height="161" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGl-ypZ7sqxepstTNBDxSNFLVmwfUYC6eTtNOiVJPF2U7MXku5wYuHmQ3yUnGFwissThScO1-St6xJLM4e296couQyczxmJCZ-c9SI3G292XwKeF3xYfiIQNwnRvlAMImQjmQYbkRttPo/s320/Arduino_03.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjz4SQt0s5oEuxJW6D_QJJZWih4WJ-44Kz_778Xt5IixcR4Qf2BbC5HmaWffK8ciixE7h7plDz4F_lYjNfRYFZNAk8YLBc4XCHKYyGeduYX8xvo-koBZ7ErLR2Dz0RVDqn6zphQVG8DTks/s1600/Arduino_04.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="353" data-original-width="633" height="178" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjz4SQt0s5oEuxJW6D_QJJZWih4WJ-44Kz_778Xt5IixcR4Qf2BbC5HmaWffK8ciixE7h7plDz4F_lYjNfRYFZNAk8YLBc4XCHKYyGeduYX8xvo-koBZ7ErLR2Dz0RVDqn6zphQVG8DTks/s320/Arduino_04.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJjuo9vowGhk4q-L8yPpo3eLdVsu7kIH87DpVQv8fBm1E2s3dUq_zBt3jn2LNntJutFDxqf14fhWni9kY6k337fvGiRFGv1TFUb35oa15f-Hb2euyEVXf6p5UdtEiZwCTtp8KYq81bLRc/s1600/Arduino_05.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="355" data-original-width="633" height="179" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJjuo9vowGhk4q-L8yPpo3eLdVsu7kIH87DpVQv8fBm1E2s3dUq_zBt3jn2LNntJutFDxqf14fhWni9kY6k337fvGiRFGv1TFUb35oa15f-Hb2euyEVXf6p5UdtEiZwCTtp8KYq81bLRc/s320/Arduino_05.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhejBsjdV277WJbukmxc09uM9gNU9yDhT5_7NnXiPY95YVTl24vhktbgZoioGAGpO_xJCvZm6WqkIzrDpVcRTwvIimBZbP3rzdRb35ueUD3V3WtHN82z4r8WwRdhsUfgypT8gQrWCSzkrI/s1600/Arduino_06.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="613" data-original-width="730" height="268" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhejBsjdV277WJbukmxc09uM9gNU9yDhT5_7NnXiPY95YVTl24vhktbgZoioGAGpO_xJCvZm6WqkIzrDpVcRTwvIimBZbP3rzdRb35ueUD3V3WtHN82z4r8WwRdhsUfgypT8gQrWCSzkrI/s320/Arduino_06.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Вместе с ядром добавляется много примеров по которым можно понять как работает модуль. </div>
<div class="separator" style="clear: both; text-align: justify;">
Проблем с загрузкой программы в синий модуль не было. С белым пришлось повозиться. GPIO15 прицепить на GND. и GPIO2 на 3.3В (подчерпнул информацию <a href="http://www.esp8266.com/viewtopic.php?f=6&t=1094" target="_blank">здесь</a>). И только тогда все начало программироваться.</div>
<div class="separator" style="clear: both; text-align: justify;">
На синий модуль получается загружать программу даже на скорости 512000. В белый загружается на 115200. И я не разобрался с чем это связано. Если кто то подскажет, буду благодарен.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<h2 style="clear: both; text-align: justify;">
Обмен сообщениями. Иначе говоря управление устройствами.</h2>
<div>
Окей. модуль запустил. программировать научился. </div>
<div>
Теперь нужно решить вопрос ради которого это было затеяно. Например есть 10 устройств, при достижении определенных условий на каком-то из них, необходимо передать сигнал на другое устройства. А именно для создания квесткомнаты под ключ. В которой все готовые устройства подключаются в розетку. А все остальные сигналы передаются по воздуху. </div>
<div>
<br /></div>
<div>
Будем использовать протокол MQTT. </div>
<div>
MQTT предполагает что есть клиенты и сервер, через который все клиенты обмениваются сообщениями. Все соощения имеют "тему", по которой необходимые сообщения можно фильтровать, и реагировать только на сообщения предназначенные для данного конкретного устройства. </div>
<div>
Система кросплатформенна, по этому не возникает проблем с имплементацией в Windows. amdroid, linux (raspberry), IOS.</div>
<div>
И так для быстрого старта решил установить MQTT брокер на рабочей машине под управлением Win7 x64. </div>
<div>
<a href="http://www.dkorovin.ru/?p=46" target="_blank">Инструкцию по установке взял отсюда.</a></div>
<div>
Замечу, что нужно устанавливать openSSL версии 1_0_2L (файл Win32OpenSSL_Light-1_0_2L.exe), так как более новые файлы не содержат необходимых библиотек для запуска брокера. </div>
<div>
Установил брокер. Служба после перезагрузки запустилась. Было отличие в этом</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJIV9-x6DmjkD8-y5CdbgyrkiEYl6n7TuCagj3yy_lX7SJsQzB_3iNX5SgC1-naMVvo7trnmv-_f8qgHB6nVfGxydcrA1IPFeESUlFGCDUoHYxBX3NERwH_GTg4boVIts8uLUWgcTrLrg/s1600/mqtt9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="547" data-original-width="1070" height="163" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJIV9-x6DmjkD8-y5CdbgyrkiEYl6n7TuCagj3yy_lX7SJsQzB_3iNX5SgC1-naMVvo7trnmv-_f8qgHB6nVfGxydcrA1IPFeESUlFGCDUoHYxBX3NERwH_GTg4boVIts8uLUWgcTrLrg/s320/mqtt9.png" width="320" /></a></div>
<div>
но запись с портом 1883 была. </div>
<div>
Далее установил библиотеку <a href="https://github.com/knolleary/pubsubclient" target="_blank">PubSubClient</a>. Это библиотека для работы с MQTT на ардуино и EthernetShield. Но там есть и пример для ESP8266.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhAiuVgxiQWd31AB7nfLgXTPocXoebz3WIyWsTrWPa8Z7veJsZR-hztD4u7E5gVYl4auU7HsvM_4hK-r7luvyOJRWKZgEhJqY5vQfheDQmS4pG390evw6bySlUmMkBIfeLD19qRDvnxPY/s1600/pubsub.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1193" data-original-width="977" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhAiuVgxiQWd31AB7nfLgXTPocXoebz3WIyWsTrWPa8Z7veJsZR-hztD4u7E5gVYl4auU7HsvM_4hK-r7luvyOJRWKZgEhJqY5vQfheDQmS4pG390evw6bySlUmMkBIfeLD19qRDvnxPY/s400/pubsub.png" width="327" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
В примере указываем имя и пароль для WIFI, и IP адрес машины на которой запущен брокер. </div>
<div class="separator" style="clear: both; text-align: justify;">
Так же заменяю BUILTIN_LED на BUILTIN_LED_ и указываю номер вывода 2. Светодиод подключаю на GPIO2 и GND. </div>
<div class="separator" style="clear: both; text-align: justify;">
Зашиваю счек в контроллер. И через некоторое время наблюдаю в терминале о том что подключение к WiFi успешно, и о том что каждую секунду отправляются сообщения. В MQTT spy создаю топик с названием #, и наблюдаю сообщения от модуля. Так же при отправке сообщения 1 или 0 из MQTT Spy с топиком "inTopic", у меня тухнет или зажигается светодиод подключеный к модулю :) Профит. Таким образом я могу передавать команды управления и сообщения между устройствами.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<h2 style="clear: both; text-align: justify;">
На заметку</h2>
<div>
1. Так как программа храниться на внешней SPI flash памяти, и размер ее может быть и 8Мбит, то предусмотрена даже файловая система. в которую можно из вне и во время работы загружать и использовать пользовательские данные. </div>
<div>
2. Нужно обратить внимание на то что по рекомендациям разработчика, нельзя замыкать напрямую выводы микросхемы на GND или Vcc, это необходимо делать через сопротивления в несколько кило ом, о чем написано в упомянутой ранее статье о подключении.<br />
3. Так же есть возможность обновления прошивки прямо по воздуху. Через сетевой порт или через браузер. Эта функция не работает на модулях с объемом памяти 512кб, как например в синем модуле ESP-01.</div>
<div>
<br /></div>
<div>
<br /></div>
<h2 style="text-align: left;">
Послесловие</h2>
<div>
Теперь жду пока приедит ESP32 (который уже 2х ядерный!) и Orange Zero. Хочу запустить MQTT брокер на апельсине, и так же поработать с выводом графики и видео по сигналам от GPIO и командам MQTT. Так же сбор и отправка информации с/на эти модули через браузер или приложения на Win или Android.</div>
</div>
guslab.com.uahttp://www.blogger.com/profile/05614575351100649407noreply@blogger.com1tag:blogger.com,1999:blog-3104833459141708696.post-74117914655143018542017-07-28T01:49:00.002+03:002023-08-02T14:25:02.212+03:00NFC модуль "NFC Module v3" на базі контролера PN532. Читання RFID міток. I2C Інтерфейс<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrIK7TlTPHASMe5Cgs5baY2iTRLMctDfiW28a3wOn0uEF8ulHM8ZbY4kOiP67D0FkK92kFMH2tlcnxIuvTIpaVmGksRT_YX-irr-VWXY-G4VJVzhwrepXAHBoyqlHaXGP6fBNtyu_QMmg/s1600/PN532.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="600" data-original-width="600" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrIK7TlTPHASMe5Cgs5baY2iTRLMctDfiW28a3wOn0uEF8ulHM8ZbY4kOiP67D0FkK92kFMH2tlcnxIuvTIpaVmGksRT_YX-irr-VWXY-G4VJVzhwrepXAHBoyqlHaXGP6fBNtyu_QMmg/s320/PN532.jpg" width="320" /></a></div>
<br />
Шастаючи просторами Aliexpress потрапив на модуль "NFC Module v3". Насамперед він зацікавив мене як модуль для читання RFID міток. Він менший за розміром ніж наприклад MFRC522.<br />
<br />
<a name='more'></a><br /><br /><div dir="ltr" trbidi="on">І так у спробах запуску:</div><div dir="ltr" trbidi="on">Пробую запустити через інтерфейс I2C. Вечір мучився, і дуже довго нічого не виходило, опишу підсумок.</div><div dir="ltr" trbidi="on">Як виявилося, для коректної роботи по інтерфейсу I2C необхідно, крім живлення, землі, SDA, SCL, підключати ще виводи IRQ, RST. І саме їхні номери задаються в прикладі скетча.</div>Інформацію взяв <a href="https://it4it.club/topic/60-zamok-s-radiochastotnoy-identifikaciey-na-baze-nfc-kontrollera-pn532/">звідсіля.</a><br />
Схему підключення накидав у пеінті, прошу вибачення за це:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOpRVX2-DDbyFrlela9pKJ8GPjQDu9LXeqP2OQDjUX15b4dZZVdSeO1sTMlr7zHE37obdEOjEJSwdjcrNHXlh-AEpYNENlx9oS4SX5TOaD64X9KzaLPIQx5NRBKP6hE51DC6je8-NPfOg/s1600/arduino_PN532.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="809" data-original-width="1400" height="230" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOpRVX2-DDbyFrlela9pKJ8GPjQDu9LXeqP2OQDjUX15b4dZZVdSeO1sTMlr7zHE37obdEOjEJSwdjcrNHXlh-AEpYNENlx9oS4SX5TOaD64X9KzaLPIQx5NRBKP6hE51DC6je8-NPfOg/s400/arduino_PN532.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
Перемикачі на платі виставити таким чином:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQWdEdTWWFeED6Uz8_q_RlfLTEe4s2r8jFM2fUi5pRT24kPOkhYayCo1JzX7Ye0oZXiue_9kiZ8BS1ccPvpE78NNyHaUMXbF95pG4Z9Yd0fq9WaxAsz4CaqJdYjs-DQssqaVckouglpEM/s1600/i2c.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="430" data-original-width="409" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQWdEdTWWFeED6Uz8_q_RlfLTEe4s2r8jFM2fUi5pRT24kPOkhYayCo1JzX7Ye0oZXiue_9kiZ8BS1ccPvpE78NNyHaUMXbF95pG4Z9Yd0fq9WaxAsz4CaqJdYjs-DQssqaVckouglpEM/s320/i2c.png" width="304" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
Бібліотеку використовую від <a href="https://github.com/adafruit/Adafruit-PN532" target="_blank">Adafruit</a>. Дзеркало <a href="https://drive.google.com/file/d/0B2to8i69rOiQZkdrNENsMVhXa1E/view?usp=sharing&resourcekey=0-3Wojb3kZXJ6yG3f64JVIhQ" target="_blank">тута</a>. Так само можна встановити з репозиторію в Arduino за пошуковою фразою PN532.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
У стандартному скетчі iso14443a_uid.ino для коректної компіляції та роботи потрібно змінити таке:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifRRoebhJXIAe54RbYczsdhPT8dtcQzCrxx-fXYdepzKml1kjbW-8uIHkfVbe32UyxkJ6PLg540u_GDmSj1AanXT_R9w4fPMPvfxfvQfI1i_keS_BRYI2j3Dk2m4Qqk60nlgLWfJuuDZM/s1600/PN532_I2C.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="527" data-original-width="1063" height="197" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifRRoebhJXIAe54RbYczsdhPT8dtcQzCrxx-fXYdepzKml1kjbW-8uIHkfVbe32UyxkJ6PLg540u_GDmSj1AanXT_R9w4fPMPvfxfvQfI1i_keS_BRYI2j3Dk2m4Qqk60nlgLWfJuuDZM/s400/PN532_I2C.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both;">І рідер ожив :) ура. </div><div class="separator" style="clear: both;">Можна постійно перевіряти наявність карти на рідері. </div><div class="separator" style="clear: both;">Можна постійно читати ідентифікатор мітки.</div></div>
<br /></div>
guslab.com.uahttp://www.blogger.com/profile/05614575351100649407noreply@blogger.com1tag:blogger.com,1999:blog-3104833459141708696.post-14243750378990339962017-07-18T22:01:00.003+03:002023-08-02T14:42:55.690+03:00датчик пульсу MAX30100 і arduino<div dir="ltr" style="text-align: left;" trbidi="on"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPxe-pfE6NkKuDxdIJN7NfvmwjMblpxU9CaJv5BG6Q4KRqOgGbYbEbqd29r7Acg5sCu0c9vTmk-5fG6L-d_cUJ6heDVSTFM-qAyPbrYF-hF9S-JhAN3JObw4_TiRPj2-cF-a3yuCIp2mNLP6VjCHGdzJPVqsQQldAIxjbfUIN2yhG5o2qFM-i4OOwbxIY/s700/%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%BD%D1%8F_2023-08-02_143656826.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="571" data-original-width="700" height="261" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPxe-pfE6NkKuDxdIJN7NfvmwjMblpxU9CaJv5BG6Q4KRqOgGbYbEbqd29r7Acg5sCu0c9vTmk-5fG6L-d_cUJ6heDVSTFM-qAyPbrYF-hF9S-JhAN3JObw4_TiRPj2-cF-a3yuCIp2mNLP6VjCHGdzJPVqsQQldAIxjbfUIN2yhG5o2qFM-i4OOwbxIY/s320/%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%BD%D1%8F_2023-08-02_143656826.png" width="320" /></a></div><br /><br />
Знадобилося організувати вимірювач пульсу в одній зі своїх виробів. Швидкий пошук по aliexpress видав модуль на MAX30100. Замовив, граюся.</div><span><a name='more'></a></span><div dir="ltr" style="text-align: left;" trbidi="on"><br />
Отримав, швиденько зібрав і залив скетч <a href="http://www.instructables.com/id/Arduino-Heart-Rate-Monitor/" target="_blank">отсюда</a>.<br />
Скеч дуже добре написаний, і вельми просто піддається коригуванню.<br />
<br />
Бібліотеки для роботи прикладу можна взяти <a href="https://drive.google.com/file/d/0B2to8i69rOiQYUFLdTJuVVY5VzQ/view?usp=sharing&resourcekey=0-NBXdJcsmQDIavI-Mu55eGQ" target="_blank">тут</a> та <a href="https://drive.google.com/file/d/0B2to8i69rOiQSU5rWnBXWHZyRGs/view?usp=sharing&resourcekey=0-xyyccESBxKag9OYvgtiEHQ" target="_blank">тут</a>.<br />
<ul style="text-align: left;">
<li>Arduino-MAX30100-master.zip - бібліотека для датчика.</li>
<li>U8g2_Arduino-master.zip - бібліотека для керування екраном.</li>
</ul><div>Увімкнув, усе запрацювало одразу. Щоправда є проблеми з вимірюванням частоти серцевих скорочень, хоча це може бути пов'язано з особливістю моїх пальців. До слова сказати, на Samsung Galaxy s7 датчик серцевого ритму так само складно розпізнає частоту мого серцебиття.</div><div><br /></div>
<div><div><i style="font-weight: bold;">Зауваження: </i>Експериментуючи, зняв екран і після цього датчик перестав ініціалізуватися.</div><div>Проблема полягає в тому, що на платі датчика підтяжка ліній шини I2C організована на шину живлення 1,8В. Цього явно не достатньо для нормальної роботи з 5В процесором ардуїно. Поставив резистори 4,7к на лінії I2C і на 3.3В від ардуіно, і датчик працює правильно.</div></div>
<div>
<br /></div>
<div>
За допомогою бібліотеки можна змінювати налаштування датчика. Допустимі значення налаштувань вказані у файлі MAX30100_Registers.h у папці з бібліотекою датчика.</div>
<div>
<br /></div>
<div>
<br /></div>
</div><br />
guslab.com.uahttp://www.blogger.com/profile/05614575351100649407noreply@blogger.com2tag:blogger.com,1999:blog-3104833459141708696.post-20165044844146738032017-04-23T16:06:00.000+03:002017-07-18T18:58:06.672+03:00Оптическая инфракрасная развязка звука<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj981_ee92K-EHfihH_gyRSc9jrthIml_uBAZZbsypZ3cAhC6ljaSxOQq3qi1tdopzBTGv4YmFKlP_nAHJc4UB8gIwWHBk4mIiaIZO8Sel2WIWYs2LrNsCXTPsi91cBR0PniimEXxmmsBA/s1600/%25D0%25B8%25D0%25BD%25D1%2584%25D1%2580%25D0%25B0%25D0%25BA%25D1%2580%25D0%25B0%25D1%2581%25D0%25BD%25D0%25B0%25D1%258F+%25D1%2580%25D0%25B0%25D0%25B7%25D0%25B2%25D1%258F%25D0%25B7%25D0%25BA%25D0%25B0+%25D0%25B4%25D0%25BB%25D1%258F+%25D0%25B7%25D0%25B2%25D1%2583%25D0%25BA%25D0%25B0.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="147" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj981_ee92K-EHfihH_gyRSc9jrthIml_uBAZZbsypZ3cAhC6ljaSxOQq3qi1tdopzBTGv4YmFKlP_nAHJc4UB8gIwWHBk4mIiaIZO8Sel2WIWYs2LrNsCXTPsi91cBR0PniimEXxmmsBA/s400/%25D0%25B8%25D0%25BD%25D1%2584%25D1%2580%25D0%25B0%25D0%25BA%25D1%2580%25D0%25B0%25D1%2581%25D0%25BD%25D0%25B0%25D1%258F+%25D1%2580%25D0%25B0%25D0%25B7%25D0%25B2%25D1%258F%25D0%25B7%25D0%25BA%25D0%25B0+%25D0%25B4%25D0%25BB%25D1%258F+%25D0%25B7%25D0%25B2%25D1%2583%25D0%25BA%25D0%25B0.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Имеется источник звука и приемник. Задача в том чтобы передать звук на весьма большое расстояние порядка 20м, по неэкранированной линии, и с электрической развязкой источника и приемника звука. </div>
<div class="separator" style="clear: both; text-align: justify;">
</div>
<a name='more'></a>Задачу решил на основе многочисленных схем инфракрасных беспроводных наушников.<br />
<div class="separator" style="clear: both; text-align: justify;">
Элементная база из максимально доступных на сегодняшний день компонентов:</div>
<div class="separator" style="clear: both; text-align: justify;">
Инфракрасный диод и инфракрасные фототранзисторы из оптопар TCRT5000. Транзистор SS8050. Питание от 12В. </div>
<div class="separator" style="clear: both; text-align: justify;">
Благодаря оптической развязке, установив 4 фото транзистора получил 4 раздельных источника звука. Это нужно в моем конкретном устройстве. </div>
<div class="separator" style="clear: both; text-align: justify;">
В передатчике переменным резистором регулируем смещение транзистора в режиме покоя, и соответственно средний ток через ИК диод. Этой регулировкой на слух добиваемся наилучшего качества сигнала. </div>
<div class="separator" style="clear: both; text-align: justify;">
На макетной плате это выглядит так:</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUJGfCFEPA7clC6dys9yhv0hIlZJJgxkCTTybEjqdk5xDHLp6drZsyYFAMYBU1JOJVLQ15fBuppr7p7wt_MZvdTmgwT6BAndTwOEwBJhWuINn1N05W6w9Bv2Xdyr10xmv9l5wes7YMaYU/s1600/20170423_153433.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUJGfCFEPA7clC6dys9yhv0hIlZJJgxkCTTybEjqdk5xDHLp6drZsyYFAMYBU1JOJVLQ15fBuppr7p7wt_MZvdTmgwT6BAndTwOEwBJhWuINn1N05W6w9Bv2Xdyr10xmv9l5wes7YMaYU/s320/20170423_153433.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Это полностью рабочий вариант. И схема выше от него.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
UPD 18/07/2017: Качество передачи довольно низкое, и динамический диапазон довольно не высок. Для маленького динамика подходит. На мощных динамиках, очень сильно слышны искажения звука. </div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
</div>
guslab.com.uahttp://www.blogger.com/profile/05614575351100649407noreply@blogger.com0tag:blogger.com,1999:blog-3104833459141708696.post-77202167989540593902017-01-15T22:07:00.001+02:002017-01-15T22:07:23.896+02:00как подключить USB клавиатуру к Arduino nano (uno и другие)<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmZOqYDaewc7YbcgqBhmEgFotzT0cxivydFfuUlLwcC-EF3TPljcTCiMZZlNsdUAbhDverdLdP5ipEzN3ty9TTyS-FOi9XaxEs9FFE05JH_J_qfjTv04iwIQA1gN6LQsQTaQzD1CRjuDw/s1600/20170111_023115.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmZOqYDaewc7YbcgqBhmEgFotzT0cxivydFfuUlLwcC-EF3TPljcTCiMZZlNsdUAbhDverdLdP5ipEzN3ty9TTyS-FOi9XaxEs9FFE05JH_J_qfjTv04iwIQA1gN6LQsQTaQzD1CRjuDw/s320/20170111_023115.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhE09X14wWL0fx0d3V6ekVLyUWwhzfRdiPSwTjo7F45SZntFfOcGhJRlWwoImvbNEKKLAyy24hz9dq6FFHLK5NnuhtGGieEiNXy-D9bDPD9MV7LY2xaAgXgiXUOAmL1w7UaVtRus-Lf4so/s1600/hh.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhE09X14wWL0fx0d3V6ekVLyUWwhzfRdiPSwTjo7F45SZntFfOcGhJRlWwoImvbNEKKLAyy24hz9dq6FFHLK5NnuhtGGieEiNXy-D9bDPD9MV7LY2xaAgXgiXUOAmL1w7UaVtRus-Lf4so/s320/hh.png" width="320" /></a></div>
<br />
Задача стояла следующая: телевизор на котором отображается примитивная консоль для ввода логина и пароля. Логин и пароль, состоящий из букв и/или цифр, вводится с клавиатуры. Действия производимые при помощи клавиатуры должны быть озвучены. При правильном вводе пароля необходимо произвести некую коммутацию сигналов (проще говоря включить реле). Решена с помощью USB Host shield и библиотеки для Arduino TV-Out.<br />
<br />
<a name='more'></a>Задачу я разбил на 2 подзадачи<br />
<div style="text-align: left;">
</div>
<ol style="text-align: left;">
<li>Вывод изображения на экран</li>
<li>Ввод данных с клавиатуры.</li>
</ol>
<br />
<h3 style="text-align: left;">
Вывод изображения на экран</h3>
<div>
</div>
<div style="text-align: left;">
</div>
<div>
Первую задачу я знал как решить, так как уже доводилось сталкиваться с библиотекой вывода ЧБ изображения на экран при помощи Arduino. Так же библиотека позволяет вывести звук определенной частоты и, при необходимости, длительности. </div>
<div>
<br /></div>
<div>
Библиотеку использовал <a href="https://code.google.com/archive/p/arduino-tvout/downloads" target="_blank">отсюда</a> , файл <a class="ng-binding" href="https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/arduino-tvout/TVout_w_audio.zip" style="background-color: white; color: #7759ae; font-family: arial, sans-serif; font-size: 13px;">TVout_w_audio.zip</a>. </div>
<div>
<br /></div>
<div>
Схема подключения</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjbU-8e1u1JW5_CGTBHNtHOf9c54na_Hlrxhj-6LAysCITSIxqNNrwvFnFW3brciQd6GKyr0Bfa361c5305Ygfk3qiLAgnQIis_EjwQN7dC5gitJkbEAb5gmQF__7M0VaMWJslWTDQU0Y/s1600/tvout.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="210" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjbU-8e1u1JW5_CGTBHNtHOf9c54na_Hlrxhj-6LAysCITSIxqNNrwvFnFW3brciQd6GKyr0Bfa361c5305Ygfk3qiLAgnQIis_EjwQN7dC5gitJkbEAb5gmQF__7M0VaMWJslWTDQU0Y/s400/tvout.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
Замечу что в данной библиотеке использован вывод D8 для вывода изображения, вместо D7 как на сайте Arduino.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Интерфейс получился примерно такой:</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZyx_4zQzl9G7cAv4FVXytpM3ycUA7tJfhYE6tSMB2bgEGakVgd0o6qlqLC9gJc6dlWywnUCVRGuIac4PjZ0NaF4fWmg7lZbXfAX5_ED7DWtg1hx9GEAQqnW49AuZpn-4P6LXdTakDxKk/s1600/hh.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZyx_4zQzl9G7cAv4FVXytpM3ycUA7tJfhYE6tSMB2bgEGakVgd0o6qlqLC9gJc6dlWywnUCVRGuIac4PjZ0NaF4fWmg7lZbXfAX5_ED7DWtg1hx9GEAQqnW49AuZpn-4P6LXdTakDxKk/s400/hh.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Так же во время написания программы столкнулся с тем что при выводе текста в одну строку но по частям, или с использованием команды вывода текста на экран - получал ошибку компиляции. Например слово "LOGIN:" я вывожу одним оператором, а буквы введенные с клавиатуры этим же оператором только в следующей строке. Библиотека с сайта Arduino имеет функционал шире, но при этом так и не понял как избавиться от ошибки компиляции. В приведенной выше библиотеке с выводом изображения все ок. А вот при попытке проиграть простейшую мелодию из тонов разной частоты получал ошибку, пришлось оставить простое пикание например при вводе символов. </div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Программу приводить не буду. Все операторы взял из примера который приложен к библиотеке. Символы поступают через последовательный порт из другой Arduino-ки. Разнес вывод изображения и ввод с клавиатуры на два контроллера, так как библиотеки конфликтуют между собой. Не имел желания и необходимости разбираться.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<h3>
Ввод данных с клавиатуры</h3>
<div>
Второй вопрос это ввод данных с клавиатуры. С одной стороны можно было бы собрать кастомную клавиатуру из отдельных клавиш. Но решил пойти проще, и использовать готовую компьютерную клавиатуру, номенклатура которых широчайшая. </div>
<div>
<br /></div>
<div>
Самый простой способ подключить клавиатуру к ардуино это использовать интерфейс PS/2 и соответствующую библиотеку которая с легкостью гуглиться. Но клавиатур PS/2 значительно меньше (2017год на дворе как ни как :) ), а клавиатура будет использоваться в жестких условиях. решил остановиться на USB клавиатуре. </div>
<div>
<br /></div>
<div>
Поиски по гуглу дали ответ о том что можно клавиатуру подключить на прямую к ардуино, и есть библиотека которая позволяет софтварно добывать информацию с клавиатуры через USB интерфейс. Но мне показалось весьма сложной процедура копания в библиотеке, так как организована она на мой взгляд не очень явно. </div>
<div>
<br /></div>
<div>
И тут я вспомнил что недавно заказал у китайцев <a href="https://www.circuitsathome.com/usb-host-shield-hardware-manual/" target="_blank">USB HOST shield</a> на микросхеме <span style="background-color: white; color: #4f4e4e; font-family: "TyponineSans Regular 18", "Lucida Grande", Lucida, Verdana, sans-serif; font-size: 18px;">MAX3421E</span>. Когда я покупал эту штуку я даже не представлял на сколько велик ее потенциал :) </div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8Z_GPCMySqri9M9HNcTXudnyVvMGUtQ991bZzOSRZFgJ-18-39jUdk_Hf1mfTd54tn9h1o56Pkq1zn6g-6MSIstWeVrvOW-zUEZyvg9wbQmHDfn0v7aSBUB-MlZ8w2QmA-c_wtPW29Rs/s1600/uhs20s_pin_layout.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8Z_GPCMySqri9M9HNcTXudnyVvMGUtQ991bZzOSRZFgJ-18-39jUdk_Hf1mfTd54tn9h1o56Pkq1zn6g-6MSIstWeVrvOW-zUEZyvg9wbQmHDfn0v7aSBUB-MlZ8w2QmA-c_wtPW29Rs/s400/uhs20s_pin_layout.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Шилд подключается необычным для меня образом через разъем ICSP. Причем Если reset дублируется и на основных выводах платы ардуино, то на шилд заходит только через панельку ICSP. Как я понимаю это связано с тем что плату можно переключать на 3,3В и на 5В логику. И трансляция в моем случае 5В логики ардуино на 3,3В для контроллера УСБ шилда производится как раз через ICSP. По этому привожу схему по которой я подключил шилд к своему контроллеру.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjj3IvURerU621voMpKUDhWG5A_hy1F1DBsTTymx6feRPOQ8yIJ2kTXfPVsHsKOowdZh4PXzC5dPgXHTQmG8MO0rP_GEmBiF75yvhU8-bFZ1vh1WcHpHPTr70JqzaD5-ytoWXMqqbN47ik/s1600/UHS_arduino.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjj3IvURerU621voMpKUDhWG5A_hy1F1DBsTTymx6feRPOQ8yIJ2kTXfPVsHsKOowdZh4PXzC5dPgXHTQmG8MO0rP_GEmBiF75yvhU8-bFZ1vh1WcHpHPTr70JqzaD5-ytoWXMqqbN47ik/s320/UHS_arduino.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div>
Библиотека и информация по работе с шилдом есть на <a href="https://www.arduino.cc/en/Main/ArduinoUSBHostShield" target="_blank">сайте ардуино</a>. </div>
<div>
Библиотеку можно скачать <a href="https://github.com/felis/USB_Host_Shield_2.0" target="_blank">здесь</a>.</div>
<div>
С библиотекой идет куча величайшая примеров. Я взял этот пример:</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgItqvQg78YjnxTTEdpNMzcgCOII19KvZDqB0XlbWw07X8UiLZ0Fr2nDtNq80us1-gO7UtAH3fT00XVOmMvoqwdJhdhiMu4DZOjwz2VXlVpAFzCUTR3LEpbl_wW36e5h8aiP8Y-YyEZ9k/s1600/arduino_sketch_uhs.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="393" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgItqvQg78YjnxTTEdpNMzcgCOII19KvZDqB0XlbWw07X8UiLZ0Fr2nDtNq80us1-gO7UtAH3fT00XVOmMvoqwdJhdhiMu4DZOjwz2VXlVpAFzCUTR3LEpbl_wW36e5h8aiP8Y-YyEZ9k/s400/arduino_sketch_uhs.png" width="400" /></a></div>
<div>
<br /></div>
<div>
Убрал из него обработку ненужных мне клавиш. Оставил лишь буквы, цифры, и стрелки курсора.</div>
<div>
Пример написан очень аккуратно и понятно что за что отвечает. </div>
<div>
Коды полученые с клавиатуры транслируются через последовательный порт на контроллер который выводит видео. </div>
<div>
<br /></div>
<div>
Код программы которая опрашивает клавиатуру через шилд </div>
<div>
<br /></div>
<div>
</div>
<br />
<table border="0" cellpadding="0" cellspacing="0" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-collapse: collapse; border-radius: 0px !important; border-spacing: 0px; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: #333333; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 18px; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1442px;"><tbody style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="gutter" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: rgb(175, 175, 175) !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><div class="line number1 index0 alt2" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
1</div>
<div class="line number2 index1 alt1" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
2</div>
<div class="line number3 index2 alt2" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
3</div>
<div class="line number4 index3 alt1" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
4</div>
<div class="line number5 index4 alt2" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
5</div>
<div class="line number6 index5 alt1" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
6</div>
<div class="line number7 index6 alt2" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
7</div>
<div class="line number8 index7 alt1" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
8</div>
<div class="line number9 index8 alt2" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
9</div>
<div class="line number10 index9 alt1" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
10</div>
<div class="line number11 index10 alt2" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
11</div>
<div class="line number12 index11 alt1" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
12</div>
<div class="line number13 index12 alt2" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
13</div>
<div class="line number14 index13 alt1" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
14</div>
<div class="line number15 index14 alt2" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
15</div>
<div class="line number16 index15 alt1" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
16</div>
<div class="line number17 index16 alt2" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
17</div>
<div class="line number18 index17 alt1" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
18</div>
<div class="line number19 index18 alt2" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
19</div>
<div class="line number20 index19 alt1" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
20</div>
<div class="line number21 index20 alt2" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
21</div>
<div class="line number22 index21 alt1" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
22</div>
<div class="line number23 index22 alt2" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
23</div>
<div class="line number24 index23 alt1" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
24</div>
<div class="line number25 index24 alt2" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
25</div>
<div class="line number26 index25 alt1" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
26</div>
<div class="line number27 index26 alt2" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
27</div>
<div class="line number28 index27 alt1" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
28</div>
<div class="line number29 index28 alt2" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
29</div>
<div class="line number30 index29 alt1" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
30</div>
<div class="line number31 index30 alt2" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
31</div>
<div class="line number32 index31 alt1" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
32</div>
<div class="line number33 index32 alt2" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
33</div>
<div class="line number34 index33 alt1" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
34</div>
<div class="line number35 index34 alt2" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
35</div>
<div class="line number36 index35 alt1" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
36</div>
<div class="line number37 index36 alt2" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
37</div>
<div class="line number38 index37 alt1" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
38</div>
<div class="line number39 index38 alt2" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
39</div>
<div class="line number40 index39 alt1" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
40</div>
<div class="line number41 index40 alt2" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
41</div>
<div class="line number42 index41 alt1" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
42</div>
<div class="line number43 index42 alt2" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
43</div>
<div class="line number44 index43 alt1" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
44</div>
<div class="line number45 index44 alt2" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
45</div>
<div class="line number46 index45 alt1" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
46</div>
<div class="line number47 index46 alt2" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
47</div>
<div class="line number48 index47 alt1" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
48</div>
<div class="line number49 index48 alt2" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
49</div>
<div class="line number50 index49 alt1" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
50</div>
<div class="line number51 index50 alt2" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
51</div>
<div class="line number52 index51 alt1" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
52</div>
<div class="line number53 index52 alt2" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
53</div>
<div class="line number54 index53 alt1" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
54</div>
<div class="line number55 index54 alt2" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
55</div>
<div class="line number56 index55 alt1" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
56</div>
<div class="line number57 index56 alt2" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
57</div>
<div class="line number58 index57 alt1" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
58</div>
<div class="line number59 index58 alt2" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
59</div>
<div class="line number60 index59 alt1" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
60</div>
<div class="line number61 index60 alt2" style="background: none white !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
61</div>
</td><td class="code" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1392px;"><div class="container" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<div class="line number1 index0 alt2" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp preprocessor" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: gray !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">#include <hidboot.h></code></div>
<div class="line number2 index1 alt1" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp preprocessor" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: gray !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">#include <usbhub.h></code></div>
<div class="line number3 index2 alt2" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
</div>
<div class="line number4 index3 alt1" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp comments" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: rgb(0, 130, 0) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">// Satisfy the IDE, which needs to see the include statment in the ino too.</code></div>
<div class="line number5 index4 alt2" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp preprocessor" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: gray !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">#ifdef dobogusinclude</code></div>
<div class="line number6 index5 alt1" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp preprocessor" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: gray !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">#include <spi4teensy3.h></code></div>
<div class="line number7 index6 alt2" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp preprocessor" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: gray !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">#include <SPI.h></code></div>
<div class="line number8 index7 alt1" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp preprocessor" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: gray !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">#endif</code></div>
<div class="line number9 index8 alt2" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
</div>
<div class="line number10 index9 alt1" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp keyword bold" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">class</code> <code class="cpp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">KbdRptParser : </code><code class="cpp keyword bold" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">public</code> <code class="cpp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">KeyboardReportParser</code></div>
<div class="line number11 index10 alt2" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">{</code></div>
<div class="line number12 index11 alt1" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="cpp keyword bold" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">protected</code><code class="cpp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">:</code></div>
<div class="line number13 index12 alt2" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="cpp keyword bold" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">void</code> <code class="cpp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">OnKeyDown (uint8_t mod, uint8_t key);</code></div>
<div class="line number14 index13 alt1" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
</div>
<div class="line number15 index14 alt2" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">};</code></div>
<div class="line number16 index15 alt1" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
</div>
<div class="line number17 index16 alt2" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp keyword bold" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">void</code> <code class="cpp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">KbdRptParser::OnKeyDown(uint8_t mod, uint8_t key)</code></div>
<div class="line number18 index17 alt1" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">{</code></div>
<div class="line number19 index18 alt2" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
</div>
<div class="line number20 index19 alt1" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="cpp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">Serial.write(key);</code></div>
<div class="line number21 index20 alt2" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
</div>
<div class="line number22 index21 alt1" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">}</code></div>
<div class="line number23 index22 alt2" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
</div>
<div class="line number24 index23 alt1" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
</div>
<div class="line number25 index24 alt2" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
</div>
<div class="line number26 index25 alt1" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
</div>
<div class="line number27 index26 alt2" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">USB Usb;</code></div>
<div class="line number28 index27 alt1" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp comments" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: rgb(0, 130, 0) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">//USBHub Hub(&Usb);</code></div>
<div class="line number29 index28 alt2" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">HIDBoot<USB_HID_PROTOCOL_KEYBOARD> HidKeyboard(&Usb);</code></div>
<div class="line number30 index29 alt1" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
</div>
<div class="line number31 index30 alt2" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">uint32_t next_time;</code></div>
<div class="line number32 index31 alt1" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
</div>
<div class="line number33 index32 alt2" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">KbdRptParser Prs;</code></div>
<div class="line number34 index33 alt1" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
</div>
<div class="line number35 index34 alt2" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp keyword bold" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">void</code> <code class="cpp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">setup()</code></div>
<div class="line number36 index35 alt1" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">{</code></div>
<div class="line number37 index36 alt2" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="cpp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">Serial.begin( 115200 );</code></div>
<div class="line number38 index37 alt1" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp preprocessor" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: gray !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">#if !defined(__MIPSEL__)</code></div>
<div class="line number39 index38 alt2" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="cpp keyword bold" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">while</code> <code class="cpp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">(!Serial); </code><code class="cpp comments" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: rgb(0, 130, 0) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">// Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection</code></div>
<div class="line number40 index39 alt1" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp preprocessor" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: gray !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">#endif</code></div>
<div class="line number41 index40 alt2" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
</div>
<div class="line number42 index41 alt1" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
</div>
<div class="line number43 index42 alt2" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="cpp keyword bold" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">if</code> <code class="cpp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">(Usb.Init() == -1)</code></div>
<div class="line number44 index43 alt1" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="cpp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">{</code></div>
<div class="line number45 index44 alt2" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="cpp keyword bold" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">while</code><code class="cpp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">(1)</code></div>
<div class="line number46 index45 alt1" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="cpp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">{</code></div>
<div class="line number47 index46 alt2" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="cpp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">Serial.write(200); </code><code class="cpp comments" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: rgb(0, 130, 0) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">//Выводим в порт код 200, если не удалось инициализировать шилд</code></div>
<div class="line number48 index47 alt1" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="cpp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">delay(500);</code></div>
<div class="line number49 index48 alt2" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="cpp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">}</code></div>
<div class="line number50 index49 alt1" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="cpp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">}</code></div>
<div class="line number51 index50 alt2" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="cpp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">delay( 200 );</code></div>
<div class="line number52 index51 alt1" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
</div>
<div class="line number53 index52 alt2" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="cpp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">next_time = millis() + 5000;</code></div>
<div class="line number54 index53 alt1" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
</div>
<div class="line number55 index54 alt2" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="cpp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">HidKeyboard.SetReportParser(0, &Prs);</code></div>
<div class="line number56 index55 alt1" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">}</code></div>
<div class="line number57 index56 alt2" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
</div>
<div class="line number58 index57 alt1" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp keyword bold" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">void</code> <code class="cpp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">loop()</code></div>
<div class="line number59 index58 alt2" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">{</code></div>
<div class="line number60 index59 alt1" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="cpp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">Usb.Task();</code></div>
<div class="line number61 index60 alt2" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="cpp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">}</code></div>
</div>
</td></tr>
</tbody></table>
<br /><div>
И так все удалось, клавиши с любой УСБ клавиатуры распознаются и передаются в контроллер видео для последующего вывода на экран.</div>
</div>
guslab.com.uahttp://www.blogger.com/profile/05614575351100649407noreply@blogger.com0tag:blogger.com,1999:blog-3104833459141708696.post-23853205346752798352016-11-15T14:09:00.005+02:002023-12-08T15:23:25.460+02:00Дневные ходовые огни и поворотники на TM1804 и ATTINY85 или как программировать микроконтроллеры ATMEL при помощи Arduino<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjK0nFs68bbEN1AIx7f2UtciiPfAC2s-5CcT1NJROAiQj-Iuqt0m9-cWphVQ8Mn7enN5gY_USyPGYVynSk8sTVizYQ8v38KQbhadcr2pyJrAHCOPJLBIIfDZtQjl4go17Ry30PcWwfeRCg/s1600/20161115_121808.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjK0nFs68bbEN1AIx7f2UtciiPfAC2s-5CcT1NJROAiQj-Iuqt0m9-cWphVQ8Mn7enN5gY_USyPGYVynSk8sTVizYQ8v38KQbhadcr2pyJrAHCOPJLBIIfDZtQjl4go17Ry30PcWwfeRCg/s200/20161115_121808.jpg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhn20TS-ZWwNK1Ay_EHN2qpV7XSIKXr8nKwS9J0shaon5LHvr96qJRXz-UXQnCNb27_h8VJ8l6nsP3uWXsxSuUFTsIHMKautqISZU2WYaquuuIaYUWAnoXOARRzxU6d2Kx8VUc9EjlFWmA/s1600/20161115_121829.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhn20TS-ZWwNK1Ay_EHN2qpV7XSIKXr8nKwS9J0shaon5LHvr96qJRXz-UXQnCNb27_h8VJ8l6nsP3uWXsxSuUFTsIHMKautqISZU2WYaquuuIaYUWAnoXOARRzxU6d2Kx8VUc9EjlFWmA/s200/20161115_121829.jpg" width="200" /></a></div>
<br />
<div style="text-align: justify;">
Мои заказчики получили забавные сигналы поворотов. Каждый поворот состоит из 16 сегментов. Каждый сегмент может светиться желтым или белым. В комплекте модуль управления со стабилизатором напряжения для питания диодов. При включении модуля диоды светятся белым, при подаче сигнала с поворотника белый выключается и начинает мигать желтый. Когда сигнал с поворотника пропадает вся линейка снова светится белым. Ранее я разрабатывал конструкцию <a href="http://www.guslab.com.ua/2015/01/drl2.html" target="_blank">Устройство управления Дневными Ходовыми Огнями (ДХО) своими руками (DIY)</a>. Прошлая конструкция управляла только белыми ДХО. Меня попросили совместить прошлую конструкцию и новую светодиодную линейку на TM1804.</div>
<a name='more'></a>Задание есть - поехали работать.<br />
<div style="text-align: justify;">
<br /></div>
<h3 style="text-align: justify;">
Выбор микроконтроллера</h3>
<div style="text-align: justify;">
Предыдущая плата управления была на PIC12FF629 (675). Контроллер который я знаю вдоль и поперек но он весьма старый, сложно найти в количестве, и цена не малая. Решыл попробовать ATMEL. Выбор пал на ATTINY85. Мне нужен был минимальный размер. Три входа для управления, выход данных на ленту, вход для кнопки для смены эффектов. В начале планировал использовать ШИМ канал для совместимости с обычной светодиодной лентой в качестве ДХО, но по факту не понадобилось. Температуры рабочие позволяют использовать его на улице. Встроенный тактовый генератор на 1, 8, и даже 16 МГЦ при использовании встроенного PLL генератора.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
И так остановился на ATTINY85. <a href="https://drive.google.com/open?id=0B2to8i69rOiQeGgxcWVtRE8tcHc" target="_blank">Даташит у меня в папке.</a></div>
<div style="text-align: justify;">
<br /></div>
<h3 style="text-align: justify;">
Язык, среда программирования</h3>
<div>
На ассемблере писать уже не в кайф. Очень долго. Решил писать на С. На данный момент привычная мне среда программирования Arduino не позволяет "из коробки" писать программы под ATTINY85. Но решение нашлось очень быстро. Оказывается есть ядра для среды Arduino, после установки которых программу написанную в среде ардуино можно компилировать, в том числе, и под ATTINY85, и еще под кучу контроллеров. <a href="https://drive.google.com/open?id=0B2to8i69rOiQUlE3WTI4ZU1MQ1U" target="_blank">Архив с ядром лежит у меня на диске</a>.</div>
<div>
Ссылка на оригинальный материал на <a href="https://github.com/SpenceKonde/ATTinyCore" target="_blank">GitHub</a>. </div>
<div>
Для установки нужно скопировать папку из архива в директорию </div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcT5wIkjxGnCi3TcUjJUcLT2YTKs0LJuRffNbIscozormSbaEAZsoWBbKx5vDqBfVpglIFNO1T3AKStCMsEHWCzvZHRcnj2uhClFN0FXZKl-x4YSZ2tGMgAIsCGbB288Oeqvg3oqzbuVw/s1600/%25D0%25B4%25D0%25B8%25D1%2580%25D0%25B5%25D0%25BA%25D1%2582%25D0%25BE%25D1%2580%25D0%25B8%25D1%258F.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="140" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcT5wIkjxGnCi3TcUjJUcLT2YTKs0LJuRffNbIscozormSbaEAZsoWBbKx5vDqBfVpglIFNO1T3AKStCMsEHWCzvZHRcnj2uhClFN0FXZKl-x4YSZ2tGMgAIsCGbB288Oeqvg3oqzbuVw/s400/%25D0%25B4%25D0%25B8%25D1%2580%25D0%25B5%25D0%25BA%25D1%2582%25D0%25BE%25D1%2580%25D0%25B8%25D1%258F.png" width="400" /></a></div>
<div>
<br /></div>
<div>
Запустить Arduino. В моем случае версия 1.6.12 Русская. В меню Инструменты/плата/менеджер плат - открыть этот самый менеджер плат, он перечитает папку Hardware и в меню появятся новые пункты</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivRt9RRtIhAcBE39n3wCq-gMipQoTVmN8xyXLh1BdJ9ACWn6onIkkTi9Bj434Yq99qaIO7P0JNd9Hm74NQmusjNhF2GQKZwB1C8_w99pfZvWea0tTJlFKJWrtVBeBpUUFIsXE0QeXL_zk/s1600/%25D0%25B0%25D1%2580%25D0%25B4%25D1%2583%25D0%25B8%25D0%25BD%25D0%25BE.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivRt9RRtIhAcBE39n3wCq-gMipQoTVmN8xyXLh1BdJ9ACWn6onIkkTi9Bj434Yq99qaIO7P0JNd9Hm74NQmusjNhF2GQKZwB1C8_w99pfZvWea0tTJlFKJWrtVBeBpUUFIsXE0QeXL_zk/s640/%25D0%25B0%25D1%2580%25D0%25B4%25D1%2583%25D0%25B8%25D0%25BD%25D0%25BE.png" width="440" /></a></div>
<div>
<br /></div>
<div>
Теперь мы можем писать программы в среде ардуино под выбранный контроллер. </div>
<div>
<br /></div>
<h3 style="text-align: left;">
Программирование микроконтроллера ATTINY85 из среды Arduino</h3>
<div>
Написали мы программу, а как ее теперь залить в микроконтроллер. Я счастливый обладатель AVRDragon, но использовать мне его так и не довелось. И так не хотелось тратить время на то чтобы разобраться с тем как с ним работать. </div>
<div>
Оказывается плату ардуино можно превратить в программатор для ATTINY. Для этого нужно собрать схему из 6 проводов и конденсатора. Залить в ардуинку скетч с программатором. И программировать контроллер ATTINY85 точно так же как и обычную плату ардуино. Отдельную статейку можно почитать <a href="https://create.arduino.cc/projecthub/arjun/programming-attiny85-with-arduino-uno-afb829?ref=tag&ref_id=attiny85&offset=0" target="_blank">здесь</a>.</div>
<div>
Собираем схему</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgSeLmlNHyU3unFHmDgWf_DwAuE4du37pO4N4j4v-Bsq7Lr0s_6dNZOe2OwR1wjtIHtOo-MoGdBG3Stf0-8aDKjbythQ3bDINz_j4Of5GV7ETUaA-7r88ewIJiM8jW7JyJpX5G0Qt1XbQ/s1600/ATtiny45-85.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="114" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgSeLmlNHyU3unFHmDgWf_DwAuE4du37pO4N4j4v-Bsq7Lr0s_6dNZOe2OwR1wjtIHtOo-MoGdBG3Stf0-8aDKjbythQ3bDINz_j4Of5GV7ETUaA-7r88ewIJiM8jW7JyJpX5G0Qt1XbQ/s320/ATtiny45-85.png" width="320" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgj8TUcnPozmNrU3tK8RpmG-wS06SIykvFm9wsfTeblv6XIPtPLmnSMM_GMUXIXDy3-hzBwNXKZuDH9dMknPE1U0-OqCSRKGM29QdzpaV6Oe3dkfdE_ZzXZ5YWhIX3qS4gUxuAST_4sKFk/s1600/Programming+ATtiny85+with+Arduino+Uno_bb.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="295" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgj8TUcnPozmNrU3tK8RpmG-wS06SIykvFm9wsfTeblv6XIPtPLmnSMM_GMUXIXDy3-hzBwNXKZuDH9dMknPE1U0-OqCSRKGM29QdzpaV6Oe3dkfdE_ZzXZ5YWhIX3qS4gUxuAST_4sKFk/s400/Programming+ATtiny85+with+Arduino+Uno_bb.png" width="400" /></a></div>
<div>
<br /></div>
<div>
Не забудьте конденсатор между reset и gnd! В моем случае стоял на 1000мкф х 25в.</div>
<div>
<br /></div>
<div>
Загружаем в ардуино скетч с ISP программатором</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3TpzmHjcdJO_9rEHTXAjJdtEz8jBKBlFGgO1UGQonKh7f8nEfxzpu7gDtb4Rs7jgoVxjAbrbcTVG_tIXSokRL5UZarAG_T2CpBCX9OUPGeMzQo37udIIfbfLZISfS1tasPrv_fqB5RkI/s1600/isp.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="352" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3TpzmHjcdJO_9rEHTXAjJdtEz8jBKBlFGgO1UGQonKh7f8nEfxzpu7gDtb4Rs7jgoVxjAbrbcTVG_tIXSokRL5UZarAG_T2CpBCX9OUPGeMzQo37udIIfbfLZISfS1tasPrv_fqB5RkI/s400/isp.png" width="400" /></a></div>
<div>
<br /></div>
<div>
потом выбираем в инструментах нужный процессор, нужную частоту процессора (если генератор внутренний то нужно выбирать internal!) и программатор "Arduino As ISP"</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqFJRhuF6c8r5QkikDuTuKJp0s3WfoOp_bBAN1xQNC2aiq7U8QfyL-hjMZGiVIpArPyWzl4w2xtZnylea6v-OqtpWXFnp_LihHphOxvqEkhm37ESeICbUlsUwO7-ChwwgXaoYiekWf0DQ/s1600/progisp.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqFJRhuF6c8r5QkikDuTuKJp0s3WfoOp_bBAN1xQNC2aiq7U8QfyL-hjMZGiVIpArPyWzl4w2xtZnylea6v-OqtpWXFnp_LihHphOxvqEkhm37ESeICbUlsUwO7-ChwwgXaoYiekWf0DQ/s320/progisp.png" width="308" /></a></div>
<div>
<br /></div>
<div>
Мы готовы :)</div>
<div>
Чтобы проверить работоспособность, открываем скетч blink из стандартных скетчей ардуино. меняем LED_BUILTIN например на 3. Это цифровой вывод 3, и находится он на ножке 2 микроконтроллера (см. выводы контроллера выше).</div>
<div>
Вгружаем программу. </div>
<div>
Подключаем светодиод на вторую ногу и корпус (GND) и он должен мигать хотя меееедленно!</div>
<div>
<br /></div>
<div>
Замечу что по умолчанию микроконтроллер будет работать на частоте 1Мгц, и по этому задержка в скетче 1000мс - будет на много больше. Для того чтобы изменить частоту контроллера на ту что выбрана в меню, в моем случае 8МГЦ, нужно записать загрузчик. Загрузчик нужно записывать на каждый новый контроллер, если программируете серию.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYYklkI2hNE0iq9bP1fCxgjNRV4OEc6Li7V1dDMlHp-4tCQIjW77F3F4NGniBmkPFgi7WZF-b6LPILbkLA7fdPL390WIffZncbYL6k0q5BVA0RwZ2On2TgNF5T0X6jH2ZFSkvkcyuzFEk/s1600/%25D0%25B7%25D0%25B0%25D0%25B3%25D1%2580%25D1%2583%25D0%25B7%25D1%2587%25D0%25B8%25D0%25BA.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="376" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYYklkI2hNE0iq9bP1fCxgjNRV4OEc6Li7V1dDMlHp-4tCQIjW77F3F4NGniBmkPFgi7WZF-b6LPILbkLA7fdPL390WIffZncbYL6k0q5BVA0RwZ2On2TgNF5T0X6jH2ZFSkvkcyuzFEk/s400/%25D0%25B7%25D0%25B0%25D0%25B3%25D1%2580%25D1%2583%25D0%25B7%25D1%2587%25D0%25B8%25D0%25BA.png" width="400" /></a></div>
<div>
<br /></div>
<div>
Ура диодик мигает. Можем продолжать :)</div>
<div>
<h3 style="text-align: left;">
<br />Обновление информации. Программирование ATTINY24/44/84</h3>
<div>
Развивая и модифицируя проект, стало мало ног на 8ногой тушке. Решил использовать ATTINY44, Ниже схема подключения, распиновка, и настройки среды ардуино. Обратите внимание на то что чтобы распиновка в программе совпадала с распиновкой на картинке, нужно переключить соответствующую настройку "Pin mapping" = "clockwise".</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGZmvpVMRFlYV9kXYy5dUQWjp6BQ781OvwZ-2_zMJZdgML09dSSlYVmV5WNuVVDpBodIUNNmcMjJPCjA7nYzdmJTBFBNHTrrTzmvHn9SIVWAk50HbYdCF_8Rj7NDWCuI2XB3woAj4vJGk/s1600/Arduino-to-atttiny44_bb.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="198" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGZmvpVMRFlYV9kXYy5dUQWjp6BQ781OvwZ-2_zMJZdgML09dSSlYVmV5WNuVVDpBodIUNNmcMjJPCjA7nYzdmJTBFBNHTrrTzmvHn9SIVWAk50HbYdCF_8Rj7NDWCuI2XB3woAj4vJGk/s400/Arduino-to-atttiny44_bb.png" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0sQeMiRPBRo48isk1t5UpbVSVxolaGHyu2OsVXuBM2wSvc8WkeuRqKN1fHAuXA6S8H5h_NzAdF3IhFdmcCBt7S7Wjin8ooTBTdErT5o8PEOMVa0B1ntySuDyAbysLj4gmWeUkitLs304/s1600/attiny24_44_84pinout_arduino.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="132" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0sQeMiRPBRo48isk1t5UpbVSVxolaGHyu2OsVXuBM2wSvc8WkeuRqKN1fHAuXA6S8H5h_NzAdF3IhFdmcCBt7S7Wjin8ooTBTdErT5o8PEOMVa0B1ntySuDyAbysLj4gmWeUkitLs304/s400/attiny24_44_84pinout_arduino.png" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgUll6_iJq4mpf6rKevLoheUEhgHAOswkLCme99H6LyYsMWF8rfm5cFQMk3oKPWNN_LhvU7khX5FUxApYuuAM3BnUfXLL7IiV6gMYaAwCmuPsXQcXneRhhS3gNzfPhGv46WgwIWvipCPc/s1600/attiny24_44_84_01.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="348" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgUll6_iJq4mpf6rKevLoheUEhgHAOswkLCme99H6LyYsMWF8rfm5cFQMk3oKPWNN_LhvU7khX5FUxApYuuAM3BnUfXLL7IiV6gMYaAwCmuPsXQcXneRhhS3gNzfPhGv46WgwIWvipCPc/s400/attiny24_44_84_01.png" width="400" /></a></div>
<div>
<br /></div>
<br /></div>
<h3>UPD 08.12.2023 Зміна сигнатури мікроконтролера в Arduino IDE</h3><h3><div style="font-size: medium; font-weight: 400;">Заходим по шляху який зазначено в середовищі ардуіно. в моєму випадку: "C:\Users\mr.Director\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.5.2/avrdude.conf"</div><div style="font-size: medium; font-weight: 400;"><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiTGuGbaJC7Wum9gDWbA3zF1JPSKOZkyej1cY6mXFxLrvdP8cYMrSZnFNu5XXe2DpFtJ46-rouca7IV6ZyR3Xc7_vRHbNHfKDBS9ohhsVGvhSvfjsopcBCjz8DoyJQMyPkeeOjJCjfqM_k9Xtx1B51YRoFfW4V_FR-U0pSM9C0N4Bw_0YwWrPERzUh3OHk" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="205" data-original-width="1419" height="76" src="https://blogger.googleusercontent.com/img/a/AVvXsEiTGuGbaJC7Wum9gDWbA3zF1JPSKOZkyej1cY6mXFxLrvdP8cYMrSZnFNu5XXe2DpFtJ46-rouca7IV6ZyR3Xc7_vRHbNHfKDBS9ohhsVGvhSvfjsopcBCjz8DoyJQMyPkeeOjJCjfqM_k9Xtx1B51YRoFfW4V_FR-U0pSM9C0N4Bw_0YwWrPERzUh3OHk=w528-h76" width="528" /></a></div><br /><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;">В файлі знаходимо сигнатуру яку зазначає середовище Arduino</div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEg_SStTSG9D1hGNuFyuQSu77-ysq5SvnT99y8qyaKuOqfn6-djLQdSWdvX6vizH1BHr0TsWeeMO6PTX7gZq-zJKkh5IG0tvx8RZaTnmge_cIwprp5LCZ8a9CuwcYhWF5w8-nQC_nVR5PR_oO4DExl919RJYbzC_-uRxC1cb2Qq6-oSgJg1avbZERIB8ngA" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="91" data-original-width="535" height="54" src="https://blogger.googleusercontent.com/img/a/AVvXsEg_SStTSG9D1hGNuFyuQSu77-ysq5SvnT99y8qyaKuOqfn6-djLQdSWdvX6vizH1BHr0TsWeeMO6PTX7gZq-zJKkh5IG0tvx8RZaTnmge_cIwprp5LCZ8a9CuwcYhWF5w8-nQC_nVR5PR_oO4DExl919RJYbzC_-uRxC1cb2Qq6-oSgJg1avbZERIB8ngA" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;">Шукаємо сигнатуру та міняємо. </div><div class="separator" style="clear: both; text-align: left;">В моєму випадку, правда, я неуважно прочитав, та забувся перемкнути процесор на tiny44 в середовищі Arduino.</div></div><br /></div><br /><br /></div></h3><h3 style="text-align: left;">
Работа с TM1804 и им подобными микросхемами так называемых Addressable led.</h3>
<div>
Как оказалось ленточка у заказчика (вернее линейка светодиодов) была реализована на микросхемах TM1804. Даташит на китайском <a href="https://drive.google.com/open?id=0B2to8i69rOiQY0l4SURNcjFsSlU" target="_blank">у меня на диске</a>. <a href="https://drive.google.com/open?id=0B2to8i69rOiQQUt1MTVuc3NLSzA" target="_blank">И даташит на TM1803 на английском для изучения</a>. </div>
<div>
<br /></div>
<div>
Каждый сегмент питается в нашем случае стабильным напряжением около 10,5В. Напряжение, да и вообще конкретную схему стабилизатора, срисовал с оригинального блока управления от ленточки. </div>
<div>
У каждого сегмента есть ножка ввода данных и ножка вывода данных. </div>
<div>
Каждый сегмент управляет тремя (в нашем случае задействовано только 2 канала) светодиодами, и организовывает управление яркостью от 0 до 255. </div>
<div>
На каждый светодиод в сегменте нужно 8 бит информации чтобы выставить яркость. В сегменте три канала (из которых используем 2) то есть 8бит х 3 = 24.</div>
<div>
Информация загружается последовательно. Например если у нас три сегмента, тогда нам нужно загнать 24 бита х 3 сегмента = 72 бита. </div>
<div>
Микросхема (сегмент) принимает 24 бита, и если информация продолжает поступать, то микросхема начинает отдавать биты которые пришли ранее на выход. </div>
<div>
Иллюстрация из даташита</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjC2Q5cEKWVB1lU0VT_r2cItCZm39qeJ7kxIDp10GXJmHfRJVCIh7TsgRrJLucbArYFYkji4-6n__yI39wWVANXV47_AExtHdsC3zi8_v0LIspPQmwF2gLxeLLwKiKY9KZSfQu9iRhP2jc/s1600/1804.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="386" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjC2Q5cEKWVB1lU0VT_r2cItCZm39qeJ7kxIDp10GXJmHfRJVCIh7TsgRrJLucbArYFYkji4-6n__yI39wWVANXV47_AExtHdsC3zi8_v0LIspPQmwF2gLxeLLwKiKY9KZSfQu9iRhP2jc/s400/1804.png" width="400" /></a></div>
<div>
Откуда следует что каждый новый бит передается 2мкс. Для передачи 0 нужно сформировать импульс длинной 0,68мкс±0.15мкс в начале периода передачи бита. А для передачи 1 - нужно сформировать импульс 1,36мкс±0,15мкс в начале периода передачи бита. </div>
<div>
<br /></div>
<h3 style="text-align: left;">
Библиотека для работы с TM1804 для ардуино</h3>
<div>
Как видно с описанного выше ничего сложного нет в передаче данных. Единственное что даже при 8Мгц стандартная операция digitaWrite в ардуино занимает очень много времени, и не получается сформировать необходимые длинны импульсов. </div>
<div>
<br /></div>
<div>
Для того чтобы не изобретать велосипед воспользуемся готовой библиотекой. </div>
<div>
В библиотеке необходимые тайминги сформированы на ассемблере, что занимает существенно меньше процессорного времени. Оригинал <a href="https://github.com/pololu/pololu-led-strip-arduino" target="_blank">библиотеки от pololu здесь</a>.</div>
<div>
<br /></div>
<div>
Скачал, установил. Все клево только вот проблема в том что библиотека заточена под определенные ардуино. Пришлось править. Добавить определения выводов, подправить тайминги. И вуаля ленточка управляется с ATTINY85, и управляющая программа написана в среде Arduino.</div>
<div>
<br /></div>
<div>
<a href="https://drive.google.com/open?id=0B2to8i69rOiQT3hQNnRhSHBieDQ" target="_blank">Ссылка на модифицированную библиотеку для ATTINY85 и TM1804 здесь.</a></div>
<div>
<br /></div>
<div>
И собственно схема управлятеля лентой:</div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-yqQHq-W0gs8/WCr5yxXLOkI/AAAAAAAAO_o/vL2lTtKcg8o-04rSu3FISwhT4KNTzHRnwCPcB/s1600/scheme.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="183" src="https://3.bp.blogspot.com/-yqQHq-W0gs8/WCr5yxXLOkI/AAAAAAAAO_o/vL2lTtKcg8o-04rSu3FISwhT4KNTzHRnwCPcB/s400/scheme.jpg" width="400" /></a></div>
<div style="text-align: center;">
<a href="https://goo.gl/photos/t7qA5vcrvHRBvLkc7" target="_blank">Ссылка на альбом</a></div>
<br />
<h3 style="text-align: left;">
Программа</h3>
</div>
<div>UPD 07.01.2020. Данный проект стал коммерческим. По этому программу свободно распостранять не могу. </div>
<div>
<br /></div>
<h3 style="text-align: left;">
Видео работы</h3>
<div>
На последочек видео с работой. На видео я вначале включаю режим программирования, в котором кнопкой можно выбрать режим поворотника. Далее проверяю работу поворотника и работу ДХО/Габаритов.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/ssbKrBnYOeI/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/ssbKrBnYOeI?feature=player_embedded" width="320"></iframe></div>
<div>
<br /></div>
</div>
guslab.com.uahttp://www.blogger.com/profile/05614575351100649407noreply@blogger.com5tag:blogger.com,1999:blog-3104833459141708696.post-33955729467245558682016-06-10T13:51:00.002+03:002016-06-10T14:53:42.127+03:00Диммирование светодиодных ламп по переменному напряжению 220В при помощи микроконтроллера (LED lamp AC Dimming)<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1kT72YFY6cMsOGoK_1kHoCQlZATuEQX4xfRroKyx_lDG9Frnt98TmN8efyd13tdxRTpf_ED4Kgp4EzQxui5AsUaPlac-PcY5imWsmtEDGY6fNoyUOB9g9TzKlE08DcpbL7PmIR52NqmU/s1600/dimm.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1kT72YFY6cMsOGoK_1kHoCQlZATuEQX4xfRroKyx_lDG9Frnt98TmN8efyd13tdxRTpf_ED4Kgp4EzQxui5AsUaPlac-PcY5imWsmtEDGY6fNoyUOB9g9TzKlE08DcpbL7PmIR52NqmU/s320/dimm.jpg" width="268" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<h2 style="clear: both; text-align: left;">
Задача: </h2>
<div class="separator" style="clear: both; text-align: left;">
Изготовить устройство для управление яркостью 3х каналов светодиодного освещения (обычные комнатные люстры с цоколями E27 и Е14, напряжением питания 220В переменки) в зависимости от состояния нескольких входов.</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<a name='more'></a><br />
<h2 style="clear: both; text-align: left;">
Решение: </h2>
<div class="separator" style="clear: both; text-align: left;">
</div>
<h3>
<ol>
<li>Исходные данные</li>
</ol>
</h3>
<span style="font-weight: normal;"><span style="font-size: small;">Основа устройства - arduino nano.</span></span><br />
<span style="font-weight: normal;"><span style="font-size: small;">По возможности организация диммирования аппаратными средствами, для упрощения программы.</span></span><br />
<div style="text-align: left;">
</div>
<h3>
<ol style="text-align: left;">
<li value="2">Гуглим</li>
</ol>
</h3>
Из личного опыта знаю о существовании прекрасной микросхемы КР1182ПМ1. Интегрированый фазовый регулятор мощности, который при необходимости можно усилить внешним симистором. Но микросхема напрямую включается в 220В, значит нужно было придумывать развязку между регулятором и контроллером. Решил этот вариант отложить.<br />
В интернете нашел 2 основноых схемы растеражированой в большом колличестве и вариантах:<br />
<br />
<b>Первая схема с управлением полевым транзистором через диодный мост и оптической развязкой:</b><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiQAQcaIbcjfUhh7xHXqk_7x1lZRGi5Hcr16mznZz_vI2gPMtbMHOTLDd7PORZbThsy3Whyphenhyphen06X1PRCcttVcGVqug6LUOyqAdfPlk4xlta_6P8yxSid4cxZazDynMxKXJNIPcm3xXltpEY/s1600/giesberts3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="216" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiQAQcaIbcjfUhh7xHXqk_7x1lZRGi5Hcr16mznZz_vI2gPMtbMHOTLDd7PORZbThsy3Whyphenhyphen06X1PRCcttVcGVqug6LUOyqAdfPlk4xlta_6P8yxSid4cxZazDynMxKXJNIPcm3xXltpEY/s320/giesberts3.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.instructables.com/id/AC-PWM-Dimmer-for-Arduino/" target="_blank">источник</a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Собрал, схема рабочая, но как я и подозревал, не подходящая для LED ламп. На вход схемы подается ШИМ с любого ШИМ выхода ардуино. Соответственно напряжение на нагрузке появляется и исчезает синхронно с шим сигналом от микроконтроллера. Это отлично работает с лампами накаливания, а вот светодиодная лампа мерзко мигает. Схема определена в неподходящие.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b>Вторая схема. Управление нагрузкой через симистор, с синхронизацией по "0" сетевого напряжения.</b> Классический способ фазовой регулировки мощности. но временные интервалы для управления напряжением задает микроконтроллер.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2JXggAXDPYir3VvU_-3gc2kxLHUwXyEVFeFC_Jbsk9YQV5HhZgbresKJ9a37f3suppOc675qASGxoiywb-3QJ13mB0IpugMslR1PCXXTSoxcLFTlPjdrRn2xSslfzRDungryXqhGrU5k/s1600/ac_dimmer_schematic.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="93" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2JXggAXDPYir3VvU_-3gc2kxLHUwXyEVFeFC_Jbsk9YQV5HhZgbresKJ9a37f3suppOc675qASGxoiywb-3QJ13mB0IpugMslR1PCXXTSoxcLFTlPjdrRn2xSslfzRDungryXqhGrU5k/s320/ac_dimmer_schematic.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://arduinotehniq.blogspot.com/2014/10/ac-light-dimmer-with-arduino.html" target="_blank">источник</a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
Схема просто как три копейки. Но нужно прграммировать таймера в микроконтроллере. Так как микроконтроллер не нагружен никакими вычислениями, то пролем не должно возникнуть.<br />
Пробуем.<br />
<br />
<h2 style="text-align: left;">
Результат</h2>
<br />
И так взяв пример программы с <a href="http://arduinotehniq.blogspot.com/2014/10/ac-light-dimmer-with-arduino.html" target="_blank">того же сайта</a> где и вторая схема, изменил под себя. Добавил слежение за входами. Плавное изменения яркости разных каналов при поступлении сигналов на входы. Итоговая схема (на схеме не показаны входы управления. только высоковольтная часть)<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2l9cVWfXdO0cHNw8sQNzjDRpsPeCEK7Xtfv38KSaexz9G9nnE24KRg3gMz-cRMopVxgKSjI582z58UFa2jACfVY0Rv2dOP3eio5ffMmyupub1yp_6llC_cfdyE2vlNDC6eQQlZhbuelI/s1600/%25D0%25A7%25D0%25B5%25D1%2580%25D1%2582%25D0%25B5%25D0%25B6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="179" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2l9cVWfXdO0cHNw8sQNzjDRpsPeCEK7Xtfv38KSaexz9G9nnE24KRg3gMz-cRMopVxgKSjI582z58UFa2jACfVY0Rv2dOP3eio5ffMmyupub1yp_6llC_cfdyE2vlNDC6eQQlZhbuelI/s320/%25D0%25A7%25D0%25B5%25D1%2580%25D1%2582%25D0%25B5%25D0%25B6.png" width="320" /></a></div>
Если кому интересно, программу скину по запросу.<br />
<br />
В итоге регулирование вполне сносно работает на светодиодных лампах 220В. Лампы которые с пометкой "диммируемые". проверил на китайской нонейм лампе и на лампе Philips DimTone. На малых яркостях, меньше 20%, мерцание сильно заметно. а высше вполне сибе хорошо.. Задача решена.</div>
guslab.com.uahttp://www.blogger.com/profile/05614575351100649407noreply@blogger.com2tag:blogger.com,1999:blog-3104833459141708696.post-77590716314334958452016-04-22T15:36:00.000+03:002017-03-21T20:46:44.993+02:00df-player mini или MP3-TF-16P. Статья памятка по использованию.<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjj_fp7VX2bGq28oMoMPqRraVWFtvWLmzSnDB9nm8jjdT-8o-PGM7u0LXsEKL4RyZCIKWiIUw41w7KB3_yqrN_APlgW7CcBG3leKu3Kxeliq3nl6eI6jBW_U3pXzURGr0z8zJtTxUbGEfM/s1600/450px-Miniplayer_pin_map.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="189" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjj_fp7VX2bGq28oMoMPqRraVWFtvWLmzSnDB9nm8jjdT-8o-PGM7u0LXsEKL4RyZCIKWiIUw41w7KB3_yqrN_APlgW7CcBG3leKu3Kxeliq3nl6eI6jBW_U3pXzURGr0z8zJtTxUbGEfM/s320/450px-Miniplayer_pin_map.png" width="320" /></a></div>
<br />
Подключение<br />
<br />
<br />
<ul style="text-align: left;">
<li>Напряжение питан<span style="background-color: white;">ия<span style="color: red;"><b> 3.3В-5В</b></span>. </span></li>
<li><span style="color: red;">Обязательно 1к</span> резистор на линии данных, при питании плеера от 5В!</li>
<li>Позволяет играть музыку с обычной флешки, которая подключается к выводам USB+, USB-.</li>
</ul>
<br />
<br />
Файловая система<br />
<br />
<br />
<ul style="text-align: left;">
<li>-Все карточки которые попадались, все работали без проблем</li>
<li>-Файлы называть именами 0001XXXX.mp3 где 0001, 0002 и так далее номер файла. Номер обязателен и должен состоять из 4х цифр. ХХХХ - любое название при необходимости.</li>
<li>-в корне необходимо создать папку "mp3", и туда записывать mp3 файлы.</li>
</ul>
</div>
guslab.com.uahttp://www.blogger.com/profile/05614575351100649407noreply@blogger.com4tag:blogger.com,1999:blog-3104833459141708696.post-38546953416937131532015-12-10T23:03:00.000+02:002015-12-10T23:03:46.116+02:00Автономный модуль mp3 плеер с microSD картой на чипе GPD2846A<div dir="ltr" style="text-align: left;" trbidi="on">
<h3 style="text-align: center;">
<span style="color: #ffd966;"><a href="https://goo.gl/photos/88Fi1oN6uQKv8mHM6" target="_blank">Кому лень читать. Альбом фоток здесь!</a></span></h3>
<h3 style="text-align: center;">
<span style="color: red;"><a href="https://www.facebook.com/guslarep" target="_blank">И не забудьте лайкнуть страничку!</a></span></h3>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-LAo_vLQ8rvU/VmnVLd2ufbI/AAAAAAAAKhg/YD_NdAAITaY/s1600/TF-card-MP3-decoder-board-with-2W-power-decoding-module-3-7-5V-mixed-mono-playback.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="284" src="http://4.bp.blogspot.com/-LAo_vLQ8rvU/VmnVLd2ufbI/AAAAAAAAKhg/YD_NdAAITaY/s320/TF-card-MP3-decoder-board-with-2W-power-decoding-module-3-7-5V-mixed-mono-playback.jpg" width="320" /></a></div>
<br />
<div style="text-align: justify;">
<div style="text-align: left;">
Работая над созданием квесткомнат столкнулся с вопросом озвучки комнат в целом и действий игроков в частности. Уже опробовал несколько схем, напишу о них позже. Сейчас пробую очередную посылку из Китая. mp3 плеер с microSD картой на основе чипа GDP2846.</div>
<a name='more'></a><div style="text-align: left;">
Эта плата представляет автономный законченый mp3 плеер со слотом под microSD с функцией автозапуска проигрывания при включении питания. Встроенный моно усилитель на 2 Вт. Управление тремя кнопками которые паяются на пустые контактные площадки обведенные белыми квадратикам. Назначение кнопок смотрите на рисунке</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-166kr0rq7PI/VmnW4yci1lI/AAAAAAAAKhs/BEJFObu8PkQ/s1600/TF-card-MP3-decoder-board-with-2W-power-decoding-module-3-7-5V-mixed-mono-playback_button.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="355" src="http://3.bp.blogspot.com/-166kr0rq7PI/VmnW4yci1lI/AAAAAAAAKhs/BEJFObu8PkQ/s400/TF-card-MP3-decoder-board-with-2W-power-decoding-module-3-7-5V-mixed-mono-playback_button.jpg" width="400" /></a></div>
<div style="text-align: left;">
Хочу заметить что кнопки работают путем замыкания 8й ножки микросхемы плеера через сопротивление определенного номинала на корпус. По этому напрямую без хитростей управлять плеером с Arduino, например, не получится (Если ктото знает как, подскажите).</div>
<h2>
Запуск схемы</h2>
<div style="text-align: left;">
Качнул с "КОНТАКТА" несколько mp3 песенок. Скинул на несколько micro SD карт разного объема 512Мб, 2Гб, 4Гб, 16Гб. Карточки китайские.<br />
<br />
Подключил к плате динамик на выводы "SP+" и "SP-". Питание 5В от блока питания на клеммы "GND" и "BAT+".<br />
Засветилась лампочка.<br />
Вставил карточку, и вуаля музыка играет, лампочка весело помаргивает.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-ekHKDI_Octw/VmnE4qTNM9I/AAAAAAAAKhw/zsyD-bSILwk/s1600/IMAG0991.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="181" src="http://3.bp.blogspot.com/-ekHKDI_Octw/VmnE4qTNM9I/AAAAAAAAKhw/zsyD-bSILwk/s320/IMAG0991.jpg" width="320" /></a></div>
<br />
Кнопочки регулируют звук, переключают песенки и останавливают музыку на паузу.<br />
Так же при выключении питания, и повторной его подаче, плеер начинает играть с той же песни на которой проигрывание было прервано.</div>
</div>
<div style="text-align: justify;">
<div>
<h2>
Плюсы и минусы</h2>
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
+1. Поддерживает карты разного размера. Проверил 512Мб, 2Гб, 4Гб, 16Гб. </div>
<div class="separator" style="clear: both; text-align: center;">
+2. Автоматическое проигрывание при включении питания, или замене карты при включенном питании.</div>
<div class="separator" style="clear: both; text-align: center;">
+3. Встроенный усилитель 2Вт. </div>
<div class="separator" style="clear: both; text-align: center;">
+4. Питание от 3.3 до 5В, проверил на оба напряжения и в указанном диапазоне.</div>
<div class="separator" style="clear: both; text-align: center;">
+5. Звук на динамике чистый, без постороннего шума.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
-1. Не поддерживает папки. Музыка должна быть в корне карты.</div>
<div class="separator" style="clear: both; text-align: center;">
-2. Управление через один вывод микросхемы путем подключения на корпус разных сопротивлений.</div>
<h2 style="clear: both; text-align: left;">
Выводы</h2>
<div class="separator" style="clear: both; text-align: left;">
Плеер отлично подходит для фоновой озвучки небольших помещений.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
ЗЫ: В альбоме есть схема в которой указаны все возможности микросхемы. На данной плате реализованы только microSD слот, УНЧ, и три кнопки управления. Присутствуют ли в этой микросхеме другие функции, указанные в схеме, я не проверял.</div>
</div>
</div>
guslab.com.uahttp://www.blogger.com/profile/05614575351100649407noreply@blogger.com7tag:blogger.com,1999:blog-3104833459141708696.post-91710908628876186852015-03-14T23:25:00.002+02:002015-03-14T23:33:24.469+02:00Удлинитель для наушников с дистанционным отключением громкоговорителей и подсветкой разъема наушников<div dir="ltr" style="text-align: left;" trbidi="on">
<h3 style="text-align: center;">
<span style="color: #ffd966;"><a href="https://plus.google.com/photos/118200333406461792921/albums/6126157848860822097" target="_blank">Кому лень читать. Альбом фоток здесь!</a></span></h3>
<h3 style="text-align: center;">
<span style="color: #ffd966;"><a href="https://www.facebook.com/guslarep" target="_blank">И не забудьте лайкнуть страничку!</a></span></h3>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-DnKnCcsrM00/VQSlJnwtEGI/AAAAAAAAGpE/EPUnF5cwNiw/s1600/received_696033907174446.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-DnKnCcsrM00/VQSlJnwtEGI/AAAAAAAAGpE/EPUnF5cwNiw/s1600/received_696033907174446.jpg" height="213" width="320" /></a></div>
<br />
<div style="text-align: justify;">
<span style="font-family: Helvetica, Arial, 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 14px; line-height: 19.3199996948242px; text-align: left;">Теперь после установки дополнительной звуковой карты возникла новая проблема. Я часто слушаю музыку в наушниках. Если со встроенной звуковой платой я мог отключать выход колонок включением наушников в разъем на передней панели компьютера, то теперь не могу. По этому было срочно придумано доп. устройство которое выключает колонки при включении наушников. Еще и позволяет вынести разъем наушников в любое удобное место.</span><br />
<a name='more'></a><span style="font-family: Helvetica, Arial, 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 14px; line-height: 19.3199996948242px; text-align: left;">Казалось бы никаких проблем: берем провод включаем в звуковую карту, выводим куда надо подключаем на выходи стандартный разъем со встроенными переключателями, и ведем обратно провод на колонки!?</span><br />
<div style="-webkit-text-stroke-width: 0px; font-family: 'Times New Roman'; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; margin: 0px; orphans: auto; text-align: justify; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;">
<span style="font-family: Helvetica, Arial, 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 14px; line-height: 19.3199996948242px; text-align: left;">Во-первых не хотел тянуть 2 провода. Во-вторых не хотел удлинять до 4х метров провод по которому идет линейный сигнал на колонки. В-третьих придумал сделать подсветку разъема чтобы легко попадать в темноте. Ну и в четвертых - все это только из того что есть в закромах детального пространства дома.</span></div>
</div>
<div style="text-align: justify;">
<h2>
Разработка схемы</h2>
<div>
Переключать сигналы решил релюшками, для этого нашел 2 малюсеньких релюшки с 2мя переключающими парами, что удобно для двух стерео нагрузок и 6В питанием катушки. Питание решил брать от USB - тоесть 5В. Путем экспериментов над реле выяснил что они уверенно срабатывают при напряжении питания 5В. Большой скорости переключения не требуется, по этому вполне можно эксплуатировать и так. Ток потребления одного реле 20мА. </div>
<div>
<br /></div>
<div>
Для того чтобы вынести разъем для наушников использовал стандартный провод который состоит из двух проводов в каждом из которых есть центральная жила и "типа" экран, изолированные друг от друга. Так как это наушники, защиты от электромагнитных наводок не требуется, я решил использовать один экранный провод в качестве общего корпуса для наушников и управления, а второй "экранный" провод использовать в качестве управляющего. По этому же проводу будет поступать питание на светодиод подсветки разъема, когда наушники выключены.</div>
<div>
<br /></div>
<div>
Разъем выпаял из негодной материнской платы ноутбука, так как в тех что мне попадались есть встроенные изолированные выключатели. В моем случае выключатель замыкался когда в разъем вставляются наушники. Таки образом один вывод выключателя подключаем на корпус, а второй на светодиод. Светодиод катодом включен на корпус. Из основного блока через некоторое сопротивление на управляющий провод подается напряжение 5 в. На светодиоде оно равно порядка 2В. Когда включаем в разъем наушники светодиод замыкается и на управляющем проводе напряжение становиться равным 0. </div>
<div>
<br /></div>
<div>
Этот перепад напряжения на управляющем проводе и используется для управления ключами, которые в свою очередь управляют катушками реле. </div>
<div>
<br /></div>
<div>
Смещения и нагрузки для ключей выбраны "на глазок" без каких либо расчетов. Так же и транзисторы взяты просто из коробки с подходящей проводимостью ну и допустимым током и напряжением.</div>
<div>
<br /></div>
<div>
<h2>
Схема</h2>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-6Ganc7MAOn8/VQSlJ7gb0JI/AAAAAAAAGpQ/kqH9Ed4ubDg/s1600/scheme.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-6Ganc7MAOn8/VQSlJ7gb0JI/AAAAAAAAGpQ/kqH9Ed4ubDg/s1600/scheme.jpg" height="148" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<h2 style="clear: both; text-align: left;">
Сборка</h2>
<div class="separator" style="clear: both; text-align: left;">
Собрал все это на остатках макетных плат. Гнездо для наушников залил термо-клеем и на 2х шурупах прикрутил под столешницу. Основную платку затянул в термоусадку. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<h2 style="clear: both; text-align: left;">
Фотографии</h2>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-UTEHzvcbZl4/VQSlIinitGI/AAAAAAAAGpM/AZWZ1g_ITXU/s1600/IMAG0221.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-UTEHzvcbZl4/VQSlIinitGI/AAAAAAAAGpM/AZWZ1g_ITXU/s1600/IMAG0221.jpg" height="181" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-37kTMhqa90Q/VQSlInBoWAI/AAAAAAAAGpc/OeN1EygoEaE/s1600/IMAG0222.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-37kTMhqa90Q/VQSlInBoWAI/AAAAAAAAGpc/OeN1EygoEaE/s1600/IMAG0222.jpg" height="181" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-DLkO6E6bdJk/VQSlIk_n-LI/AAAAAAAAGpU/fpSAvsmieX4/s1600/IMAG0223.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-DLkO6E6bdJk/VQSlIk_n-LI/AAAAAAAAGpU/fpSAvsmieX4/s1600/IMAG0223.jpg" height="181" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-gAqd0inA2kU/VQSlJaolnFI/AAAAAAAAGpI/8EqWbUaDt8Y/s1600/received_696033773841126.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-gAqd0inA2kU/VQSlJaolnFI/AAAAAAAAGpI/8EqWbUaDt8Y/s1600/received_696033773841126.jpg" height="213" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-DnKnCcsrM00/VQSlJnwtEGI/AAAAAAAAGpE/EPUnF5cwNiw/s1600/received_696033907174446.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-DnKnCcsrM00/VQSlJnwtEGI/AAAAAAAAGpE/EPUnF5cwNiw/s1600/received_696033907174446.jpg" height="213" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<h2>
Постскриптум:</h2>
<div>
Пока писал описания к фотографиям в фейсбуке, с пояснениями работы, понял что можно было обойтись и одним реле, напрямую подсоединив провод идущий от разъема наушников на основную плату. Ведь если вытащить наушники из разьема, то подключение провода не будет влиять на звук. Но в таком случае есть шанс поймать наводки на этот кусок свободного провода. По этому считаю что лучше с 2мя реле.</div>
<div>
<br /></div>
</div>
</div>
guslab.com.uahttp://www.blogger.com/profile/05614575351100649407noreply@blogger.com0tag:blogger.com,1999:blog-3104833459141708696.post-35147589976899362172015-03-12T01:52:00.003+02:002023-08-02T15:16:06.079+03:00Встановлення звукової карти Creative SB Live 5.1 або Creative Sound Blaster Live 5.1 на Win8.1 x64<div dir="ltr" style="text-align: left;" trbidi="on">
<h3 style="text-align: center;">
<span style="color: #ffd966;"><a href="https://www.facebook.com/guslarep" target="_blank">Лайкнути мою сторінку в FB</a></span></h3>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-_9jnVTjkvo4/VQDFxtMeq1I/AAAAAAAAGjU/g8Afv1MGpQ0/s1600/Soundblasteer%2Blive%2B5.1.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="205" src="http://4.bp.blogspot.com/-_9jnVTjkvo4/VQDFxtMeq1I/AAAAAAAAGjU/g8Afv1MGpQ0/s1600/Soundblasteer%2Blive%2B5.1.jpg" width="320" /></a></div>
Оновив комп'ютер. Нова материнська плата (надворі 2015 рік), через ціну AMD FX4350, 16Гб оперативки, ну що ще потрібно для сервінгу в інеті??? але коли я ввімкнув музику на вбудованій звуковій карті... навіть музики не потрібно було вмикати. Я досить голосно слухав шум від роботи всієї електронної начинки комп'ютера. Музику люблю слухати. Порився в засіках і знайшов його :)))) Creative SB Live 5.1... І мені треба було поставити на Win8.1 x64. Що і було успішно зроблено. Чим я і хочу поділитися.<br />
<a name='more'></a><h2 style="text-align: left;">
Передмова:</h2><div dir="ltr" trbidi="on">І так креатив давно не підтримує цю карту. Коли вийшла Win 7, ця плата у мене зі скреготом стала, але звук був дуже корявий. Я відмовився на тій машині від 7ки :)</div><div dir="ltr" trbidi="on">Не полишаючи надій, почав нишпорити в інеті. З десяток форумів, спроб встановити драйвера від чогось схожого - без результатно.</div>І раптом натрапив на проект <a href="http://www.kxproject.com/index.php?language=ru" target="_blank">kX Project</a>. <br />
Щоправда там якийсь трабл зі скачуванням, тому викачав на <a href="http://rutracker.org/forum/viewtopic.php?t=3971071">rutracker.org</a>. Інструкції частково звідти.<br />
<h2 style="text-align: left;">
Що необхідно:</h2>
1. Власне сам kx, качати <a href="http://www.kxproject.com/down.php?language=ru">отсюда</a>. Зеркало у меня на диске <a href="https://drive.google.com/file/d/0B2to8i69rOiQY3k1dzNGYnNXQTQ/view?usp=sharing&resourcekey=0-VyQcXhTkTU2psYwbM_O_QQ">тут</a>.<br />
<br />
<h2 style="text-align: left;">
Встановлювання та настройка</h2><div dir="ltr" trbidi="on">Уточнюю, я встановлював на Windows 8.1 64bit.</div><div dir="ltr" trbidi="on">1. Запустити завантажений SB Live! Driver (kX Project v3550-x64-full).exe, дотримуючись вказівок майстра встановлення встановити.</div><div dir="ltr" trbidi="on">2. Програма попросить перезавантажити комп'ютер. Погодитися.</div><div dir="ltr" trbidi="on">3. Під час перезавантаження зайти в біос і відключити вбудовану звукову карту.</div><div dir="ltr" trbidi="on">4. Після того як комп'ютер перезавантажився, вилетіло вікно з помилкою</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-b5Oiqz2m_hU/VQDErUrNd6I/AAAAAAAAGi4/2i6aiN5xn7A/s1600/%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B0%2B%D0%BA%D1%85.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="154" src="http://4.bp.blogspot.com/-b5Oiqz2m_hU/VQDErUrNd6I/AAAAAAAAGi4/2i6aiN5xn7A/s1600/%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B0%2B%D0%BA%D1%85.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
від якого завдяки пораді по <a href="http://afsawaf.blogspot.com/2014/01/creative-sound-blaster-live-51-driver.html">цьому посиланню</a> я позбувся шляхом вимкнення запуску Kx mixer.</div><div class="separator" style="clear: both; text-align: center;">4.1 Для цього потрібно запустити диспетчер завдань, клікнувши правою кнопкою на порожньому місці в панелі завдань, і в меню, яке випало, натиснути "диспетчер завдань".</div>
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-_i1pbNcuzec/VQDNTNvVkII/AAAAAAAAGj0/xiVZLyl98FM/s1600/%D0%B4%D0%B8%D1%81%D0%BF%D0%B5%D1%82%D1%87%D0%B5%D1%80%2B%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%2B%D0%BE%D1%82%D0%BA%D1%80.png" style="margin-left: 1em; margin-right: 1em;"><br /></a><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-_i1pbNcuzec/VQDNTNvVkII/AAAAAAAAGj0/xiVZLyl98FM/s1600/%D0%B4%D0%B8%D1%81%D0%BF%D0%B5%D1%82%D1%87%D0%B5%D1%80%2B%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%2B%D0%BE%D1%82%D0%BA%D1%80.png" style="margin-left: 1em; margin-right: 1em;"></a><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhO381vX5LVPNSTo4DjllMgMUqFcTg0Qf4BkfabQHxHqsx7J20tM-p7C38gQIztyTygec3ROf3yVA93ilYrlIVv_fU79c0vxHuvkY-sHFdx-7Xwe3w481ZmcPMmYrwpQnpki9B-5fMEoU2YZmzmSg8Nax9CWXZWdA_8yLBYVeXZNY7VdQ4Wm-XqgNTLvik" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="376" data-original-width="528" height="228" src="https://blogger.googleusercontent.com/img/a/AVvXsEhO381vX5LVPNSTo4DjllMgMUqFcTg0Qf4BkfabQHxHqsx7J20tM-p7C38gQIztyTygec3ROf3yVA93ilYrlIVv_fU79c0vxHuvkY-sHFdx-7Xwe3w481ZmcPMmYrwpQnpki9B-5fMEoU2YZmzmSg8Nax9CWXZWdA_8yLBYVeXZNY7VdQ4Wm-XqgNTLvik" width="320" /></a></div><br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
4.2 У диспетчері завдань перейти на вкладку "Автозавантаження".<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-vmL37OGdBYg/VQDNq8pNPWI/AAAAAAAAGkE/DKP3oGF-HW8/s1600/%D0%90%D0%B2%D1%82%D0%BE%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="290" src="http://1.bp.blogspot.com/-vmL37OGdBYg/VQDNq8pNPWI/AAAAAAAAGkE/DKP3oGF-HW8/s1600/%D0%90%D0%B2%D1%82%D0%BE%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both;">4.3 Виділити рядок kX mixer клацанням лівою кнопкою миші на ньому. </div><div class="separator" style="clear: both;">4.4 Натиснути кнопку "Вимкнути" в низу вікна</div></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-g84xcIKB5gw/VQDO5gYJshI/AAAAAAAAGkY/klRCHLEkUCg/s1600/%D0%BE%D1%82%D0%BA%D0%BB.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="290" src="http://3.bp.blogspot.com/-g84xcIKB5gw/VQDO5gYJshI/AAAAAAAAGkY/klRCHLEkUCg/s1600/%D0%BE%D1%82%D0%BA%D0%BB.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both;">5. Підключаємо колонки/навушники в зелений роз'єм. </div><div class="separator" style="clear: both;">6. Заходимо в "Пристрої відтворення". Для цього клацаємо лівою кнопкою миші по динаміку внизу екрана біля годинника. І в меню, що випало, вибираємо "Пристрої відтворення".</div></div>
<div class="separator" style="clear: both; text-align: left;">
7. У вікні, що відкрилося, обираємо "Wave Out4/5", і натискаємо нижче кнопку "За замовчуванням", кружечок із зеленою галочкою має переміститися на цей пункт. І можна перевіряти звук.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-OkOw-YhUgYQ/VQDErvtApHI/AAAAAAAAGi8/oRhHGzxYtXQ/s1600/%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D0%B0%2B%D0%B2%D0%BE%D1%81%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D1%8F.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://2.bp.blogspot.com/-OkOw-YhUgYQ/VQDErvtApHI/AAAAAAAAGi8/oRhHGzxYtXQ/s1600/%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D0%B0%2B%D0%B2%D0%BE%D1%81%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D1%8F.jpg" width="286" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
8. Танці з бубном і мікрофоном. Для налаштування мікрофона необхідно запустити той самий міксер, який ми щойно відключили через помилку. У мене нічого з цим не вийшло, тому я в біосі назад увімкнув вбудовану звукову карту, встромив у неї мікрофон, і в скайпі наприклад виставив захоплення звуку з цього мікрофона. І зараз все відмінно працює. Звук на Creative SB Live 5.1, а запис з мікрофона через вбудовану звукову карту.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both;">Постскриптум</div><div class="separator" style="clear: both; text-align: left;">Детальні інструкції та обговорення <a href="http://rutracker.org/forum/viewtopic.php?t=3971071">тута в темі на рутрекері</a>. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<br />
<br /></div>
guslab.com.uahttp://www.blogger.com/profile/05614575351100649407noreply@blogger.com4tag:blogger.com,1999:blog-3104833459141708696.post-30188102183966788752015-01-05T02:30:00.000+02:002015-01-05T02:30:27.545+02:00Устройство управления Дневными Ходовыми Огнями (ДХО) своими руками (DIY)<div dir="ltr" style="text-align: left;" trbidi="on">
<h3 style="text-align: center;">
<span style="color: #ffd966;"><a href="https://plus.google.com/photos/118200333406461792921/albums/6100613781176806865" target="_blank">Кому лень читать. Альбом фоток здесь!</a></span></h3>
<h3 style="text-align: center;">
<span style="color: #ffd966;"><a href="https://www.facebook.com/guslarep" target="_blank">И не забудьте лайкнуть страничку!</a></span></h3>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-E7MGKFWUgDI/VKnITlbBadI/AAAAAAAAEuQ/BdM73X9wRCA/s1600/013.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-E7MGKFWUgDI/VKnITlbBadI/AAAAAAAAEuQ/BdM73X9wRCA/s1600/013.JPG" height="240" width="320" /></a></div>
<br />
<div style="text-align: justify;">
Вот и наступило время изготовить очередную партию устройств для управления Дневными Ходовыми Огнями (ДХО) автомобиля. Основываясь на опыте установки, и пожеланий заказчика устройство было полностью переработано и по сути является комбинацией двух прошлых устройств и одного нового:<br />
<ul>
<li><a href="http://guslarep.blogspot.com/2013/06/drl.html" target="_blank">Таймер задержки включения "ТВИК"</a> </li>
<li>Устройство для уменьшения яркости ДХО</li>
<li>Выключатель ДХО во время работающего сигнала поворота</li>
</ul>
</div>
<a name='more'></a><div style="text-align: justify;">
К выходу устройства подключаются ДХО на светодиодах. Для использования функции уменьшения яркости режим светодиодов обязательно должен задаваться сопротивлением или драйвером который поддерживает димирование по питанию.</div>
<div style="text-align: justify;">
<h2>
Эксплуатационные характеристики</h2>
<br />
<ul>
<li>Устройство предназначено для эксплуатации в автомобиле напряжением 12В. </li>
<li>Максимальный ток нагрузки до 8А - что ограничено используемым ключевым полевым транзистором VT4. </li>
<li>Каждый входной канал имеет защиту от превышения напряжения.</li>
</ul>
<br />
<h2>
Основные функции устройства</h2>
<br />
<ul>
<li>Задержка включения ДХО после включения зажигания.</li>
<li>Уменьшение яркости ДХО при включении габаритных огней.</li>
<li>Отключение ДХО во время работы сигнала поворота.</li>
<li>Принудительное отключение ДХО.</li>
<li>Программирование параметров работы.</li>
</ul>
<br />
<b>Задержка включения ДХО после включения зажигания.</b> Питание устройства Х1 подключается к проводу бортовой сети автомобиля, на котором появляется 12В при включении зажигания автомобиля. При подаче питания ДХО выключены. Через некоторое время (по умолчанию примерно 30сек) зажигаются ДХО. Время задержки можно программировать при установке устройства в автомобиль. Настройки сохраняются в энергонезависимом ПЗУ.<br />
<b>Уменьшение яркости ДХО при включении габаритных огней.</b> Осуществляется подачей напряжения 12В на вход Х3. Снимается это напряжения со штатных габаритных огней автомобиля. Необходимо для облегчения режима светодиодов, которые нагреваются за щет работающих в ночное время ламп головного света (ближний или дальний свет).<br />
<b>Отключение ДХО во время работы сигнала поворота.</b> В случае использования совмещенных сигналов ДХО/габарит/поворот используется вывод Х4. При подаче напряжения 12В, которое снимается с лампы сигнала поворота, ДХО отключается на некоторое время Тдхо. Это время отсчитывается с начала с каждым включением поворотника. Как только сигнал поворота будет выключен то через время Тдхо лампы ДХО включатся снова<br />
<b>Принудительное отключение ДХО.</b> В редких случаях необходимо отключать ДХО во время присутствия внешнего сигнала 12В. Это можно осуществить подачей напряжения 12В на вход Х8. Как только напряжение будет снято ДХО моментально включатся.<br />
<b>Программирование параметров работы. </b>Так как эта версия устройства разработана на микроконтроллере, то была введена функция программировния основных параметров устройства. Это предусмотрено для гибкости использования. Можно изменить время задержки включения, яркость ДХО при подаче напряжения на вход Х3, а так же время на которое отключается ДХО при включении поворотника.<br />
Так же в будущем, при необходимости, путем изменения программы микроконтроллера можно изменять функционал устройства.<br />
<h2>
Схема</h2>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-r0P-OJe3oeo/VKnI3QOqwZI/AAAAAAAAEvE/5nj7BRD_el8/s1600/000.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-r0P-OJe3oeo/VKnI3QOqwZI/AAAAAAAAEvE/5nj7BRD_el8/s1600/000.jpg" height="282" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Ядром устройства является микроконтроллер U2 PIC12F629/675. Питание микроконтроллера осуществляется при помощи линейного стабилизатора напряжения U1 L78М05. Устройство имеет три входных канала которые осуществляют развязку и защиту портов микроконтроллера. Схемотехнически каналы идентичны. Рассмотрим первый канал который состоит из VD3 - защитный диод, R1 - Сопротивление ограничитель тока через транзистор VT1, C4 - вместе с R1 образуют фильтр нижних частот для подавления импульсных помех со входа, которые могут присутствовать в сети автомобиля ,R2 - шунт, который гарантирует закрытое состояние транзистора когда на вход ничего не подключено, VT1 - Ключевой транзистор, который обеспечивает надежную развязку по напряжению входов устройства и входов микроконтроллера, R3 - Подтягивающий резистор для создания на входе микроконтроллера логической "1" в момент когда транзистор VT1 закрыт. </div>
<div class="separator" style="clear: both; text-align: justify;">
Кнопка S1 и светодиод VD5 необходимы для программирования параметров устройства. </div>
<div class="separator" style="clear: both; text-align: justify;">
Выходной каскад устройства построен на элементах R7,R8,R9,VT3,VT4. VT4 - ключевой P-канальный транзистор который непосредственно управляет нагрузкой. И каскад управления ключом R7,R8,VT3. </div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<h2 style="clear: both; text-align: justify;">
Разработка</h2>
<div class="separator" style="clear: both; text-align: justify;">
В начале была составлена схема электрическая принципиальная. Для написания программы собран макет состоящий из контроллера светодиодов на выводах 3 и 5 МК. А так же кнопок подключенных к выводам 4,6,7 - для имитации сигналов которые поступают с входных каскадов. </div>
<div class="separator" style="clear: both; text-align: justify;">
После написания и отладки программы, была разведена плата и изготовлен опытный образец устройства.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-mxuN2uGqCjc/VKnIPwd0aoI/AAAAAAAAEu0/gO3k9zuj5aE/s1600/003.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-mxuN2uGqCjc/VKnIPwd0aoI/AAAAAAAAEu0/gO3k9zuj5aE/s1600/003.JPG" height="240" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Тестирование опытного образца было успешным. По этому было изготовлено еще некоторое количество плат. </div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-ANMm4bBP0ZA/VKnIP4sug6I/AAAAAAAAEtM/zKjhZtS6tBw/s1600/001.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-ANMm4bBP0ZA/VKnIP4sug6I/AAAAAAAAEtM/zKjhZtS6tBw/s1600/001.jpg" height="181" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-bO3lTOKqhTg/VKnIQAsSFWI/AAAAAAAAEu8/xGR1pF6O8l0/s1600/002.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-bO3lTOKqhTg/VKnIQAsSFWI/AAAAAAAAEu8/xGR1pF6O8l0/s1600/002.jpg" height="181" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-nZBV4lGAb_0/VKnIQkrfa0I/AAAAAAAAEtY/BgEx1yN8sf0/s1600/004.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-nZBV4lGAb_0/VKnIQkrfa0I/AAAAAAAAEtY/BgEx1yN8sf0/s1600/004.jpg" height="181" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-tzKqcQoo7Gs/VKnIQ8Z-N1I/AAAAAAAAEuw/FQuGBrF2-UA/s1600/005.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-tzKqcQoo7Gs/VKnIQ8Z-N1I/AAAAAAAAEuw/FQuGBrF2-UA/s1600/005.jpg" height="181" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Так как в этот раз партия была не маленькая, то платы были так же заказаны на производстве в Киеве. Срок изготовления плат 2 недели. Качество отличное. Собирать - нудятина. Но результат радует глаз</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-wwtDr_Vn3tk/VKnIRkyU1xI/AAAAAAAAEts/CJ3UWwIeqeM/s1600/007.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-wwtDr_Vn3tk/VKnIRkyU1xI/AAAAAAAAEts/CJ3UWwIeqeM/s1600/007.jpg" height="181" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-TmOxTRmGnRc/VKnIR4R8O5I/AAAAAAAAEus/V4nkMzG81N0/s1600/008.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-TmOxTRmGnRc/VKnIR4R8O5I/AAAAAAAAEus/V4nkMzG81N0/s1600/008.jpg" height="181" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-IEWtExFgaGc/VKnISdrINDI/AAAAAAAAEt4/VWivQ30LR9I/s1600/009.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-IEWtExFgaGc/VKnISdrINDI/AAAAAAAAEt4/VWivQ30LR9I/s1600/009.JPG" height="240" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-2nIYxKvFcrA/VKnISkRTisI/AAAAAAAAEuo/r1Bo2RpC5Ww/s1600/010.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-2nIYxKvFcrA/VKnISkRTisI/AAAAAAAAEuo/r1Bo2RpC5Ww/s1600/010.JPG" height="240" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-ff7BQJLzTNM/VKnITB4LtII/AAAAAAAAEuE/PJOyoFZx_1E/s1600/011.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-ff7BQJLzTNM/VKnITB4LtII/AAAAAAAAEuE/PJOyoFZx_1E/s1600/011.jpg" height="181" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-z05Wm8LprF8/VKnITd_w-QI/AAAAAAAAEug/iuJwL62gcl4/s1600/012.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-z05Wm8LprF8/VKnITd_w-QI/AAAAAAAAEug/iuJwL62gcl4/s1600/012.jpg" height="181" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-E7MGKFWUgDI/VKnITlbBadI/AAAAAAAAEuQ/BdM73X9wRCA/s1600/013.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-E7MGKFWUgDI/VKnITlbBadI/AAAAAAAAEuQ/BdM73X9wRCA/s1600/013.JPG" height="240" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-fF2ZNFfw2FE/VKnIUCR3RJI/AAAAAAAAEuc/XWBAy4H4iVA/s1600/014.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-fF2ZNFfw2FE/VKnIUCR3RJI/AAAAAAAAEuc/XWBAy4H4iVA/s1600/014.jpg" height="181" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-zJycED8DofU/VKnIUb40ImI/AAAAAAAAEuY/NsHPbMsk1iQ/s1600/015.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-zJycED8DofU/VKnIUb40ImI/AAAAAAAAEuY/NsHPbMsk1iQ/s1600/015.JPG" height="240" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-8BEcQupELVQ/VKnIUqUS-WI/AAAAAAAAEuk/KZxQSCv_6Z4/s1600/016.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-8BEcQupELVQ/VKnIUqUS-WI/AAAAAAAAEuk/KZxQSCv_6Z4/s1600/016.JPG" height="240" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Устройства уехали к клиенту. </div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<h2 style="clear: both; text-align: justify;">
Постскриптум</h2>
<div class="separator" style="clear: both; text-align: justify;">
Если вы хотите изготовить устройство самостоятельно, пишите в комментариях, а лучше на <a href="https://www.facebook.com/guslarep" target="_blank">странице в facebook</a>, я поделюсь разводкой платы и прошивкой для микроконтроллера.</div>
<div class="separator" style="clear: both; text-align: justify;">
Так же вы можете заказать изготовление этого устройства или разработку иных устройств.</div>
<div class="separator" style="clear: both; text-align: justify;">
Территориально нахожусь в Киеве.</div>
</div>
</div>
guslab.com.uahttp://www.blogger.com/profile/05614575351100649407noreply@blogger.com3tag:blogger.com,1999:blog-3104833459141708696.post-13468478988158197732014-10-16T01:03:00.000+03:002014-10-16T01:03:11.714+03:00Не заряжается тример TONDEO ECO-XP HS50. Как разобрать и заменить аккумулято?<div dir="ltr" style="text-align: left;" trbidi="on">
<h3 style="text-align: center;">
<span style="color: #ffd966;"><a href="https://plus.google.com/u/0/photos/118200333406461792921/albums/6061079700030690977" target="_blank">Кому лень читать. Альбом фоток здесь!</a></span></h3>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-uSQzKvIu2go/VB1IS_P0PtI/AAAAAAAAEik/JrIMUScOUi0/s1600/IMAG0302.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-uSQzKvIu2go/VB1IS_P0PtI/AAAAAAAAEik/JrIMUScOUi0/s1600/IMAG0302.jpg" height="181" width="320" /></a></div>
<br />
<div style="text-align: justify;">
Принесли на ремонт тример. Жалоба: "не заряжается". Как показывает моя практике что жалобы "не заряжается", особенно после того как машинка полежала в шкафу пол года, тем более с Ni-Mh (никель металл гидритными) аккумуляторами, свидетельствуют о том что из-за неправильного использования испортились аккумуляторные батареи в машинке. Далее разберемся по порядку </div>
<a name='more'></a><div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<h2>
В чем проблема: зарядное устройство или аккумулятор? </h2>
Замеряем напряжение на контактах кредла. В данном случае кредл это просто пластмассовая пустотелая подставка без каких-либо схем, напряжение должно примерно соответствовать тому что написано на корпусе блока питания.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-pI1fO-Sk3QI/VB1IQWPBcbI/AAAAAAAAEic/iJSbTkrRstU/s1600/IMAG0303.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-pI1fO-Sk3QI/VB1IQWPBcbI/AAAAAAAAEic/iJSbTkrRstU/s1600/IMAG0303.jpg" height="181" width="320" /></a></div>
<br />
Замер напряжения показал что напряжение на контактах присутствует. Значит проблема заключается в самой машинке.<br />
<br />
Разбираем триммер<br />
<br />
Для начала легким движением руки снимаем стригущую головку. Она просто отщелкивается.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-U2Fth3G8w94/VB1IMV4mdUI/AAAAAAAAEiE/B4qiU2Hq3xM/s1600/IMAG0306.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-U2Fth3G8w94/VB1IMV4mdUI/AAAAAAAAEiE/B4qiU2Hq3xM/s1600/IMAG0306.jpg" height="181" width="320" /></a></div>
<br />
На нижней части машинки откручиваем винт и отщелкиваем пластмассовую заглушку. Она вынимается с некоторым усилием, так как на ней расположены штыревые контакты, которые входят внутрь корпуса триммера.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-EOoI3cOtOu0/VB1IPXaakYI/AAAAAAAAEoA/B5h7v9Sv4cQ/s1600/IMAG0304.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-EOoI3cOtOu0/VB1IPXaakYI/AAAAAAAAEoA/B5h7v9Sv4cQ/s1600/IMAG0304.jpg" height="320" width="181" /></a><a href="http://1.bp.blogspot.com/-aRT90HcrBV4/VB1IOPAIL_I/AAAAAAAAEiM/L3E22eyVWHk/s1600/IMAG0305.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-aRT90HcrBV4/VB1IOPAIL_I/AAAAAAAAEiM/L3E22eyVWHk/s1600/IMAG0305.jpg" height="320" width="181" /></a></div>
<br />
Далее необходимо снять ручку выключателя. Для этого нам понадобиться канцелярская скрепка которую предварительно необходимо разогнуть.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-mFJCEnnj9nI/VB1ILZueD8I/AAAAAAAAEh8/tQ56nreObJ8/s1600/IMAG0307.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-mFJCEnnj9nI/VB1ILZueD8I/AAAAAAAAEh8/tQ56nreObJ8/s1600/IMAG0307.jpg" height="181" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Эту скрепку нужно вставить в отверстие на торце со стороны стригущей головки, для того чтобы зафиксировать переключатель и снять пластмассовую ручку.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-f0Evw6Biyhw/VB1IJOCfODI/AAAAAAAAEh0/J4Z7etamHDU/s1600/IMAG0308.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-f0Evw6Biyhw/VB1IJOCfODI/AAAAAAAAEh0/J4Z7etamHDU/s1600/IMAG0308.jpg" height="181" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-oo6EXWn6r0s/VB1IIJ3DTHI/AAAAAAAAEhs/rFKC-1UoQAs/s1600/IMAG0310.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-oo6EXWn6r0s/VB1IIJ3DTHI/AAAAAAAAEhs/rFKC-1UoQAs/s1600/IMAG0310.jpg" height="320" width="181" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Забегая на перед демонстрирую зачем нужна скрепка. Она упирается в рычажок переключателя. И благодаря этому можно снять пластиковую насадку.</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-9ZsofF7TE70/VB1IDkBKY8I/AAAAAAAAEhc/RXgzJLfLjtQ/s1600/IMAG0312.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-9ZsofF7TE70/VB1IDkBKY8I/AAAAAAAAEhc/RXgzJLfLjtQ/s1600/IMAG0312.jpg" height="181" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Держим машинку зажатую в кулак, большим пальцем давим на скрепку, и другой рукой сдвигаем ручку переключателя в сторону скрепки. После того как ручка сдвинется примерно на 5мм, она свободно вынимается. Смотрите фото чтобы понять принцип фиксации ручки на переключателе.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-8gicYwSJsa8/VB1IEmCDXbI/AAAAAAAAEhk/otbtNAqV68E/s1600/IMAG0311.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-8gicYwSJsa8/VB1IEmCDXbI/AAAAAAAAEhk/otbtNAqV68E/s1600/IMAG0311.jpg" height="181" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Далее внутренности машинки выдавливаются весьма легко пальцем с низу.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-_TfI7n6IpGE/VB1IB3OYZkI/AAAAAAAAEhU/an1NpCyw5dI/s1600/IMAG0313.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-_TfI7n6IpGE/VB1IB3OYZkI/AAAAAAAAEhU/an1NpCyw5dI/s1600/IMAG0313.jpg" height="181" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Таким образом мы добрались до внутренностей. Снимаем пластмассовую планку с выключателем. Она держится на двух защелках около шпинделя двигателя.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-J7mClc4u9Mw/VB1IAv2mtMI/AAAAAAAAEhM/tgcTR88iPWE/s1600/IMAG0314.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-J7mClc4u9Mw/VB1IAv2mtMI/AAAAAAAAEhM/tgcTR88iPWE/s1600/IMAG0314.jpg" height="181" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Отгибаем верхнюю плату. Отклеиваем аккумулятор. Разрезаем аккуратно пленку в которую упакована батарея. </div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-W3nQcaHImi8/VB1H_qB07GI/AAAAAAAAEhE/IlObtWkZ1PU/s1600/IMAG0315.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-W3nQcaHImi8/VB1H_qB07GI/AAAAAAAAEhE/IlObtWkZ1PU/s1600/IMAG0315.jpg" height="181" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Проверяем мультиметром. В моем случае один из аккумуляторов был разряжен до 0В. Остальные примерно по 0.6В вместо 1.2В или около того. Это говорит о том что батарею из аккумуляторов нужно менять. На всякий случай проверяю работоспособность машинки в целом. Подзарядил отдельно каждый аккумулятор просто от блока питания по несколько минут. Подключил к машинке, поставил на место планку, переключил переключатель - крутиться мотор. Значит спокойненько можно менять аккмулятор. </div>
<h2 style="clear: both; text-align: justify;">
Где взять аккумулятор?</h2>
<div class="separator" style="clear: both; text-align: justify;">
Так как ранее я собрал себе <a href="http://guslarep.blogspot.com/2013/03/tochechnaya-svarka.html" target="_blank">точечную сварку</a>, то проблем со сваркой аккумуляторов в батарею у меня нет. Я приобрел на радиорынке соответствующего номинала аккумуляторы, и сварил их в батарею. Тем же у кого такой сварки нет, в крупных местах продажи аккумуляторов есть мастер который сможет сварить необходимую батарею по вашему образцу примерно за 5уе. Если вы в киеве, можете обращаться ко мне. </div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<h2>
Собираем все обратно и проверяем</h2>
<br />
Установил новый аккумулятор на место, собрал машинку в обратном порядке. Проверил - жужжит. Поставил на зарядку на несколько часов. Машинка готова к работе :)</div>
</div>
guslab.com.uahttp://www.blogger.com/profile/05614575351100649407noreply@blogger.com1tag:blogger.com,1999:blog-3104833459141708696.post-46599499750833684472014-10-15T22:00:00.000+03:002014-10-15T22:01:52.360+03:00Как починить инфракрасный (#ИК, #IR) обогреватель<div dir="ltr" style="text-align: left;" trbidi="on">
<h3 style="text-align: center;">
<a href="https://plus.google.com/photos/118200333406461792921/albums/6060743166510046641" target="_blank"><span style="color: #ffd966;">Кому лень читать. Альбом фоток здесь!</span></a></h3>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-hZfhOTpumzE/VBwdK2DYrLI/AAAAAAAAEgc/nKgdbbhxEOg/s1600/IMAG0301.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-hZfhOTpumzE/VBwdK2DYrLI/AAAAAAAAEgc/nKgdbbhxEOg/s1600/IMAG0301.jpg" height="181" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Был прекрасный осенний вечер. На улице было градусов 6 тепла. Я решил включить свой любимый обогреватель. Но он не грел. Что делать? пухнуть с холоду? нет! Я решил его починить! Делаю это уже не первый раз по этому более менее красивые и упорядоченные фото. В этой статье о том как чинить нагреватель.
<br />
<a name='more'></a>Предположив что термостат в порядке. Решил ремонтировать спираль, которая скорее всего перегорела и оборвалась. Подобные обогреватели собраны в алюминиевом профиле, по этому разбираются весьма легко.
<br />
<h2>
Разборка</h2>
Для начала отвинтил единственный винт на крышке, с некоторым усилием отогнул переднюю ее часть.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-2ZqYNjumPSM/VBwWAwX9yPI/AAAAAAAAEfQ/NmET-iIruwE/s1600/IMAG0300.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-2ZqYNjumPSM/VBwWAwX9yPI/AAAAAAAAEfQ/NmET-iIruwE/s1600/IMAG0300.jpg" height="181" width="320" /></a></div>
<br />
Крышка не снималась,вынул металлическую заглушку, заметил белый саморез.
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-t-QHR_FuyVc/VBwWCNGzm3I/AAAAAAAAEfY/vDgSvyz7olc/s1600/IMAG0299.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-t-QHR_FuyVc/VBwWCNGzm3I/AAAAAAAAEfY/vDgSvyz7olc/s1600/IMAG0299.jpg" height="181" width="320" /></a></div>
<br />
Отвинтил его. Крышка пластмассовая с легкостью снялась. Получаю доступ к нагревателю.
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-O0O_LLx0c_8/VBwWEtwIaQI/AAAAAAAAEfs/Gcxta_qulgI/s1600/IMAG0297.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-O0O_LLx0c_8/VBwWEtwIaQI/AAAAAAAAEfs/Gcxta_qulgI/s1600/IMAG0297.jpg" height="181" width="320" /></a></div>
<br />
Снял сетку. Она просто вставлена в профиль. В итоге можно было ее не снимать, но зато протер отражатель.
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-oGzjiTLdgB8/VBwWDiws2bI/AAAAAAAAEfg/FuqdsBft6ZE/s1600/IMAG0298.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-oGzjiTLdgB8/VBwWDiws2bI/AAAAAAAAEfg/FuqdsBft6ZE/s1600/IMAG0298.jpg" height="181" width="320" /></a></div>
<br />
Распустил крепление нагревателя отвинтив винт. Так же открутил гайку, отключил провод питания.
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/--Lt08KKLV2I/VBwWFZNUDnI/AAAAAAAAEg0/8Nj3A68cnUo/s1600/IMAG0296.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/--Lt08KKLV2I/VBwWFZNUDnI/AAAAAAAAEg0/8Nj3A68cnUo/s1600/IMAG0296.jpg" height="181" width="320" /></a></div>
<br />
Металлическая гильза когда-то была приклеена к стеклянной колбе. Но клей уже рассыпался, гильза снялась со стеклянной трубки с легкостью.
Отпустил гайку которая держала контакт нагревателя, получил кучу деталек.
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-b09Q2xB7cwM/VBwWJh22WMI/AAAAAAAAEgQ/r8XJyUBMsno/s1600/IMAG0292.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-b09Q2xB7cwM/VBwWJh22WMI/AAAAAAAAEgQ/r8XJyUBMsno/s1600/IMAG0292.jpg" height="181" width="320" /></a></div>
<h2>
Ремонт</h2>
В моем случае спираль перегорела прямо возле контакта. Контакт представляет собой стержень с одной стороны с резьбой, а с другой стороны с отверстием в которое был вставлен один конец спирали и запрессован. Метал весьма твердый, плоскогубцами разогнуть не смог. По этому отломал остаток спирали. Молотком максимально расплющил конец контакта. Просверлил в нем отверстие 3мм. На конце спирали сделал петлю.
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-8bUgBCgbgzA/VBwWIiaY4SI/AAAAAAAAEgI/yMAd2SDXbLc/s1600/IMAG0293.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-8bUgBCgbgzA/VBwWIiaY4SI/AAAAAAAAEgI/yMAd2SDXbLc/s1600/IMAG0293.jpg" height="181" width="320" /></a></div>
<br />
Прикрепил петлю спирали к контакту винтом и гайкой М3.
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-U0xbbB73C9U/VBwWHmAKFdI/AAAAAAAAEgA/N-O-WqF1WSM/s1600/IMAG0294.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-U0xbbB73C9U/VBwWHmAKFdI/AAAAAAAAEgA/N-O-WqF1WSM/s1600/IMAG0294.jpg" height="181" width="320" /></a></div>
<br />
Собрал в кучу гильзу
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-9MM0_XDYKps/VBwWGXEme4I/AAAAAAAAEf4/v2uvIZHIy14/s1600/IMAG0295.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-9MM0_XDYKps/VBwWGXEme4I/AAAAAAAAEf4/v2uvIZHIy14/s1600/IMAG0295.jpg" height="181" width="320" /></a></div>
<br />
Собрал все это дело обратно в обратном порядке.
<br />
<h2>
Вывод</h2>
Включил обогреватель в розетку. И все заработало :) Я нагрет и счастлив! Надеюсь, и вы будете счастливы, когда отремонтируете свой перегоревший обогреватель :)
</div>
</div>
guslab.com.uahttp://www.blogger.com/profile/05614575351100649407noreply@blogger.com0tag:blogger.com,1999:blog-3104833459141708696.post-63897394812269074082014-09-06T00:53:00.002+03:002024-01-29T13:54:19.630+02:00Саморобні світлодіодні задні ліхтарі на Mercedes Benz 126<div dir="ltr" style="text-align: left;" trbidi="on">
<h3 style="text-align: center;"><a href="https://plus.google.com/photos/118200333406461792921/albums/6051079853063442081?authkey=CK6C7eSLvu7fqQE" target="_blank"><span style="color: #ffd966;">Кому ліньки читати. Альбом фоток тутка!</span></a></h3>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="text-align: center;">
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-H_s0i8GJVB8/U_nBO_LTU4I/AAAAAAAAEZ0/DQiuqGKtFng/s1600/2014-08-23%2B22.01.19.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://2.bp.blogspot.com/-H_s0i8GJVB8/U_nBO_LTU4I/AAAAAAAAEZ0/DQiuqGKtFng/s1600/2014-08-23%2B22.01.19.jpg" width="320" /></a></div>
<br /></div>
<blockquote class="tr_bq"><blockquote class="tr_bq">Хочу світлодіодні ліхтарі на мій мерседес.</blockquote><blockquote class="tr_bq">Сказав одного разу мій товариш. Хочеш, зробимо – сказав я! Так і почалася ця історія завдовжки півроку. Суть витівки – замінити лампи розжарювання у задніх ліхтарях 126 мерседеса на світлодіоди. Необхідно зберегти первозданний зовнішній вигляд фари. Необхідно зберегти відбивач, про всяк випадок, раптом не вийде зі світлодіодами.</blockquote></blockquote>
<a name='more'></a><div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<h2>
Із яких світлодіодів робити? </h2><div>Перше що спало на думку - Піраньї або Piranha LED.</div><div>Для цього у китайчиків було замовлено по 1000 світлодіодів червоного, жовтого та білого кольорів.</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-VjNSom5Ep9o/U_nBEqkIljI/AAAAAAAAEWg/gECp3nGLYpQ/s1600/2014-07-28%2B17.43.33.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://2.bp.blogspot.com/-VjNSom5Ep9o/U_nBEqkIljI/AAAAAAAAEWg/gECp3nGLYpQ/s1600/2014-07-28%2B17.43.33.jpg" width="320" /></a></div>
<br /><div>Світлодіоди бралися найдешевші, які тільки вдалося знайти на аліекспресі. Забігаючи на перед скажу, коли почав паяти, звернув увагу, що кристалики різні у червоних світлодіодів. Закралася підозра, що і світять вони по-різному. Мало того, що світлодіодів червоних було найбільше. Половина були на одних кристалах яскравіші, а інша половина на інших кристалах тьмяніша. Мало того деякі (штук 30 з 1000) зворотної полярності. Ще кілька десятків вигоріли в перші кілька годин роботи на столі. Коротше перед паянням інших хустку світлодіоди довелося перебрати, підключити кожну і перевірити.</div><div><br /></div><div>Жовті та білі світлодіоди все як на підбір, світяться однаково.</div>
<br />
<h2>
Как питать светодиоды?</h2><div>Так як передбачалося на кожен ліхтар використовувати більше сотні світлодіодів, потрібно було придумати, як їх запитати. Живити їх хотілося якимось стабілізованим джерелом струму, щоб отримати максимальну яскравість, і стабільність світлового потоку незалежно від напруги в бортовій мережі (10В-15В).</div><div>І суто випадково на очі мені попався чудовий імпульсний світлодіодний драйвер CL6807. Цей малюк за заявленими характеристиками здатний живити світлодіоди струмом до 1А. Напругою менше вхідної напруги. Діапазон робочої напруги від 6 до 30В. Це просто ідеально для автомобіля. Обважування мікросхеми: індуктивність, діод і резистор для вимірювання струму в ланцюзі. А ну та ємність, що згладжує.</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-RVNWfByHrAI/U_o1ecusBjI/AAAAAAAAEcs/F6UemIKugyw/s1600/CL6807_kairo.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="266" src="http://4.bp.blogspot.com/-RVNWfByHrAI/U_o1ecusBjI/AAAAAAAAEcs/F6UemIKugyw/s1600/CL6807_kairo.png" width="320" /></a></div>
</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;"><div class="separator" style="clear: both;">Мікросхеми замовив у китайців, так як у нас їх чомусь немає у вільному продажу. Індуктивність використовував ту, яка вказана на схемі. До речі мікросхема може регулювати і яскравість світлодіодів подачею як ШІМ послідовності, так і напруги від 0 до 2,5В. Діод SS16.</div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;">Світлодіоди включали послідовно-паралельно. Кількість послідовно включених світлодіодів залежить від напруги, яка падає на кожному світлодіоді. Для білих одному кристалі падає 3 з хвостиком вольта, тому включаємо 3 штуки послідовно. Отже напруга на них падатиме 9 з хвостиком вольт що менше напруги живлення (10-15В) означає стабілізація режиму працюватиме. Для червоних та жовтих світлодіодів падіння напруги на одну штуку 2В. Тому послідовно можна включити 4 або 5 штук отримавши при цьому падіння 8 або 10В відповідно. І тут стабілізація теж працює.</div><div class="separator" style="clear: both;">Далі послідовні ланцюжки включаю паралельно. Таким чином збільшується струм через весь ланцюг. У середньому світлодіоди я живлю струмом 10мА. Тому, наприклад, щоб запитати 100 червоних світлодіодів, включимо їх у ланцюжка по 5 штук послідовно, і 20 таких ланцюжків паралельно. На кожний послідовний ланцюг струм 10мА. А на всі 20 ланцюгів 10мА х 20шт = 200мА. На цей струм і налаштовую драйвер.</div></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<h3 style="clear: both; text-align: justify;">
Як розрахувати резистор, який задає струм Rs?</h3>
<div class="separator" style="clear: both; text-align: justify;">
За інформацією з даташиту струм через діоди розраховується за формулою I(mA) = 100/Rs(Ohm). З цієї формули визначимо опір необхідний струму в 200мА Rs=100/I =100/200=0.5 Ом або 2 паралельно включених резистора по 1 Ом.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<h2 style="clear: both; text-align: justify;">
Виготовлення ліхтарів</h2>
<div style="clear: both; text-align: justify;">
Спочатку ідея була заповнити світлодіодами всю площу ліхтарів. Але скло ліхтаря щільно прилягає до відбивача, а світлодіоди заввишки близько 1см (це від кінчика лінзи до кінчика виводів). Тому площину плат довелося "втопити" у відбивач, за рахунок чого плати трохи зменшилися. Щоб зробити форму плати відбивачем я використовував картонні шаблони. Картонні шаблони я підігнав максимально точно. Потім шаблони приклав до текстоліту, обвів маркером і обрізав ножицями "по металу".</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/--FTm3wjEEdw/U_nBE6AGP9I/AAAAAAAAEWo/ob4JeRixyVM/s1600/2014-07-28%2B18.09.51.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://2.bp.blogspot.com/--FTm3wjEEdw/U_nBE6AGP9I/AAAAAAAAEWo/ob4JeRixyVM/s1600/2014-07-28%2B18.09.51.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;"><div class="separator" style="clear: both;">Поворотник складається з 2-х плат, одна з яких світить трохи в бік. Це можна буде побачити на фото нижче.</div><div class="separator" style="clear: both;">Далі починаю заповнювати плату світлодіодами. Кількість світлодіодів кратна 3, 4 або 5. Це необхідно, щоб запитати їх способом описаним вище.</div></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-vKyDSjFJVQs/U_nBFxAg-YI/AAAAAAAAEWw/vBkgwQaTTv8/s1600/2014-08-17%2B21.49.56.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://2.bp.blogspot.com/-vKyDSjFJVQs/U_nBFxAg-YI/AAAAAAAAEWw/vBkgwQaTTv8/s1600/2014-08-17%2B21.49.56.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
З'єднання робив за допомогою очищеного від ізоляції монтажного дроту.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-5a36XdBXjic/U_nBFjZB-aI/AAAAAAAAEW4/A81Fab-kJvg/s1600/2014-07-28%2B18.49.39.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://4.bp.blogspot.com/-5a36XdBXjic/U_nBFjZB-aI/AAAAAAAAEW4/A81Fab-kJvg/s1600/2014-07-28%2B18.49.39.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-65mSHh2y4z4/U_nBHliZT8I/AAAAAAAAEXI/3KL0_zUUkRc/s1600/2014-08-21%2B12.05.22.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://3.bp.blogspot.com/-65mSHh2y4z4/U_nBHliZT8I/AAAAAAAAEXI/3KL0_zUUkRc/s1600/2014-08-21%2B12.05.22.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Тут же на макетній платі напоюю імпульсний драйвер з усіма необхідними компонентами обв'язки. Конденсатор, що згладжує напаяний з боку діодів.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-kgcC0ngF5Hk/U_nBIFVmCOI/AAAAAAAAEXU/LFB2XoRUL50/s1600/2014-08-21%2B12.05.47.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://3.bp.blogspot.com/-kgcC0ngF5Hk/U_nBIFVmCOI/AAAAAAAAEXU/LFB2XoRUL50/s1600/2014-08-21%2B12.05.47.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Все це повторюю для кожної хустки. Потім вважаю загальну кількість світлодіодів та отримую 1034 штуки та офігеваю!</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-gVdNNlOF-e0/U_nBGwTbIqI/AAAAAAAAEW8/nD0jr2_rU_w/s1600/2014-08-21%2B12.00.24.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://3.bp.blogspot.com/-gVdNNlOF-e0/U_nBGwTbIqI/AAAAAAAAEW8/nD0jr2_rU_w/s1600/2014-08-21%2B12.00.24.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Прогонка на столі</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-fmldaUyCieY/U_nBJK_m53I/AAAAAAAAEZ4/MsCbypfwUTc/s1600/2014-08-21%2B12.54.55.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://3.bp.blogspot.com/-fmldaUyCieY/U_nBJK_m53I/AAAAAAAAEZ4/MsCbypfwUTc/s1600/2014-08-21%2B12.54.55.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-h7AaUZ3XugY/U_nBJSjzhpI/AAAAAAAAEXg/9eGABD3f9Ts/s1600/2014-08-21%2B12.55.04.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://1.bp.blogspot.com/-h7AaUZ3XugY/U_nBJSjzhpI/AAAAAAAAEXg/9eGABD3f9Ts/s1600/2014-08-21%2B12.55.04.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
До кожної плати підпаюю дроти та встановлюю плати у свої місця на відбивачі</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-KfyqqT8rZhM/U_nBKtNK2yI/AAAAAAAAEXo/QwlOtS2O5s4/s1600/2014-08-23%2B15.54.08.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://4.bp.blogspot.com/-KfyqqT8rZhM/U_nBKtNK2yI/AAAAAAAAEXo/QwlOtS2O5s4/s1600/2014-08-23%2B15.54.08.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;"><div class="separator" style="clear: both;">На старій проводці знаходжу роз'єми, і впаюю в них дроти від кожної плати. Таким чином, фара буде підключатися до штатної проводки без втручання в неї.</div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;">Підключаю всю цю справу до машини і граюсь</div></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/--8tMp_8rsLo/U_nBLhSJ1_I/AAAAAAAAEX0/VftdaXLgz6A/s1600/2014-08-23%2B22.00.53.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://3.bp.blogspot.com/--8tMp_8rsLo/U_nBLhSJ1_I/AAAAAAAAEX0/VftdaXLgz6A/s1600/2014-08-23%2B22.00.53.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-LjgPFWeLJLI/U_nBN5amM2I/AAAAAAAAEYM/vhIHxLIIvy4/s1600/2014-08-23%2B22.01.16.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://4.bp.blogspot.com/-LjgPFWeLJLI/U_nBN5amM2I/AAAAAAAAEYM/vhIHxLIIvy4/s1600/2014-08-23%2B22.01.16.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-H_s0i8GJVB8/U_nBO_LTU4I/AAAAAAAAEZ0/DQiuqGKtFng/s1600/2014-08-23%2B22.01.19.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://2.bp.blogspot.com/-H_s0i8GJVB8/U_nBO_LTU4I/AAAAAAAAEZ0/DQiuqGKtFng/s1600/2014-08-23%2B22.01.19.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
І порівнюю як світить світлодіодна фара і та що з лампочками розжарювання (ліворуч стандартна фара. справа світлодіодна. Вона яскравіша! :)) )</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div style="text-align: center;">
<a href="http://4.bp.blogspot.com/-9MXuo7u30Ns/U_oxoNMComI/AAAAAAAAEao/uYPNicJDGE4/s1600/2014-08-23%2B18.53%2BMERCEDES.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://4.bp.blogspot.com/-9MXuo7u30Ns/U_oxoNMComI/AAAAAAAAEao/uYPNicJDGE4/s1600/2014-08-23%2B18.53%2BMERCEDES.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div style="clear: both; text-align: justify;"><div style="clear: both;">Мало не забув. Вже за місцем згадав, що до поворотника потрібно додати ще маленькі світики по 4 лампочки. Паяю на маленьких хустках "на коліні" в гаражі. Проводами підключаю до основної плати поворотника.</div><div style="clear: both;">Щоб реле не блимало швидко (як лампочка перегоріла) ставимо резистори на 6 Ом 20 Вт ну а реально скртука з паралельно включених резисторів 33 Ом х 5 Вт.</div><div style="clear: both;"><br /></div><div style="clear: both;">Збираємо фари, ставимо на машину та насолоджуємося результатом!</div></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-ARfmM6M1zsw/U_o1Ek4DXAI/AAAAAAAAEcU/Zbm0sTuv8CE/s1600/2014-08-23%2B22.26%2Bmercedes.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="150" src="http://3.bp.blogspot.com/-ARfmM6M1zsw/U_o1Ek4DXAI/AAAAAAAAEcU/Zbm0sTuv8CE/s1600/2014-08-23%2B22.26%2Bmercedes.jpg" width="200" /></a><a href="http://3.bp.blogspot.com/-SR7KBGhf6zY/U_o09AmGvKI/AAAAAAAAEcI/QU2vJToeym8/s1600/2014-08-23%2B22.27%2Bmecedes.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="150" src="http://3.bp.blogspot.com/-SR7KBGhf6zY/U_o09AmGvKI/AAAAAAAAEcI/QU2vJToeym8/s1600/2014-08-23%2B22.27%2Bmecedes.jpg" width="200" /></a></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-XfCXDCfdecs/U_o09KQpY5I/AAAAAAAAEcM/oBb437CBrAg/s1600/2014-08-23%2B22.28.18.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="150" src="http://1.bp.blogspot.com/-XfCXDCfdecs/U_o09KQpY5I/AAAAAAAAEcM/oBb437CBrAg/s1600/2014-08-23%2B22.28.18.jpg" width="200" /></a><a href="http://4.bp.blogspot.com/-R2OPTPSULVM/U_o09zB25SI/AAAAAAAAEcE/h2rsirVYLTA/s1600/2014-08-23%2B22.28.25.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="150" src="http://4.bp.blogspot.com/-R2OPTPSULVM/U_o09zB25SI/AAAAAAAAEcE/h2rsirVYLTA/s1600/2014-08-23%2B22.28.25.jpg" width="200" /></a></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-MwT4HzATaJs/U_o0-zukDTI/AAAAAAAAEb0/kfEfjt1J2iM/s1600/2014-08-23%2B22.28.51.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="150" src="http://3.bp.blogspot.com/-MwT4HzATaJs/U_o0-zukDTI/AAAAAAAAEb0/kfEfjt1J2iM/s1600/2014-08-23%2B22.28.51.jpg" width="200" /></a><a href="http://4.bp.blogspot.com/-Wl0123-1Q6o/U_o0-XAks0I/AAAAAAAAEbU/1IFnIKbzSNk/s1600/2014-08-23%2B22.28.42.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="150" src="http://4.bp.blogspot.com/-Wl0123-1Q6o/U_o0-XAks0I/AAAAAAAAEbU/1IFnIKbzSNk/s1600/2014-08-23%2B22.28.42.jpg" width="200" /></a></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-mCpTX-Y3MmU/U_o0_LOafhI/AAAAAAAAEbc/7furziV2XdI/s1600/2014-08-23%2B22.28.59.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="150" src="http://1.bp.blogspot.com/-mCpTX-Y3MmU/U_o0_LOafhI/AAAAAAAAEbc/7furziV2XdI/s1600/2014-08-23%2B22.28.59.jpg" width="200" /></a><a href="http://2.bp.blogspot.com/-0zUtksBOw0w/U_o0_YDHTzI/AAAAAAAAEcA/2wjCThFm2qw/s1600/2014-08-23%2B22.29.09.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="150" src="http://2.bp.blogspot.com/-0zUtksBOw0w/U_o0_YDHTzI/AAAAAAAAEcA/2wjCThFm2qw/s1600/2014-08-23%2B22.29.09.jpg" width="200" /></a></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-bjTpLiCTsys/U_o1ArJolDI/AAAAAAAAEbo/-5FUMcpEezQ/s1600/2014-08-23%2B22.29.38.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="150" src="http://2.bp.blogspot.com/-bjTpLiCTsys/U_o1ArJolDI/AAAAAAAAEbo/-5FUMcpEezQ/s1600/2014-08-23%2B22.29.38.jpg" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Нижче пропоную ознайомитися з відео демонструючим роботу фар живою</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div style="text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/Ky1LAuTqDKk?feature=player_embedded' frameborder='0'></iframe></div>
</div>
guslab.com.uahttp://www.blogger.com/profile/05614575351100649407noreply@blogger.com0tag:blogger.com,1999:blog-3104833459141708696.post-13618110221397890872014-07-21T12:41:00.000+03:002014-08-24T22:55:18.788+03:00Как найти засор в дренажной трубе или в канализационной трубе. Видео зонд для поиска засоров и повреждений в трубах.<div dir="ltr" style="text-align: left;" trbidi="on">
<h3 style="text-align: center;">
<a href="https://plus.google.com/photos/118200333406461792921/albums/6038231370786976913" target="_blank"><span style="color: #ffd966;">Кому лень читать. Альбом фоток здесь!</span></a></h3>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="text-align: center;">
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-YIVUHfQGP_A/U8wdI3q042I/AAAAAAAAEQw/Z16hBKxmGBo/s1600/IMG_8779.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-YIVUHfQGP_A/U8wdI3q042I/AAAAAAAAEQw/Z16hBKxmGBo/s1600/IMG_8779.JPG" height="300" width="400" /></a></div>
<br /></div>
<div style="text-align: justify;">
У знакомого-товарища перестала работать дренажная труба. Так как она закопана под газоном/дорожками поиск места засора или повреждения искать очень сложно. Для того чтобы не раскапывать все это дело возникла идея взять маленькую видеокамеру, приделать к ней подсветку, и вложить в какой нибудь водонепроницаемый корпус. Эту всю конструкцию насадить на длинный гибкий но прочный хобот, вставить в трубу и в реальном времени оценить состояние труб и найти злосчастное место засора или повреждения.</div>
<a name='more'></a><div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Трубки дренажа тонкие 35-40мм. Камера должна быть маленькой. В принципе камера маленькая не проблема, НО наше дурацкое законодательство не разрешает продавать видеокамеры меньше некоторого размера, так как они классифицируются как спец средства. Поиск на prom.ua привел меня вот к такому варианту<br />
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-298rXSrUy9Y/U8zcYSJApyI/AAAAAAAAESE/ZCLeAhf6Mbk/s1600/84667354_w640_h640_img0151.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-298rXSrUy9Y/U8zcYSJApyI/AAAAAAAAESE/ZCLeAhf6Mbk/s1600/84667354_w640_h640_img0151.jpg" height="320" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Маленькая цветная камера, размер которой в этом корпусе 20х25х22. Это уже не плохо. и я прикинул если убрать светодиоды подсветки инфракрасной, и вынуть ее из этого корпуса, то камера станет вполне подходящего размера. Камеру заказал, получил, разобрал</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-jzUGF2V0KD0/U8wbdQrQS9I/AAAAAAAAEQM/3FEYwTm45EA/s1600/IMG_8774.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-jzUGF2V0KD0/U8wbdQrQS9I/AAAAAAAAEQM/3FEYwTm45EA/s1600/IMG_8774.JPG" height="240" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-LJlIt4rlQxw/U8wbcT4LmGI/AAAAAAAAEQE/dm1Q3ZlbO3Y/s1600/IMG_8772.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-LJlIt4rlQxw/U8wbcT4LmGI/AAAAAAAAEQE/dm1Q3ZlbO3Y/s1600/IMG_8772.JPG" height="240" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-V_dR9W6Xkcc/U8wbcWtmspI/AAAAAAAAEP8/ZWhnCdxfhFI/s1600/IMG_8770.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-V_dR9W6Xkcc/U8wbcWtmspI/AAAAAAAAEP8/ZWhnCdxfhFI/s1600/IMG_8770.JPG" height="240" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-LybvqEV9UEk/U8wbdu_IAFI/AAAAAAAAEQU/cenubB3qYyk/s1600/IMG_8776.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-LybvqEV9UEk/U8wbdu_IAFI/AAAAAAAAEQU/cenubB3qYyk/s1600/IMG_8776.JPG" height="240" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
То что я увидел превзошло мои ожидания. Выкинул заднюю крышку, обрезал переднюю крышку с объективом, и удалил инфракрасные светодиоды, микрофон.<br />
Изготовил из тонкого текстолита платку на которую припаял 2 белых SMD светодиода и сопротивления.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-xNiMbCyRAL4/U8wbeDuRrXI/AAAAAAAAEQY/gqDTWT2c-3k/s1600/IMG_8777.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-xNiMbCyRAL4/U8wbeDuRrXI/AAAAAAAAEQY/gqDTWT2c-3k/s1600/IMG_8777.JPG" height="240" width="320" /></a></div>
<br />
<blockquote class="tr_bq" style="text-align: justify;">
Замечу что плата камеры питается от 5 вольт (на эти 5 вольт рассчитал и ограничительные резисторы для светодиодов), но на стандартные ее разъемы подается 12В. Преобразователь напряжения находится в пластмассовом набалдашнике куда сходятся стандартные провода с разъемами и откуда идет провод на камеру.</blockquote>
<div style="text-align: justify;">
Объектив приклеил к плате камеры термоклеем. Подсветка плотно садится на объектив. В итоге получилась вот такая вот камера с подсветкой</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-YIVUHfQGP_A/U8wdI3q042I/AAAAAAAAEQw/Z16hBKxmGBo/s1600/IMG_8779.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-YIVUHfQGP_A/U8wdI3q042I/AAAAAAAAEQw/Z16hBKxmGBo/s1600/IMG_8779.JPG" height="240" width="320" /></a></div>
<br />
<br />
<div style="text-align: justify;">
Кстати фото картинки с телевизора, которую снимает эта камера в полной темноте. Опять таки был приятно удивлен тем что этих двух светиков вполне хватило чтобы снимать хорошую картинку.</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-8eYF_5fQIR0/U8wdI0BgtYI/AAAAAAAAEQ0/xzAZkCdLiJ4/s1600/IMG_8781.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-8eYF_5fQIR0/U8wdI0BgtYI/AAAAAAAAEQ0/xzAZkCdLiJ4/s1600/IMG_8781.JPG" height="240" width="320" /></a></div>
<br />
<div style="text-align: justify;">
Сейчас работаю над тем как сделать корпус да еще такой чтобы был водонепроницаем и который можно надежно закрепить на конце металлического сантехнического хобота для прочистки труб, который нашелся в хозяйстве. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Обновление 24.08.2014<br />
<br />
И так камера готова, теперь ее необходимо установить в корпус. Корпус должен быть водонепроницаем, так как что там в трубах под землей неизвестно. Так же корпус должен быть такой формы чтобы зонд мог проходить через трубы изогнутые под углом 90 градусов. По моему мнению корпус должен быть в виде шара. <br />
<br />
Под руки мне попалась капроновая трубка.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-yQO8tufzY8Q/U_mh5x6SYkI/AAAAAAAAEUM/ABlQxVnRs3g/s1600/2014-07-26%2B11.18.43.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-yQO8tufzY8Q/U_mh5x6SYkI/AAAAAAAAEUM/ABlQxVnRs3g/s1600/2014-07-26%2B11.18.43.jpg" height="320" width="240" /></a></div>
<br />
<br />
Один конец при помощи фена я сформовал в полусферу. Впаял в этот конец трубы гайку "барашек" для крепления камеры на "носителе" :)<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-hk_NNqh0W5A/U_mh4qjeeHI/AAAAAAAAET4/bTfL0YVjp-k/s1600/2014-07-25%2B20.25.41.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-hk_NNqh0W5A/U_mh4qjeeHI/AAAAAAAAET4/bTfL0YVjp-k/s1600/2014-07-25%2B20.25.41.jpg" height="240" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-30dcJ5HcSRU/U_mh4rxeUEI/AAAAAAAAEUs/-7scIlsGb_A/s1600/2014-07-25%2B21.30.08.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-30dcJ5HcSRU/U_mh4rxeUEI/AAAAAAAAEUs/-7scIlsGb_A/s1600/2014-07-25%2B21.30.08.jpg" height="240" width="320" /></a></div>
<br />
Просверлил отверстие для проводов. Вставил провода, в середине капронового корпуса тщательно залил место ввода проводов термо-клеем. Припаял провода к камере. Вставил камеру внутрь недеформированного корпуса, и так же, разогревая капрон феном сформовал полусферу со стороны объектива. Вырезал из прозрачного пластика кружочек и с помощью "суперклея" приклеил его на корпус зонда. Получился глаз :)<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-EO4KueATe0w/U_mh5ubSkII/AAAAAAAAEU8/4RTYVW0cBPU/s1600/2014-07-25%2B23.11.13.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-EO4KueATe0w/U_mh5ubSkII/AAAAAAAAEU8/4RTYVW0cBPU/s1600/2014-07-25%2B23.11.13.jpg" height="240" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-SdId7U8zXtg/U_mh5cvnuzI/AAAAAAAAET8/EQq4lgT6iGI/s1600/2014-07-25%2B23.11.03.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-SdId7U8zXtg/U_mh5cvnuzI/AAAAAAAAET8/EQq4lgT6iGI/s1600/2014-07-25%2B23.11.03.jpg" height="240" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Все бы хорошо, но как оказалось этот клей испаряется и прозрачный пластик помутнел внутри корпуса. Из за чего такой вариант конструкции стал не пригоден. </div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Корпус был аккуратненько искромсан ножом, камера удалена. Пришлось дальше искать шар. Шарик нашелся в детской игрушке.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-MJymeebjqSg/U_mh6ch1nAI/AAAAAAAAEUg/6JO-IYKQ_hk/s1600/2014-08-16%2B11.56.28.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-MJymeebjqSg/U_mh6ch1nAI/AAAAAAAAEUg/6JO-IYKQ_hk/s1600/2014-08-16%2B11.56.28.jpg" height="240" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
Жирафа использована в качестве украшения в машине. Пластмассовый шар распилил на пополам ножовкой. Расклеить не удалось, клея изготовители не пожадничали. Для объектива камеры отпилил верхушку одного из полушарий.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-tggXYa0Jr_o/U_mh7ALt3UI/AAAAAAAAEUU/ahv3lW0kAU0/s1600/2014-08-17%2B18.52.55.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-tggXYa0Jr_o/U_mh7ALt3UI/AAAAAAAAEUU/ahv3lW0kAU0/s1600/2014-08-17%2B18.52.55.jpg" height="240" width="320" /></a></div>
<br />
Получившееся отверстие заклеил прозрачной пластмассой.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-WQwVjECl0vU/U_mh7uAkTcI/AAAAAAAAEUc/mr-KtFIepMg/s1600/2014-08-17%2B19.06.25.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-WQwVjECl0vU/U_mh7uAkTcI/AAAAAAAAEUc/mr-KtFIepMg/s1600/2014-08-17%2B19.06.25.jpg" height="240" width="320" /></a></div>
<br />
Опилил напильником остатки прозрачной пластмассы. В получившуюся полусферу с окошком разместил видеокамеру и закрепил термо-клеем.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-EE-1pYSgRIw/U_mh8IXiRUI/AAAAAAAAEUk/gVo8YmqelQI/s1600/2014-08-21%2B01.42.16.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-EE-1pYSgRIw/U_mh8IXiRUI/AAAAAAAAEUk/gVo8YmqelQI/s1600/2014-08-21%2B01.42.16.jpg" height="150" width="200" /></a><a href="http://1.bp.blogspot.com/-gkoiciv_EIg/U_mh8kFK4XI/AAAAAAAAEUw/T-gCAfQEbXo/s1600/2014-08-21%2B01.42.36.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-gkoiciv_EIg/U_mh8kFK4XI/AAAAAAAAEUw/T-gCAfQEbXo/s1600/2014-08-21%2B01.42.36.jpg" height="150" width="200" /></a></div>
<br />
В другую половинку шара, как и при первой попытке, впаял барашек. В этой пластмассе барашек проделал под собой отверстия, по этому был обпаян пластмассой из середины. Точнее обварен пластмассой с помощью паяльника при температуре порядка 200 градусов. Так же просверлил отверстия под провода. Вставил провода, и залил термоклеем, организовав таким образом герметичный ввод.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-YuJtCpttPok/U_nAPdKRh2I/AAAAAAAAEV4/8SVJs4TAgro/s1600/2014-08-24%2B12.12.36.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-YuJtCpttPok/U_nAPdKRh2I/AAAAAAAAEV4/8SVJs4TAgro/s1600/2014-08-24%2B12.12.36.jpg" height="240" width="320" /></a></div>
<br />
Припаял провода к камере.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-EYF4Q2JTTSM/U_nAPckcZ1I/AAAAAAAAEV8/Hj2Yi791k-U/s1600/2014-08-24%2B12.12.26.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-EYF4Q2JTTSM/U_nAPckcZ1I/AAAAAAAAEV8/Hj2Yi791k-U/s1600/2014-08-24%2B12.12.26.jpg" height="150" width="200" /></a><a href="http://2.bp.blogspot.com/-sEoJgNqZMH4/U_nAPdm_WsI/AAAAAAAAEVs/vJn2IgyEknM/s1600/2014-08-24%2B12.12.31.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-sEoJgNqZMH4/U_nAPdm_WsI/AAAAAAAAEVs/vJn2IgyEknM/s1600/2014-08-24%2B12.12.31.jpg" height="150" width="200" /></a></div>
<br />
Собрал шар при помощи термоклея. Термоклеем работаю при помощи пистолета. По всей длине стыка нанес разогретый термоклей, и соединил половинки. Получил красивый желтый глаз.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-FpZb4lORwGU/U_nAQHQ4U-I/AAAAAAAAEVw/zK0ezV97UIg/s1600/2014-08-24%2B12.15.46.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-FpZb4lORwGU/U_nAQHQ4U-I/AAAAAAAAEVw/zK0ezV97UIg/s1600/2014-08-24%2B12.15.46.jpg" height="240" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
В шаре имеются отверстия, которые в моем случае не нужны, по этому тоже были залиты термоклеем.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Общий вид зонда.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-Hc7eUr13NtU/U_nAQZNcV5I/AAAAAAAAEV0/yMIQ2EtIr_c/s1600/2014-08-24%2B12.50.12.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-Hc7eUr13NtU/U_nAQZNcV5I/AAAAAAAAEV0/yMIQ2EtIr_c/s1600/2014-08-24%2B12.50.12.jpg" height="240" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
Очередная задача решена!<br />
<br />
Если возникли вопросы или замечания, оставляйте в комментариях.<br />
Спасибо за внимание!</div>
</div>
guslab.com.uahttp://www.blogger.com/profile/05614575351100649407noreply@blogger.com0tag:blogger.com,1999:blog-3104833459141708696.post-49173554311785114152014-06-12T15:36:00.000+03:002014-06-12T16:05:15.536+03:00Как самому изготовить светодиодный (LED) светильник<div dir="ltr" style="text-align: left;" trbidi="on">
<h3 style="text-align: center;">
<a href="https://plus.google.com/photos/118200333406461792921/albums/5834849631540529073" target="_blank"><span style="color: #ffd966;">Кому лень читать. Альбом фоток здесь!</span></a></h3>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="text-align: center;">
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-zCzp36lQws0/UQLpxo8vu8I/AAAAAAAACLo/P_m4SrOCXck/s1600/IMG_8139.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-zCzp36lQws0/UQLpxo8vu8I/AAAAAAAACLo/P_m4SrOCXck/s1600/IMG_8139.JPG" height="400" width="300" /></a></div>
<br /></div>
<div style="text-align: justify;">
Очень мне нравятся светодиоды современные. Средний ресурс 5-6 лет беспрерывной работы при потере яркости до 10%. Потребление: 1 ватт светодиодный дает света не меньше чем 10 ватт галогенной лампы. Походил я по эпицентру, по интернету, и меня поражают цены на светодиодные светильники и люстры. 3-5-7тыс грн и больше... Зная цены на светодиоды решил я собрать что то такое эдакое в домашних условиях...</div>
<a name='more'></a><br />
Светодиоды стоят относительно не дорого 1Вт х 20шт порядка 150грн.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-7fFd8LlaT6s/UPmM2bh45PI/AAAAAAAACGQ/RionAQyHbtw/s1600/IMG_8109.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-7fFd8LlaT6s/UPmM2bh45PI/AAAAAAAACGQ/RionAQyHbtw/s400/IMG_8109.JPG" height="300" jea="true" width="400" /></a></div>
<br />
Драйвер который позволяет запустить порядка 30 последовательно включенных светодиодов на ток 350мА от сети 220В стоит порядка 150грн.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-9cavGALFUIw/UPmM2yxWtDI/AAAAAAAACGY/ql9zyzVJ540/s1600/IMG_8110.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-9cavGALFUIw/UPmM2yxWtDI/AAAAAAAACGY/ql9zyzVJ540/s400/IMG_8110.JPG" height="400" jea="true" width="300" /></a></div>
<br />
<div style="text-align: justify;">
Проблема стала в теплоотводе. Светодиоды очень таки ощутимо греются, и для долгой и благополучной работы им нужен теплоотвод. Тут то мне и попался на глаза старый советский алюминиевый карниз. Это предел моих ожиданий. Огромная площадь рассеяния, мягкий металл с хорошей теплопроводностью.</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-zBUDWRoOLqE/UPmM08r4R3I/AAAAAAAACGE/0UHLxojZ5tg/s1600/IMG_8107.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-zBUDWRoOLqE/UPmM08r4R3I/AAAAAAAACGE/0UHLxojZ5tg/s400/IMG_8107.JPG" height="300" jea="true" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-cpVxTP9SQKs/UPmM1BuWzYI/AAAAAAAACGI/MAUqUCFiL1M/s1600/IMG_8108.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-cpVxTP9SQKs/UPmM1BuWzYI/AAAAAAAACGI/MAUqUCFiL1M/s400/IMG_8108.JPG" height="300" jea="true" width="400" /></a></div>
<br />
<div style="text-align: justify;">
Длинна этого чуда более 2х метров. </div>
<div style="text-align: justify;">
Светодиоды решил крепить по широкой стороне, она будет верхом. А узкая сторона будет направлена ко мне, чтобы прикрывать прямой свет светодиодов. Решено. Сделано.</div>
<br />
Размечаю места крапления под 20 светодиодов:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-o_gxL8K5B40/UPmM32KhOrI/AAAAAAAACGg/2DEaTdBxLWs/s1600/IMG_8111.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-o_gxL8K5B40/UPmM32KhOrI/AAAAAAAACGg/2DEaTdBxLWs/s400/IMG_8111.JPG" height="400" jea="true" width="300" /></a></div>
<br />
В 2 отверстия закручиваются саморезы, типа "блошки" как для профилей гипсокартоновых. и еще 2 отверстия для проводов. Под основу светодиодов укладываю термопасту типа КПТ-8.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-eWwuwuadUD0/UPmM6c60GxI/AAAAAAAACHA/dmIswlw6HTw/s1600/IMG_8116.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-eWwuwuadUD0/UPmM6c60GxI/AAAAAAAACHA/dmIswlw6HTw/s400/IMG_8116.JPG" height="300" jea="true" width="400" /></a></div>
<br />
К тому-же на узкую сторону карниза приклеил дешевую светодиодную ленту по всей длине она будет служить как фоновое освещение когда сидишь в инете или смотришь кино. <br />
<br />
Собранная основа светильника без блока питания дополнительных светодиодов выглядит таким образом<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-70hadLzx2fU/UPmM59AQ-3I/AAAAAAAACG4/scL3mkidlwo/s1600/IMG_8115.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-70hadLzx2fU/UPmM59AQ-3I/AAAAAAAACG4/scL3mkidlwo/s400/IMG_8115.JPG" height="400" jea="true" width="300" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
И не смог удержатся, включил проверил:</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-RObsGcenUec/UPmM5ZOJ3yI/AAAAAAAACGw/KHmXswPSx5Q/s1600/IMG_8114.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-RObsGcenUec/UPmM5ZOJ3yI/AAAAAAAACGw/KHmXswPSx5Q/s400/IMG_8114.JPG" height="300" jea="true" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-22Bw3xEb2Mg/UPmM4El7FrI/AAAAAAAACGo/_qoI6JsQBN4/s1600/IMG_8112.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-22Bw3xEb2Mg/UPmM4El7FrI/AAAAAAAACGo/_qoI6JsQBN4/s400/IMG_8112.JPG" height="300" jea="true" width="400" /></a></div>
<br />
В живую выглядит это все потрясающе. <br />
<br />
Далее прикупил блок питания 12В 1,5А в алюминиевом корпусе для фоновой подсветки, прикрутил так же как и блок питания для основного света.<br />
<br />
Управлять светильником я конечно-же решил с помощью радиоуправления, и для этого у меня нашлась вот такая приспособа<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-IyZ6tAyeZcg/UQKdUy40ZGI/AAAAAAAACKo/QNuu9DMRhhs/s1600/IMG_8120.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-IyZ6tAyeZcg/UQKdUy40ZGI/AAAAAAAACKo/QNuu9DMRhhs/s1600/IMG_8120.JPG" height="300" width="400" /></a></div>
<br />
Это серийно выпускаемое дистанционное управление. покупал года 4 назад в блистере. Но в инете не смог найти. Видел точно такие-же в люстрах китайских. В прошлом году необходимо было сделать такое дистанционное управление, поискал по рынку, нашел китайские копии под название Samwha или чтото в этом роде на 3 канала. Пульт такой же, только вместо отдельных кнопок под каждой пластмасской там резинки. Работает исправно, но нет щелчка, слегка непривычно.<br />
<br />
Полностью смонтированная электронно-питательная часть выглядит так (снизу вверх: дистанционное управление; драйвер для светодиодов 1Вт х 20шт последовательно; блок питания 12В 1,5А для светодиодной ленты).<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-BkFKuSQemiw/UQKdVaJciMI/AAAAAAAACKw/xlQsAgabWPE/s1600/IMG_8121.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-BkFKuSQemiw/UQKdVaJciMI/AAAAAAAACKw/xlQsAgabWPE/s1600/IMG_8121.JPG" height="400" width="300" /></a></div>
<br />
На противоположных концах светильника сделал регулируемые подвесы, чтобы подвесить светильник на 2х тросиках, и настроить центр тяжести, чтобы он висел ровно и светодиоды смотрели строго вниз.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-vcH1QYrzW_Q/UQKdWR6hoYI/AAAAAAAACK4/wxXNcOngea8/s1600/IMG_8122.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-vcH1QYrzW_Q/UQKdWR6hoYI/AAAAAAAACK4/wxXNcOngea8/s1600/IMG_8122.JPG" height="150" width="200" /></a><a href="http://3.bp.blogspot.com/-kV7LIumnI5A/UQKdWsJJAmI/AAAAAAAACK8/Win9Gj0sEbQ/s1600/IMG_8123.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-kV7LIumnI5A/UQKdWsJJAmI/AAAAAAAACK8/Win9Gj0sEbQ/s1600/IMG_8123.JPG" height="150" width="200" /></a></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/--ec4NCjJeqc/UQKdXT0LrWI/AAAAAAAACLI/00I_CWl8Cvo/s1600/IMG_8124.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/--ec4NCjJeqc/UQKdXT0LrWI/AAAAAAAACLI/00I_CWl8Cvo/s1600/IMG_8124.JPG" height="150" width="200" /></a></div>
<br />
Крючок ввинчен в П-образный хомут и зажат гайкой. В хомуте насквозь просверлено отверстие и нарезана резьба М4. Шпилька с резьбой ввинчена в хомут. Шпилька вставляется в отверстия в уголках закрепленных с противоположных краев светильника и фиксируется гайками с контргайками. При вращении шпильки с помощью отвертки крючок на хомуте перемещается от одной стороны светильника к противоположной.<br />
<br />
Светильник готов.<br />
<br />
В гипсокартонный потолок ввинчиваю 2 дюбеля "моль" с крючками и вешаю все это на металлическую цепь.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-O2vcKMNklK0/UQU9HKTl5rI/AAAAAAAACMM/sGt5tIMJ04Q/s1600/1300707384_chain.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-O2vcKMNklK0/UQU9HKTl5rI/AAAAAAAACMM/sGt5tIMJ04Q/s1600/1300707384_chain.jpg" height="149" width="200" /></a><a href="http://3.bp.blogspot.com/-IleD03UN_4Q/UQU9HaK9MmI/AAAAAAAACMU/B62WU2BUJ14/s1600/dubel.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-IleD03UN_4Q/UQU9HaK9MmI/AAAAAAAACMU/B62WU2BUJ14/s1600/dubel.bmp" height="197" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Светильник оправдал мои ожидания:<br />
<br />
<div style="text-align: center;">
Так светится светодиодная лента. Узконаправленный пучок в сторону стены.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/--rRc6bsInsE/UQLpxE7tvWI/AAAAAAAACLk/DDvLbHxaPC8/s1600/IMG_8138.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/--rRc6bsInsE/UQLpxE7tvWI/AAAAAAAACLk/DDvLbHxaPC8/s1600/IMG_8138.JPG" height="320" width="240" /></a></div>
<br />
<div style="text-align: center;">
Так светят 20 одно-ваттных светодиодов. равномерно освещая всю рабочую зону стола и паяльной станции (немного правее от стола. на фото не видно)</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-zCzp36lQws0/UQLpxo8vu8I/AAAAAAAACLo/P_m4SrOCXck/s1600/IMG_8139.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-zCzp36lQws0/UQLpxo8vu8I/AAAAAAAACLo/P_m4SrOCXck/s1600/IMG_8139.JPG" height="320" width="240" /></a></div>
<br />
Заключение.<br />
Светильник оправдал мои ожидания. Карниз и светодиоды 20х1Вт слегка тепловаты. Чтобы почувствовать нагрев необходимо некоторое время подержать руку на металлическом основании светильника. Такой тепловой режим гарантирует максимальный срок службы светодиодов.<br />
Питание светодиодов стабильным током 350мА. Еще одно условие долговечной работы светодиодов.<br />
Свет равномерный без пятен.<br />
Сумеречный режим (когда светиться только светодиодная лента) тоже оказался совсем не лишним, приятный мягкий свет.</div>
guslab.com.uahttp://www.blogger.com/profile/05614575351100649407noreply@blogger.com2tag:blogger.com,1999:blog-3104833459141708696.post-23563316767528299412014-01-19T01:27:00.000+02:002014-01-19T01:28:03.989+02:00Лабораторное зарядное устройство 30В/3А как зарядное устройство для Li-Ion аккумуляторов<div dir="ltr" style="text-align: left;" trbidi="on">
<h3 style="text-align: center;">
<a href="https://plus.google.com/u/0/photos/118200333406461792921/albums/5970377660419657217" target="_blank"><span style="color: #ffd966;">Кому лень читать. Альбом фоток здесь!</span></a></h3>
<div style="text-align: center;">
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-WMHrX6YSvAQ/UtsK2k0W3aI/AAAAAAAADWY/d0EbAenXMfk/s1600/IMG_8659.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-WMHrX6YSvAQ/UtsK2k0W3aI/AAAAAAAADWY/d0EbAenXMfk/s1600/IMG_8659.JPG" height="240" width="320" /></a></div>
<br /></div>
<div style="text-align: justify;">
И так когда я начал заниматься ремонтом аккумуляторных батарей, передо мною встал вопрос о том как же их заряжать?</div>
<a name='more'></a><div style="text-align: justify;">
За неимением особого желания тратить пару сотен долларов на спец. устройства... я просмотрел пару ссылок по гуглу но это в основном ЗУ для аккумуляторов с определенной характеристикой, но не универсальные.<br />
Мне попался в руки зарядка типа Imax, и потом я и себе приобрел Imax B8+, но через некоторое время методом проб и ошибок определил непригодность этого ЗУ для зарядки аккумуляторных паков для ноутбуков, так как в момент тестирования перед зарядкой некоторые контроллеры просто взрывались, как например в <a href="http://www.avalon.co.ua/batteries/viewtopic.php?f=4&t=3957" target="_blank">этой теме</a>.<br />
Вопрос опять встал.
Спасибо товарищу Robot который подсказал что для зарядки аккумов методом СC/CV можно использовать например советский лабораторный БП типа Б5-47. Но они продаются в основном у барыг и дорого. А если дешево то в убитом состоянии.<br />
И тут товарищ vital1 подсказал отличную и весьма не сложную для повторения схему, коей большое множество в инете но с ОШИБКОЙ!!!!
Ошибку идентифицировал по постам отличной темы которую опять таки подсказал vital1 по ссылке <a href="http://forum.cxem.net/index.php?showtopic=9332&st=640" target="_blank">здесь</a>.
Тут приведу схему с инета с исправлением нарисованным поверх красным!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-chO-2QmeR_k/UtsK2uGMnVI/AAAAAAAADWc/3d-S5CUG88c/s1600/lab2.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-chO-2QmeR_k/UtsK2uGMnVI/AAAAAAAADWc/3d-S5CUG88c/s1600/lab2.gif" height="265" width="400" /></a></div>
<br />
Я собирал основную схему на макетке. Операционник использовал OP07 который на караваевых дачах в Киеве достать не проблема в отличии от LM301. Транзистор КТ818 в металле, потому как пластмасса греется почему то на столько что отпаиваются провода хотя не дохнет и при этом тепло на радиатор не передает :). Радиатор с куллером взял от 478го сокета.<br />
Запитал это все дело от 2х блоков питания: один ноутбучный 19В, а второй тот что на отрицательное напряжение от какого-то свитча.<br />
Кстати напряжение регулируется не от 0В а от 1.2 = напряжение падения на LM317.<br />
Вольтметр и амперметры цифровые, пользуюсь только когда выставляю начальные параметры заряда. Остальное контролирую по данным считываемым с контроллера батареи.<br />
Как я заряжаю аккумы: Включаю устройство в сеть. Подключаю на выход лампочку 12В 50Вт. Ставлю напряжение скажем 12В и ставлю ограничение тока например 2А - для зарядки стандартной 6-ти элементной батареи. Отключаю лампу и выставляю соответствующее напряжение например 12,6В. Пока напряжение на батарее существенно ниже работает схема ограничения тока. Когда напряжение на банках по мере заряда увеличивается, ток уменьшается, и тут уже работает ограничитель напряжения.<br />
Я собрал это все дело в корпус с ромашками
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-WMHrX6YSvAQ/UtsK2k0W3aI/AAAAAAAADWY/d0EbAenXMfk/s1600/IMG_8659.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-WMHrX6YSvAQ/UtsK2k0W3aI/AAAAAAAADWY/d0EbAenXMfk/s1600/IMG_8659.JPG" height="150" width="200" /></a><a href="http://1.bp.blogspot.com/-c9FCaViJfsM/UtsK2jnlENI/AAAAAAAADWg/ji0KZV8Ot0U/s1600/IMG_8660.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-c9FCaViJfsM/UtsK2jnlENI/AAAAAAAADWg/ji0KZV8Ot0U/s1600/IMG_8660.JPG" height="150" width="200" /></a></div>
<br />
<br /></div>
</div>
guslab.com.uahttp://www.blogger.com/profile/05614575351100649407noreply@blogger.com0