1 (edited by milan209 2017-02-14 22:16:13)

Topic: OLD app REMOTEXY PRO 3.7.5 i need.

Hello Evgeny,
i have for you a big request. VERY IMPORTANT !!! I have payed version RemoteXY PRO 3.8.3.
I had sketch which is working ONLY on my tablet with old / not upgrade version / remotexy pro. BUT my tablet automatic upgraded to new version Remotexy pro. Now is not connected with arduino. Writing me: Connection is established,but interface have unknown control. Try update the app.

PLEASE can send me to my email / i sended you email to info@remotexy.com / , or to GOOGLE PLAY your old REMOTEXY PRO old version. You can marked it like REMOTEXY PRO I.

PLEASE it is possible today? I very need old remotexy pro old program tomorow, but i go to Electric competition http://www.trencianskyrobotickyden.sk/

I have tested sketch on RemoteXY FREE 3.7.5 i finded it. Connected is WORKING. But i not find PRO version 3.7.5.

Thank you very much.

2

Re: OLD app REMOTEXY PRO 3.7.5 i need.

Hello.
We do not send old version.
New version have to work with everything old sketches.
Please, send me your sketch or link to RemoteXY project we will test it.

3

Re: OLD app REMOTEXY PRO 3.7.5 i need.

Hi Evgeny
Near is text from sketch. I tested sketch. Working only with 3.7.5 version. It is problem upload to Google Play too old 3.7.5 version?
Please write me why my sketch not working with 3.8.3 version.
Thank you
Milan.


//////////////////////////////////////////////
//        RemoteXY include library          //
//     use  library  version 2.1.3 or up    //
//   use ANDROID app version 3.4.1 or up    //
//////////////////////////////////////////////

/* RemoteXY select connection mode and include library */

#define REMOTEXY_MODE__SOFTWARESERIAL /*nastavenie knižníc */
#include <SoftwareSerial.h>
#include <RemoteXY.h>

#define REMOTEXY_SERIAL Serial  /* nastavenie komunikácie bluetoth a portov 2 a 3 kde bude bluetoth pripojene */
#define REMOTEXY_SERIAL_RX 2
#define REMOTEXY_SERIAL_TX 3
#define REMOTEXY_SERIAL_SPEED 9600


/* RemoteXY configurate  */

#pragma pack(push, 1)                          /* toto je graficke rozhranie ktore sa vykresli na mobile resp na tablete */
uint8_t RemoteXY_CONF[] =
  { 8,0,244,0,6,5,0,5,35,36
  ,10,27,27,1,4,160,8,3,84,5
  ,2,4,160,6,56,84,5,2,4,32
  ,2,10,6,44,2,4,32,90,11,6
  ,44,2,4,160,21,47,56,5,2,1
  ,0,15,13,12,12,0,76,69,68,0
  ,130,0,32,10,37,30,12,130,0,10
  ,2,80,7,14,129,0,11,6,10,3
  ,0,83,101,114,118,111,32,49,0,130
  ,0,8,55,80,7,14,129,0,9,55
  ,10,3,0,83,101,114,118,111,32,50
  ,0,130,0,1,12,8,40,14,129,0
  ,6,49,10,3,0,83,101,114,118,111
  ,32,51,0,130,0,1,48,18,5,14
  ,130,0,89,13,8,40,14,130,0,79
  ,48,18,5,14,129,0,80,49,10,3
  ,0,83,101,114,118,111,32,52,0,129
  ,0,61,11,21,3,0,65,100,97,109
  ,32,197,160,117,106,97,110,115,107,195
  ,189,0,130,0,69,10,14,5,12,129
  ,0,70,16,17,4,8,65,77,65,86
  ,69,84,0,129,0,73,20,11,4,8
  ,54,56,54,32,66,0,130,0,21,45
  ,56,8,14,129,0,22,45,10,3,0
  ,83,101,114,118,111,32,53,0 };
   
/* this structure defines all the variables of your control interface */
struct {

    /* input variable */

  int8_t joystick_1_x; // =-100..100 x-coordinate joystick position /* vstupne hodnoty ktorymi sa bude ovladat podvozok a otocna zakladna a ramena a dioda */
  int8_t joystick_1_y; // =-100..100 y-coordinate joystick position
  int8_t slider_1; // =-100..100 slider position
  int8_t slider_2; // =-100..100 slider position
  int8_t slider_3; // =-100..100 slider position
  int8_t slider_4; // =-100..100 slider position
  int8_t slider_5; // =-100..100 slider position
  uint8_t button_1; // =1 if button pressed, else =0

    /* other variable */
  uint8_t connect_flag;  // =1 if wire connected, else =0
} RemoteXY;
#pragma pack(pop)

/////////////////////////////////////////////
//           END RemoteXY include          //
/////////////////////////////////////////////

#include <Servo.h>  /* definovanie knižnice pre serva */ 

#define PIN_1_SERVO 4           /* definovanie pinov PWM pre jendotlive serva */
#define PIN_2_SERVO 5
#define PIN_3_SERVO 6
#define PIN_4_SERVO 7
#define PIN_5_SERVO 9

Servo prve_servo;                  /* definovanie serv */
Servo druhe_servo;
Servo tretie_servo;
Servo stvrte_servo;
Servo piate_servo;

/* defined the right motor control pins */
#define PIN_MOTOR_RIGHT_UP 15    /* definovanie pinov praveho motora podvozku */
#define PIN_MOTOR_RIGHT_DN 16
#define PIN_MOTOR_RIGHT_SPEED 17

/* defined the left motor control pins */
#define PIN_MOTOR_LEFT_UP 18     /* definovanie pinov laveho motora podvozku */
#define PIN_MOTOR_LEFT_DN 19
#define PIN_MOTOR_LEFT_SPEED 20

/* defined the LED pin */
#define PIN_BUTTON_1 13    /* definovanie pinu 13 ako pinu pre LED diodu */


/* defined two arrays with a list of pins for each motor */
unsigned char RightMotor[3] = 
  {PIN_MOTOR_RIGHT_UP, PIN_MOTOR_RIGHT_DN, PIN_MOTOR_RIGHT_SPEED};    /* definovanie motorov podvozku */
unsigned char LeftMotor[3] = 
  {PIN_MOTOR_LEFT_UP, PIN_MOTOR_LEFT_DN, PIN_MOTOR_LEFT_SPEED};

/*
   speed control of the motor
   motor - pointer to an array of pins
   v - motor speed can be set from -100 to 100
*/
void Wheel (unsigned char * motor, int v)
{
  if (v>100) v=100;
  if (v<-100) v=-100;
  if (v>0) {
    digitalWrite(motor[0], HIGH);
    digitalWrite(motor[1], LOW);
    analogWrite(motor[2], v*2.55);
  }
  else if (v<0) {
    digitalWrite(motor[0], LOW);
    digitalWrite(motor[1], HIGH);
    analogWrite(motor[2], (-v)*2.55);
  }
  else {
    digitalWrite(motor[0], LOW);
    digitalWrite(motor[1], LOW);
    analogWrite(motor[2], 0);
  }
}



void setup() 
{
  RemoteXY_Init ();
 
  pinMode (PIN_BUTTON_1, OUTPUT);  /* definovanie pinu pre led ako vystupneho */
 
     /* initialization pins */
  pinMode (PIN_MOTOR_RIGHT_UP, OUTPUT);  /* definovanie pinov pre podvozok ako vystupne */
  pinMode (PIN_MOTOR_RIGHT_DN, OUTPUT);
  pinMode (PIN_MOTOR_LEFT_UP, OUTPUT);
  pinMode (PIN_MOTOR_LEFT_DN, OUTPUT);
 

  // TODO you setup code
  prve_servo.attach(PIN_1_SERVO);    /* priradenie pinov k jednotlivym servam */
  druhe_servo.attach(PIN_2_SERVO);
  tretie_servo.attach(PIN_3_SERVO);
  stvrte_servo.attach(PIN_4_SERVO);
  piate_servo.attach(PIN_5_SERVO);

  RemoteXY.slider_1=50;    /* nastavenie sliderov na hodnotu 50 */
  RemoteXY.slider_2=50;
  RemoteXY.slider_3=50;
  RemoteXY.slider_4=50;
  RemoteXY.slider_5=50;
   
}

void loop()  /* od tohoto okamihu sa program neustale opakuje teda od prikazu LOOP */

  RemoteXY_Handler ();
   
      /* manage LED pin */
  digitalWrite(PIN_BUTTON_1, (RemoteXY.button_1==0)?LOW:HIGH); /* ovladanie pinu pre LED */
     
     /* manage the right motor */ /* ovladanie motorov podvozku */
  Wheel (RightMotor, RemoteXY.joystick_1_y - RemoteXY.joystick_1_x);
  /* manage the left motor */
  Wheel (LeftMotor, RemoteXY.joystick_1_y + RemoteXY.joystick_1_x);

  prve_servo.writeMicroseconds(RemoteXY.slider_1*10+1000); /* vypocet PWM signalu pre ovladanie serva pri hodnote 1500 je servo na 0 ked je hodnota 1000 je -90 stupnov a ked je maximalna hodnota zo slidera 100 to jest 100krat 10 plus 1000 tak je vysledok 2000 a vtedy je servo natocene +90 stupnov TAKZE hodnota pre servo motor sa meni podla hodnoty na slideri. Na slideri moze byt hodnota 0 až 100 a po výpočte je hodnota na servo 1000 až 2000 */
  druhe_servo.writeMicroseconds(RemoteXY.slider_2*10+1000);
  tretie_servo.writeMicroseconds(RemoteXY.slider_3*10+1000);
  stvrte_servo.writeMicroseconds(RemoteXY.slider_4*10+1000);
  piate_servo.writeMicroseconds(RemoteXY.slider_5*10+1000);
   
 
}