Welcome to

EclipseDroid Tutorial,

Wolfgang Strickling's Android Eclipse Page

Diese Seite auf Deutsch


EclipseDroid

Screenshot Hauptfenster

EclipseDroid is an astronomic app, computing local circumstances for solar eclipses like the contact times, percentual coverage of the sun etc. EclipseDroid will control cameras, take photos, launch other paps or give optical or acoustic announcements depending on the times of your actual position. As these times and values depend on your location, the app can get them from your phone with GPS or network localization.

New: Now version 4 with a map screen, new optional smart layout, new location selector with location database and the option to download a huge database of eclipses from 3000 BC to 3000 AD. Thanks to Deirdre O'Byrne for her database!
Since 3 EclipseDroid has already an USB support for many Nikon- and Canon cameras.

Most interesting are the so called contact times, i. e. the beginning (1st contact, C1) and the end of the eclipse (4th contact, C4), and the start (second contact, C2) and end (3rd contact, C3) of a total or annular eclipse. For partial eclipses, C2 and C3 are not defined, you only obtain C1 and C4 and the maximum of eclipse.

The eclipse algorithms came from Deirdre O'Byrne's Java Script Eclipse Calculator, thanks to Deirdre!  BTW: Deirdre's Java Script eclipse calculator will work also on your phone offline! Download source code here
Languages: English, German and Italian. Thanks to Alessandro Veronesi for his Italian translation!
If you like to translate EclipseDroid into other languages, please send an email to me ( dr.strickling <at> gmx.de ), it is quite easy!

The Main Screen

On the main screen (see image left) you see the date of the eclipse, whether it is partial, total or annular. Below this, the actual location (may be GPS or network based, can also choose a custom defined location) is shown. To choose another location, click the Menu button and select "Location". You may select GPS localization, let Google search a place by its address or enter coordinates manually.
If chosen GPS or network localization, EclipseDroid updates your location every 50 meters or 10 seconds and calculates new times if necessary.

Below your coordinates in the second field  there are shown the four contact times and the time of mid of eclipse. You see the absolute times and a countdown. Recent events are displayed in gray, future events in green, except those ones in the next five minutes. They are shown in red colour.

In the third field, the next event and its countdown is displayed in a large line. Below this, the current time, the selected timezone and the actual coverage (eclipse magnitude) of the sun. The eclipse magnitude is the amount of the covered solar diameter by the moon.

The main screen updates the countdown timers every second.
Parallel to text output EclipseDroid can speak predefined announcements, you can select or reselect them in the "Settings" menu.Testing the App at the PSE 2011

Below are shown a number of user defined event and action times, like photos or text announcements. These events need a configuration file, the "Actions File", see documentation below. In case of cloudiness, you can check "clouds" to prevent taking photos. If there occurs a sudden opening in the cloud cover, press "Load emergency list". Photos in emergency mode are taken, regardless "clouds" are checked or not. After executing the emergency list, the regular list is loaded again. The emergency button is only visible, if such a list is stored on your SD card.
It is highly recommended to test extensive observation programs carefully! Please do not expect perfect running like a clockwork if you start your tests one week before the eclipse!

ar viewA click on "simulation" starts an eclipse simulation for training and testing purposes. By default, the simulation starts 65 seconds before C2. You can change this value in the settings menu. You can also start a simulation at a free selectable date and time via the settings menu, selecting "Date Simulation".

Photo events, location coordinates or brightness sensor values can be logged in the log file "sdcard/EclipseDroidLog.txt". Check the appropriate options in the settings screen. Remember that the brightness sensor only gives very rough data.

There is also an augmented reality view available. By clicking on "sky" in the home screen you get a life camera picture withthe positions of first and last contact and mid of eclipse in yellow, the rising and setting points. the ecliptic in blue, a compass scale and the positions of the bright planets. The menu button offers some fine adjustment options for the AR screen.



The button "local circumstances" at the bottom of the screen starts 

the local circumstances form.

Screenshot Lokale GegebenheitenThis screen displays all local parameters of the eclipse, starting again with the location, showing some more details like the assumed value of deltaT and the altitude above sea level.
The following lines present the contact times, the altitude and azimuth angle of the event. Azimuth 0° is north, 90° is east, 180° south etc..
The position angle to celestial north is given also, as well as the position angle to local zenith, given in an o'clock value. 12  o'clock is upward direction zenith, 3 o'clock right. If C1 has an o'clock position of 3, this means, that the moon will start the eclipse by touching the solar limb exactly from the right side.

Below are several other parameters, like rise and set times and general parameters of the eclipse, like duration, angle of shadow bands (only for total eclipses), the maximal eclipse magnitude, the umbral depth (100% is in th mid of path of totality)

At the bottom of the page you see a table at which time a certain magnitude (coverage  of solar diameter) occurs, possibly interesting for photographers. This feature can be deselected via the settings menu in the main screen.

Clicking your phone's  menu button enables to copy the text to the clipboard, eg. for saving or sending by email. You can also select to show a NASA map of the eclipse in your web browser.



Other menu options are only available in the main screen.
You can select by pressing the menu button:

A very important feature is

the system clock adjust screen.

screenshot clock adjustHowever, this app can not change the system clock itself, as android protects system settings against change by apps.
EclipseDroid stores and applies internally the offset as a correction parameter.

In this screen you can select the offset (i. e. the error) of  the system clock and the time zone.
If GPS is active, you can also force a synchronization with GPS time. However, my desire has an average delay of about 1 second. The entered value of GPS delay is added to the displayed GPS time. If you have a mobile network connection, i recommend setting "Automatic" date and time in your phone's "Date & time" menu. It seems to be quite precise.

If you do not have a network connection, you can force a continuous synchronization of EclipseDroid's time to GPS time. For unstable GPS connections, deselect it and load a measured GPS offset into the offset input field.

Selection location, date for simulation and selecting an eclipse

There are special screens from teh menu, where you can select the location, the date for simulation and select an eclipse.
With the map screen you will see the global progress of the eclipse. By clicking you can take any position from the map as new position for calculation.

    

Setting up the actions file

A central item of EclipseDroid is the ability to use scripts, launching user defined actions depending on the actual contact times of your location.
To show user defined events, announcements or to take snapshots automatically you must select the "actions file" in the settings menu. This is a kind of CSV file with data rows and semicolon separated columns. Once you have selected the file, you can edit it either using your favorite Android text editor or using EclipseDroid's simple text editor in the menu. The file will look similar like this:

#Contact;Time;Action;Parameter/for TAKEPIC: Comment;Camera;speed;fStop;ISO;+-correction;Image format
REM DEBUG

C2;-20;Play;/sdcard/20sekunden.mp3
C3;-20;Play;/sdcard/20sekunden.mp3
c2;-55;Flash;300
c2;-45;Photo;45 mins before C2;picture-size=640x480;jpeg-quality=50
c2;-35;Show;Shadow Bands!
c2;-20;Show;Covers off!
c2;-10;Photo;Before Totality
c2;-3;TAKEPIC;Bailys Beads;EOS450D;1/1000;16;200;-1;MF
c2;-2;TAKEPIC;Bailys Beads;EOS450D;;;;;
c2;-1;TAKEPIC;Bailys Beads;EOS450D;0.01;8;400;-1;SN
c2;0;takepic;Bailys Beads;EOS450D;1/200;;200;;RAW
c0;0;Photo;Totality
c3;+35;Show;Shadow Bands!
C3;+20;Show;Covers on!
C3;+120;Show;Game over, serve Champaign
A;12:00:00;show;Noon @UTC, let's have lunch
A;19:35:20;SHOW;Sunrise 5:35:20
A;19:37:58;SHOW;P1 5:37:58
A;20:35:08;SHOW;U1 6:35:08
A;23:48:24;SHOW;U4 9:48:24
A;24:45:34;SHOW;P4 10:45:34
mid;0;Show;Mid of eclipse

REM this is a remark
# This is also a remark
// This is also a remark
If there is an emergency list present, it may look like this:

#Contact (E=Emergency);Time[s];Action;Comment;Camera;speed;fStop;ISO;+-correction;Image format
REM DEBUG

E;0;takepic;T1;EOS450D;0.01;;100;;mf
E;2;takepic;T2;EOS450D;1/500;;200;;r
E;3;takepic;T3;EOS450D;0.02;;400;;s

Do not finish the emergency file with a long time exposure, as the regular list will be loaded after execution!

Each line consists of a minimum of four rows, separated by a semicolon. The meaning of those entries are:
  1. First row: The contact. Can be C1, C2, C3, C4 or Mid or MAX (=C0), relative to the calculated eclipse events.
    There is also the possibility to select absolute times, indicated by the letter "A". A-times are UTC, not local time!!
    For the emergency list choose the letter "E" like Emergency. Then times are counted from the moment when loading the list
  2. Second row: The time. For relative events (C0-C4) it is the time in seconds before (-) or after (+) the contact, absolute timings are given in HH:MM:SS format in UTC.
    Do not enter local times!
  3. Third row: The action. Actions can be:
    SHOW (displaying a text on the main screen),
    PLAY playing an audio file, or
    PHOTO, taking a snapshot with the internal camera.  Photos are generally made with the maximum resolution and the best JPEGquality (jpeg-quality=100) by default.
    TAKEPIC, taking a snapshot with an USB camera.
    FLASH, to release the camera flash, e. g. for launching external cameras like a DSLR. The following number is the flash duration in ms, try something in the range from 100 to 300 ms. My EOS 450D accepts 100 ms.
    LAUNCH, launching an external app.
    It searches first for the application label (case sensitive), then makes case insensitive search, if not found yet it searches for class name (substring, case insensitive).
    Sitll experimental: The USBCOMM Command. Acceps at present LifeViewOff and LifeViewOn, for some CANON caameras. It swithes to LifeView mode, though does not display an image. But this works like the mirror lockup avoiding camera shake by the mirror.
  4. fourth row: The parameter.
    For SHOW it is the message to be displayed on the screen, otherwise the file to be played or to be launched.
    For internal photos you can select a file for storage. If nothing selected, the file name will be "EclipseDroid". The date and time will be added in every case. Chose the desired photo directory in the settings menu of the main screen!
  5. For photos with internal cam you can enter a list of  additional camera parameters. These settings are a bit tricky, so make extensive tests! Wrong parameters have no effect or can even crash the whole app!
    The commands are loaded one by one with the Camera.Parameters.Set method into the camera. Read the android documentation for further details. A sample file of camera settings on my Desire can be downloaded here (from my HTC Desire®). If coordinate acquisition is active (network or GPS), the photos will be geotagged.
  6. For USB Cameras with command TAKEPIC there are more parameters recommended.
    The first parameter is a comment;
    second parameter the camera model as displayed on connect (at present it may be left empty, for future planned multi camera support required);
    third parameter: shutter speed in seconds. Examples: 2, 0.01, 1/100; Use standard values and avoid interim values 1.3 or similar!
    fourth parameter: fStop, like 8.0, 5.6; Usage of standard values is recommended, avoid interim values like 7.1 or similar
    fifth parameter: ISO speed, valid parameters: "a" for automatic, 100; 200 etc. Avoid non standard values like ISO 160 or similar!
    sixth parameter: +- exposure correction;
    seventh parameter: Image format. Valid values: "S", "M", "L", "R", "RAW", "R+L", "SF", "SmallFine", "SNormal", "Medium Fine", "MF"
    If no parameter change is desired, leave one or more fields empty.
    Keep in mind, that your camera has to be in the correct mode. For instance, shutter speed selection is usually not possible in full automatic mode, in full manual mode +- exposure correction will have no effect!

    For using USB functionality please set "USB Debugging" to On in Android Settings, Developer Settings, otherwise the app might crash on certain devices.
The should be stored on your sd card. Default file names are: "/sdcard/EclipseDroid.csv" and "sdcard/EclipseDroidEmergency.csv".
The directive "REM DEBUG" forces EclipseDroid to create a text file with the calculated times of your script for script debugging. It is in the same folder like your actions file, is file name ends with "_Debug.txt".
It is highly recommended to test extensive observation programs carefully! Please do not expect perfect running like a clockwork if you start your tests one week before the eclipse!

For testing the flash mode or camera parameters, you can also try my free apps 'Camera Timer' and 'USB Camera Test'.

Download

Download from my website: EclipseDroid.apk (ca. 580 kB), from the Android market or from AndAppStore.
System requirements: Android 2.0 or higher, for using USB support Android 3.1 or higher, a device supporting USB host mode and an adapter cable.
Download source code of eclipse routines here, an example actions file and the camera settings on the Desire as an example for camera settings

Download here the old Version 2 without USB support.
Download small test app for checking USB capabilities of your device: USBCamera.apk including source code of the USB library PtpLib (Zipped files).

This program is currently also available in the Android market.
For manual download you need an Apk_Installer (see QR-Code in the right) or  the Astro File Explorer. On your phone you have to allow installation of applications from non-Market sources. Activate in your phone's menu in "Settings", "Applications" the check box "unknown sources", otherwise you will not be able to install my applications!

Required Permissions:



Weblinks:

Software for other computers are developed by:

last Update  2013-10-23
The original URL of this page is  http://www.strickling.net/eclipsedroid.htm