Alex Varakin replied to the topic 'New Raspberry pi 4 anounced' in the forum. 2 weeks ago

Do you know what distro it is based on?

Read More...

Alex Varakin replied to the topic 'New Raspberry pi 4 anounced' in the forum. 3 weeks ago

rlancaste wrote: When the official image forUbuntu-mate on Raspberry Pi 4 comes out, I will probably go back to using that, since my original script should work just fine for that and I like ubuntu mate better. But I thought it would be good to take this opportunity to make a new script so that those who wish to use Raspbian can have a script that gets them up and running just as well as somebody using ubuntu mate. Plus this gives me a chance to start using and playing with the pi until that time.

I was also under impression that using Raspbian as a base is the best approach but the problem is that Debian, which it is based on, does not have its own PPA and using Ubunty PPA may work but may also not work. So probably the only reliable way of having latest astro software is to build it from source which in my mind is too much hassle for most people.
@rlancaste How do you install latest astro software in your script - from PPA or build it from source?

Alex

Read More...

Alex Varakin replied to the topic 'New Raspberry pi 4 anounced' in the forum. 3 weeks ago

The original Ubuntu server does not have Mate desktop but my script installs it, as well as X Windows and LightDM desktop manager.
It also uninstalls some server software which is not needed.
I intentionally did not install office stuff as it is very heavy and not needed for imaging.

Read More...

Alex Varakin replied to the topic 'New Raspberry pi 4 anounced' in the forum. 3 weeks ago

I never tried running it with real equipment but Ekos with simulator works.
Internal Wifi adapter, wireless mouse and keyboard do not work but I read that it can be fixed by installing modules from Raspbian.
The setup was done half headless: with ssh over Ethernet + display over HDMI.
I think that this method is the best available right now - it removes the dependency on Ubuntu Mate which was very slow to adopt 18.04.
Also hopefully Ubuntu guys will build a proper image for Pi 4 soon so no hacking with firmware would be required.

Alex

Read More...

Alex Varakin replied to the topic 'New Raspberry pi 4 anounced' in the forum. 3 weeks ago

If it helps anyone, I built a Mate based system based on Ubuntu 18.04 server. To make it bootable, the firmware is replaced from raspbian.
Here is a script (actually it is makefile) , which builds the system:
github.com/avarakin/astropi
Nice thing about it is that it is using official Kstars and other repositories so there is no need to build anything from source.

Alex

Read More...

Alex Varakin replied to the topic 'New Raspberry pi 4 anounced' in the forum. 2 months ago

RPI3 runs Ekos+PHD2 just fine. Only platesolving takes some time, especially with long focal length telescopes.

Read More...

Is anyone able to run Ekos on RPI under Ubuntu 18.04 without crashes?
I see that other forum members have the issue with crashes.

Read More...

Alex Varakin replied to the topic 'Ubuntu Mate 18.04.2 (Bionic)' in the forum. 4 months ago

I built an RPI based on 18.04, using the script:
github.com/avarakin/astropi
All is up and running, including WAP, but I am seeing a lot of crashes of Kstars.
Was anyone else able to get 18.04 running? Is Kstars stable for you?

Alex

Read More...

Alex Varakin replied to the topic 'Driver OnStep (LX200 like) for INDI' in the forum. 4 months ago

James,
I think the implemented approach is very safe - even though commands for driving outputs can be sent to the controller for all Aux ports, I don't think any damage can be done because processing the output command is surrounded by #ifdefs like this:

#ifdef Aux7
            if (parameter[1]=='7') { valueAux7=v; static bool init=false; if (!init) { pinMode(Aux7,OUTPUT); init=true; }
  #ifdef Aux7_Analog
              analogWrite(Aux7,v); } else
  #else
              if (v==0) digitalWrite(Aux7,LOW); else digitalWrite(Aux7,HIGH); } else
  #endif
#endif

These #defines are set appropriately in the Pins header files, e.g. in Pins.Ramps14.h we can see the following:
// The multi-purpose pins (Aux3..Aux8 can be analog (pwm/dac) if supported)
#define Aux0          11
#define Aux1          29
#define Aux2          37
#define Aux3          62
#define Aux4          24
#define Aux5          30
#define Aux6           8    // heater
#define Aux7           9    // heater, analog (pwm)
#define Aux7_Analog
#define Aux8          10    // heater, analog (pwm)
#define Aux8_Analog
#define Aux9          39    // general purpose
#define Aux10         41
#define Aux11         43
#define Aux12         45
#define Aux13         47
#define Aux14         32

whereas in Pins.MaxESP2.h we see this:
#define Aux3          21    // Home SW for Axis1 (or I2C SDA)
#define Aux4          22    // Home SW for Axis2 (or I2C SCL)
//#define Aux5          "V0"  // Virtual Aux Pin0 (usually maps to AXIS1_ENC_A_PIN)
//#define Aux6          "V1"  // Virtual Aux Pin1 (usually maps to AXIS1_ENC_B_PIN)
#define Aux7          39    // Limit SW, Status LED2, Reticule, etc.
#define Aux8          25    // Status LED, PPS, Tone, etc.

So based on this, I think that the implementation is very safe.

Alex

Read More...

Alex Varakin replied to the topic 'Driver OnStep (LX200 like) for INDI' in the forum. 4 months ago

Alaine,

Using this feature is very simple: enter a number into a box and push the set button. As a result of it, the following command would be sent to OnStep:
:SXG7,10#
where 7 is port and 10 is value to be sent there.
The ports to be used are board specific. My Ramps based board has PWM analog output on port 7. I use this output for driving flat panel so I can change the brightness of it.
I have no idea which ports are available on other boards.

Here is the corresponding code in OnStep in Command.ino:

if (parameter[0]=='G') { // Gn: General purpose output
          long v=(double)strtol(&parameter[3],NULL,10);
          if ((v>=0) && (v<=255)) {
#ifdef Aux0
            if (parameter[1]=='0') { valueAux0=v; static bool init=false; if (!init) { pinMode(Aux0,OUTPUT); init=true; } if (v==0) digitalWrite(Aux0,LOW); else digitalWrite(Aux0,HIGH); } else
#endif
#ifndef MODE_SWITCH_BEFORE_SLEW_SPI
#ifdef Aux1
            if (parameter[1]=='1') { valueAux1=v; static bool init=false; if (!init) { pinMode(Aux1,OUTPUT); init=true; } if (v==0) digitalWrite(Aux1,LOW); else digitalWrite(Aux1,HIGH); } else
#endif
#ifdef Aux2
            if (parameter[1]=='2') { valueAux2=v; static bool init=false; if (!init) { pinMode(Aux2,OUTPUT); init=true; } if (v==0) digitalWrite(Aux2,LOW); else digitalWrite(Aux2,HIGH); } else
#endif
#endif
#ifdef Aux3
            if (parameter[1]=='3') { valueAux3=v; static bool init=false; if (!init) { pinMode(Aux3,OUTPUT); init=true; }
  #ifdef Aux3_Analog
              analogWrite(Aux3,v); } else
  #else
              if (v==0) digitalWrite(Aux3,LOW); else digitalWrite(Aux3,HIGH); } else
  #endif
#endif
#ifdef Aux4
            if (parameter[1]=='4') { valueAux4=v; static bool init=false; if (!init) { pinMode(Aux4,OUTPUT); init=true; }
  #ifdef Aux4_Analog
              analogWrite(Aux4,v); } else
  #else
              if (v==0) digitalWrite(Aux4,LOW); else digitalWrite(Aux4,HIGH); } else
  #endif
#endif
#ifdef Aux5
            if (parameter[1]=='5') { valueAux5=v; static bool init=false; if (!init) { pinMode(Aux5,OUTPUT); init=true; }
  #ifdef Aux5_Analog
              analogWrite(Aux5,v); } else
  #else
              if (v==0) digitalWrite(Aux5,LOW); else digitalWrite(Aux5,HIGH); } else
  #endif
#endif
#ifdef Aux6
            if (parameter[1]=='6') { valueAux6=v; static bool init=false; if (!init) { pinMode(Aux6,OUTPUT); init=true; }
  #ifdef Aux6_Analog
              analogWrite(Aux6,v); } else
  #else
              if (v==0) digitalWrite(Aux6,LOW); else digitalWrite(Aux6,HIGH); } else
  #endif
#endif
#ifdef Aux7
            if (parameter[1]=='7') { valueAux7=v; static bool init=false; if (!init) { pinMode(Aux7,OUTPUT); init=true; }
  #ifdef Aux7_Analog
              analogWrite(Aux7,v); } else
  #else
              if (v==0) digitalWrite(Aux7,LOW); else digitalWrite(Aux7,HIGH); } else
  #endif
#endif
#ifdef Aux8
            if (parameter[1]=='8') { valueAux8=v; static bool init=false; if (!init) { pinMode(Aux8,OUTPUT); init=true; }
  #ifdef Aux8_Analog
              analogWrite(Aux8,v); } else
  #else
              if (v==0) digitalWrite(Aux8,LOW); else digitalWrite(Aux8,HIGH); } else
  #endif
#endif
#ifdef Aux9
            if (parameter[1]=='9') { valueAux9=v; static bool init=false; if (!init) { pinMode(Aux9,OUTPUT); init=true; } if (v==0) digitalWrite(Aux9,LOW); else digitalWrite(Aux9,HIGH); } else
#endif


Read More...