рд╣рд╛ рдЕреЕрдк Android рдЖрдгрд┐ рдорд╛рдпрдХреНрд░реЛ: рдмрд┐рдЯ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕ рджрд░рдореНрдпрд╛рди рд╕рдВрдкреНрд░реЗрд╖рдг рдХрд░рддреЛ. рдЖрдкрдг 'рд╕реВрдЪрдирд╛' рдХрд┐рдВрд╡рд╛ 'рд╕рдВрдХреЗрдд' рдореЛрдбрдордзреНрдпреЗ рдордЬрдХреВрд░ рдкрд╛рдард╡реВ рдЖрдгрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░реВ рд╢рдХрддрд╛. рдорд╛рдпрд░реНрдЯ: рдмрд┐рдЯ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕ (рдмреНрд▓реЙрдХ, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдПрдордмреАрдИрдбреА) рд╡рд░ рдпреВрдПрдЯреА рд╕рдВрд╡рд╛рдж рджреЗрдЦреАрд▓ рд▓рд╛рдЧреВ рдХреЗрд▓рд╛ рдЧреЗрд▓рд╛ рдкрд╛рд╣рд┐рдЬреЗ.
рдкрд░реНрдпрд╛рдпрдГ
- рдирд┐рд░реНрджреЗрд╢: рдбреАрдлреЙрд▓реНрдЯ рдорд╛рдпрдХреНрд░реЛ: рдмрд┐рдЯ рдореЛрдб (рдЕрдиреНрдпрдерд╛ рд╕реВрдЪрдирд╛ рдореЛрдб)
- рдПрд▓рдПрдлрдГ рд▓рд╛рдЗрдирдлреЗрдб рдЬреЛрдбрд▓рд╛
- рд╕реАрдЖрд░: рдХреЕрд░реЗрдЬ рд░рд┐рдЯрд░реНрди рдЬреЛрдбрд▓рд╛
рдЖрд╡рд╢реНрдпрдХрддрд╛рдГ
- рдХрд┐рдорд╛рди Android 5
- рдмреНрд▓реВрдЯреВрде рд▓реЛ рдПрдирд░реНрдЬреА (рдмреАрдПрд▓рдИ)
- рдЬреЛрдбрд▓реЗрд▓реЗ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕
- рд╕реВрдХреНрд╖реНрдо: рдмрд┐рдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдо (рд╕реНрд╡рддрдГрджреНрд╡рд╛рд░реЗ рд╡рд┐рдХрд╕рд┐рдд)
рд╡реНрд╣реА 2.1: рдХреНрд▓рд┐рдкрдмреЛрд░реНрдбрд╡рд░ рдХреЙрдкреА рдХрд░рд╛ (рдкрд░реНрдпрд╛рдп рдореЗрдиреВ)
рд╡реНрд╣реА 2.2: рдХреНрд▓реАрдЕрд░ рд▓рд┐рд╕реНрдЯ (рдСрдкреНрд╢рди рдореЗрдиреВ), рдиреЛ рд▓реЙрдЧ рдСрдкреНрд╢рди
рд╡реНрд╣реА 2.5: рд╣реЗрдХреНрд╕ рдореЛрдб
рдПрдордмреАрдПрдб рдЙрджрд╛рд╣рд░рдгрдГ
# "рдорд╛рдпрдХреНрд░реЛрдмреАрдЯ." рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХрд░рд╛
# "рдорд╛рдпрдХреНрд░реЛрдмрд┐рдЯрдЙрд░реНрдЯ рд╕рд░реНрд╡реНрд╣рд┐рд╕.h" рдЕрдВрддрд░реНрднреВрдд рдХрд░рд╛
# "рдмреАрдПрдордкреА 180.h" рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХрд░рд╛
рдорд╛рдпрдХреНрд░реЛрдмрд┐рдЯ uBit;
рдорд╛рдпрдХреНрд░реЛрдмрд┐рдЯрдЙрд░реНрдЯ рд╕рд░реНрд╡реНрд╣рд┐рд╕ * рдпреВрдЖрд░рдЯреА;
рдмреАрдПрдордкреА 180 рдмреАрдПрдордкреА 180 (рдкреА0_30, рдкреА0_0);
рдЪрд╛рд░ рдмрдлрд░ [80];
рдлреНрд▓реЛрдЯ рджрд╛рдм, рддрдкрдорд╛рди;
┬а┬а┬а┬а┬а┬а┬а┬а
int рдХрдиреЗрдХреНрдЯ = 0;
рд░рджреНрдж рдХреЗрд▓реЗрд▓реЗ (рдорд╛рдпрдХреНрд░реЛрдмрд┐рдЯ рдЗрд╡реНрд╣реЗрдВрдЯ)
{
┬а┬а┬а┬аuBit.display.scroll ("рд╕реА");
┬а┬а┬а┬ардЬреЛрдбрд▓реЗрд▓реЗ = 1;
}
рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХреЗрд▓реЗрд▓реЗ (рдорд╛рдпрдХреНрд░реЛрдмрд┐рдЯ рдЗрд╡реНрд╣реЗрдВрдЯ)
{
┬а┬а┬а┬аuBit.display.scroll ("рдбреА");
┬а┬а┬а┬ардЬреЛрдбрд▓реЗрд▓реЗ = 0;
}
рд╡реНрд╣реЙрдб рдСрдирдмрдЯрди рдП (рдорд╛рдпрдХреНрд░реЛрдмрд┐рдЯ рдЗрд╡реНрд╣реЗрдВрдЯ)
{
┬а┬а┬а┬аuBit.display.scroll (рдмрдлрд░);
}
рд╡реНрд╣реЙрдиреНрдб рдСрдирдмрдЯрди рдмреА (рдорд╛рдпрдХреНрд░реЛрдмрд┐рдЯ рдЗрд╡реНрд╣реЗрдВрдЯ)
{
┬а┬а┬а┬аuBit.display.scroll ("SK");
}
/ *
рдорд╣рддреНрд╡рд╛рдЪреЗ !!!
рдУрд╣реЗрд░рд╡рд╛рдЗрд╡реНрд╣ рддреБрдореНрд╣реА рдореЗрдорд░реА рд╕рдВрдкрд╡рд╛рд▓!
MicroBitConfig.h рдордзреНрдпреЗ DFU рдЖрдгрд┐ рдЗрд╡реНрд╣реЗрдВрдЯ рд╕реЗрд╡рд╛ рдЕрдХреНрд╖рдо рдХрд░рдгреНрдпрд╛рдЪреА рд╢рд┐рдлрд╛рд░рд╕ рдХрд░рд╛ рдХрд╛рд░рдг рддреНрдпрд╛рдВрдЪреА рдпреЗрдереЗ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА:
рдорд╛рдпрдХреНрд░реЛрдмрд┐рдЯ-> рдорд╛рдпрдХреНрд░реЛрдмрд┐рдЯ-рдбрд╛рд▓-> рдЗрдиреНрдХ-> рдХреЛрд░-> рдорд╛рдпрдХреНрд░реЛрдмрд┐рдЯрдХреЙрдирдлрд┐рдЧ
# рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рд╛ MICROBIT_BLE_DFU_SERVICE 0
# рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рд╛ MICROBIT_BLE_EVENT_SERVICE 0
# рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рд╛ MICROBIT_SD_GATT_TABLE_SIZE 0x500
* /
int рдореБрдЦреНрдп ()
{
┬а┬а┬а┬ардмреАрдПрдордкреА 180. рдЖрд░рдВрдн рдХрд░рд╛ (64, рдмреАрдПрдордкреА 180_рдУрдПрд╕рдПрд╕_ULTRA_LOW_POWER);
┬а┬а┬а┬арджрд╛рдм = -1;
┬а┬а┬а┬арддрд╛рдкрдорд╛рди = -1;
┬а┬а┬а┬ардЬрд░ (рдмреАрдПрдордкреА 180. рд░реАрдбрдбреЗрдЯрд╛ (рдЖрдгрд┐ рддрд╛рдкрдорд╛рди, рдЖрдгрд┐ рджрд╛рдм))
┬а┬а┬а┬а┬а┬а┬а┬аsprintf (рдмрдлрд░, "% .2 рдПрдл рд╕реА% 4.0 рдПрдл рдПрдЪрдкреАрдП", рддрд╛рдкрдорд╛рди, рджрд╛рдм);
┬а┬а┬а┬ардирд╛рд╣реАрддрд░
┬а┬а┬а┬а┬а┬а┬а┬аsprintf (рдмрдлрд░, "рдПрдирдУрдХреЗ");
┬а┬а┬а┬а┬а┬а┬а┬а┬а┬а┬а┬а┬а┬а
┬а┬а┬а┬а// рдорд╛рдпрдХреНрд░реЛ: рдмрд┐рдЯ рд░рдирдЯрд╛рдЗрдо рдкреНрд░рд╛рд░рдВрдн рдХрд░рд╛.
┬а┬а┬а┬аuBit.init ();
┬а┬а┬а┬аuBit.messageBus.listen (MICROBIT_ID_BLE, MICROBIT_BLE_EVT_CONNECTED, рдХрдиреЗрдХреНрдЯ рдХреЗрд▓реЗрд▓реЗ);
┬а┬а┬а┬аuBit.messageBus.listen (MICROBIT_ID_BLE, MICROBIT_BLE_EVT_DISCONNECTED, рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХреЗрд▓реЗрд▓реЗ);
┬а┬а┬а┬аuBit.messageBus.listen (MICROBIT_ID_BUTTON_A, MICROBIT_BUTTON_EVT_CLICK, рдмрдЯрди рдП);
┬а┬а┬а┬аuBit.messageBus.listen (MICROBIT_ID_BUTTON_B, MICROBIT_BUTTON_EVT_CLICK, рдмрдЯрди рдмреА);
┬а┬а┬а┬ардпреВрдЖрд░рдЯреА = рдирд╡реАрди рдорд╛рдпрдХреНрд░реЛрдмрд╛рдЗрдЯрдпреВрдПрдЖрд░рдЯреА рд╕рд░реНрд╡реНрд╣рд┐рд╕ (* рдпреВрдмреАрдЯ.рдмреЗрд▓, 32, 32);
┬а┬а┬а┬аuBit.display.scroll (":)");
┬а
┬а┬а┬а┬ардХрд░рддрд╛рдирд╛ (1)
┬а┬а┬а┬а{
┬а┬а┬а┬а┬а┬а┬а┬арджрд╛рдм = -1;
┬а┬а┬а┬а┬а┬а┬а┬арддрд╛рдкрдорд╛рди = -1;
┬а┬а┬а┬а┬а┬а┬а┬ардЬрд░ (рдмреАрдПрдордкреА 180. рд░реАрдбрдбреЗрдЯрд╛ (рдЖрдгрд┐ рддрд╛рдкрдорд╛рди, рдЖрдгрд┐ рджрд╛рдм))
┬а┬а┬а┬а┬а┬а┬а┬а┬а┬а┬а┬аsprintf (рдмрдлрд░, "% .2 рдПрдл рд╕реА% 4.0 рдПрдл рдПрдЪрдкреАрдП", рддрд╛рдкрдорд╛рди, рджрд╛рдм);
┬а┬а┬а┬а┬а┬а┬а┬ардирд╛рд╣реАрддрд░
┬а┬а┬а┬а┬а┬а┬а┬а┬а┬а┬а┬аsprintf (рдмрдлрд░, "рдПрдирдУрдХреЗ");
┬а┬а┬а┬а┬а┬а┬а┬а┬а┬а┬а┬а
┬а┬а┬а┬а┬а┬а┬а┬ардЬрд░ (! рдХрдиреЗрдХреНрдЯ рдХреЗрд▓реЗрд▓реЗ) {
┬а┬а┬а┬а┬а┬а┬а┬а┬а┬а┬а┬аuBit.sleep (500);
┬а┬а┬а┬а┬а┬а┬а┬а}
┬а┬а┬а┬а┬а┬а┬а┬ардирд╛рд╣реАрддрд░
┬а┬а┬а┬а┬а┬а┬а┬а{
┬а┬а┬а┬а┬а┬а┬а┬а┬а┬а┬а┬аuart-> рдкрд╛рдард╡рд╛ (рдмрдлрд░);
┬а┬а┬а┬а┬а┬а┬а┬а┬а┬а┬а┬аuBit.sleep (1000);
┬а┬а┬а┬а┬а┬а┬а┬а}
┬а
┬а┬а┬а┬а}
┬а┬а┬а┬а
┬а┬а┬а┬аrelease_fiber ();
}
рдпрд╛ рд░реЛрдЬреА рдЕрдкрдбреЗрдЯ рдХреЗрд▓реЗ
реирем рдореЗ, реирежрезреп