// ДАННЫЙ ПРИМЕР МЕНЯЕТ НАПРАВЛЕНИЕ ОСЕЙ:         //
                                                  //
#include <iostream>
#include "../iarduino_I2C_Joystick.h"             //   Подключаем библиотеку для работы с джойстиком I2C-flash.
iarduino_I2C_Joystick joy(0x09);                  //   Объявляем объект joy для работы с функциями и методами библиотеки iarduino_I2C_Joystick, указывая адрес модуля на шине I2C.
                                                  //   Если объявить объект без указания адреса (iarduino_I2C_Joystick joy;), то адрес будет найден автоматически.
int a, b, c;                                      //
                                                  //
void setup(){                                     //
    joy.begin();                                  //   Инициируем работу с джойстиком.
//  Изменение направления оси X:                  //
    joy.getCalibration_X(a, b, c);                //   Читаем установленные  калибровочные значения для оси X в переменные a,b,c.
    joy.setCalibration_X(c, b, a);                //   Сохраняем прочитанные калибровочные значения для оси X, но указываем аргументы в обратном порядке: c,b,a.
//  Изменение направления оси Y:                  //
    joy.getCalibration_Y(a, b, c);                //   Читаем установленные  калибровочные значения для оси Y в переменные a,b,c.
    joy.setCalibration_Y(c, b, a);                //   Сохраняем прочитанные калибровочные значения для оси Y, но указываем аргументы в обратном порядке: c,b,a.
    std::cout << "Направление осей изменено." << '\n';
}                                                 //
                                                  //
void loop(){                                      //
    joy.getPosition(a,b);                         //   Получаем координаты в переменные a и b.
    std::cout << "X:Y=" << a << ":" << b; //   Выводим  координаты джойстика.
    std::cout << " Нажмите <ctrl+c> для выхода." << '\n';
    delay(100);
}

int main()
{
	setup();
	for (;;)
		loop();
}
