This How-to describes the Time Synchronization functionality as part of the releases from May 2012 onward.
Timetagger Episode
A Time Synchronization System is used to synchronize the internal Qinsy clock and the Microsoft Windows system clock to UTC time.
This time tracking app works in tandem with any calendar application. It automatically searches your calendar for entries and adds them to your timesheet. Any entry you make in a calendar app is automatically pushed into Timetag. In it, you can run detailed reports on the projects you work on, and see how your time is distributed. Download Timetag Explorer for free. Software interface for scientific instrument. Small C# application to use a commercial time tag device. But players of Rette Sich wer Kann, lured in by a fairly quick and simple rules explanation, might be surprised at the ninety minute timetag. (For more on rules explanation, see The Finer Points of Teaching Rules.) Lifespan of a Strategy.
In Qinsy the name PPS was commonly used to refer to time synchronization of the internal Qinsy clock to UTC.
All the incoming data that does not have its own UTC timetag is timestamped in the driver based on this internal Qinsy clock.
Naming background: PPS is a slightly old fashioned name; there are many more possible ways to synchronize the Qinsy clock e.g. NTP, serial string etc. The display is named DspTimeSync.
Only a single Time Synchronization system is allowed per template.
Time synchronization can be very accurate (better than 0.5 milliseconds) when using a Qinsy Time Synchronization Adapter which interfaces a TTL 1pulse per second (Time Synchronization) signal from a GPS receiver into the computer.
If this is not used an averaging of incoming time tags is used; this will be less accurate but stable.
Surveying without the Time Synchronization Adapter should only be done when the timing requirements are not so strict, e.g. because all timing critical sensor data is already UTC time tagged in the system itself or when no multibeam sounders are used.
In Database Setup the Time Synchronization system can be defined in a wizard with two pages: the first page will set up what type of time tag is used (e.g. ZDA GGA NTP) and on which port it is arriving, on the second page the COM port of the Time Synchronization Adapter can be selected.
For more info on the Time Synchronization adapter refer to the Knowledge Base article under header Hardware - QPS Fix Boxes: 'QPS PPS and Fix Adapter'.
On this page:
MSWindows Clock synchronization
While online with the Controller the MSWindows Clock is synchronized every time it deviates from the internal Qinsy clock more than a hard coded offset (couple of milliseconds).
Although Qinsy could run without a properly synchronized clock it is strongly advised to keep this enabled because there are some drivers that rely on it, for example Klein 3000/3900/5000 driver.
The only valid reason to disable synchronization is when another program is setting the MSWindows Clock already and it's operation is interfered by Qinsy.
This can for example happen when one computer is shared by Qinsy and the Reson 7K topside software.
In that case please use the driver: 'Third Party synchronized Windows system time - 18' listed in the Drivers Manual.
Info
As of April 2012 it is possible to use a single serial port to transfer Time tags and positions from a GPS receiver to Qinsy.
For more info refer to the Driver pages.
Time Sync modes of operation
In general there are two modes for time synchronization:
- Time tags only
When a time tag arrives it is assumed that it reports the UTC time that it was transmitted. Note that any deviation from this rule will result in a time offset. Around 60 seconds of incoming time tags are maintained in a buffer. A mean arrival time is calculated from it to guarantee a steady Qinsy clock.
If you are using only a GGA/RMC/GGK string without pulse this may be subject to latency in the GPS receiver again resulting in a time offset. Therefore it is advised to always use a Time Synchronization pulse for accurate timing.
- Time tags and Time Synchronization Pulses
Two consecutive pulses are used to calculate a very steady Qinsy clock. Time tags are matched automatically to the pulses based on their arrival times.
For accurate time synchronization we advise to always use a QPS Time Synchronization adapter since this is by far the most accurate method. NTP is second best and can be reasonably accurate for local networks.
Estimated time synchronization accuracies
How accurate the time synchronization will be depends on the type of synchronization.
Below a table with typical accuracies is shown.
These are estimates and depending on the situation they may be worse or better.
Type | Estimated Accuracy (milliseconds) |
---|---|
Time Synchronization Adapter + Time tag | < 0.5 |
SNTP (Simple Network Time Protocol) | < 2 (local network) |
NMEA ZDA time tag serial/or network UDP | < 5 |
NMEA GGA/GGK/RMC | Depends on output latency of GPS |
Time Synchronization Display
The TimeSync display is divided into three panes:
- (LEFT) The event list which will show the incoming time tags, pulses and Time calculation results.
- (TOP RIGHT) Status grid and Last Error grid pane. This shows the current status of the Qinsy and MSWindows time.
- (BOTTOM RIGHT) The chart pane. This will show a time plot of the various parameters.
The look of the panes can be customized by the user through the Options dialog.
Size, position and the customized options will be stored in an *.xml file (in Local App Data).
In the following paragraphs the panes will be described in more detail.
Event List pane
The event list view will show a chronological overview of incoming time tags, Time Synchronization pulses and time calculation results.
The view contains three columns, from left to right: the time an event occurred, the description of the event and the accuracy (only for time sync result).
Each type of event has its own icon:
Pulse arrived
Time tag arrived
Valid time synchronization result calculated
Erroneous time synchronization result
With the right mouse button over the list view a selection can be made of the types that are shown (see also the Options dialog).
You can also pause scrolling through this menu in case an event needs to be inspected closer.
Status Grid pane
The status grid shows various info about the time synchronization.
With different colors (Green, Red, Orange) it will indicate its status.
Status
This shows the status of the last time that a sync calculation was carried outOK [Matching method]; Time Sync working fine (Green color) Error [Matching method]; an error occurred (Red)
The Matching Method reflects the Pulse Timetag matching method from Database Setup and can be one of the following strings:
- Time Tag Pulse Auto Matching,
- Time Tag Before Pulse,
- Time Tag After Pulse,
- Time Tag Only.
Accuracy
This will indicate the accuracy of the time synchronization.
When a pulse is interfaced the measured time between the pulses minus 1 second is a measure for accuracy.
For time tag only mode the accuracy is determined by the variation in arrival of the time tag messages.
The color is determined by the accuracy:Accuracy (msec) Color Meaning < 1 msec Green Excellent Accuracy > 1 and < 10 Orange Limited Accuracy > 10 Red (bad accuracy, investigate!) - Last Synchronization
Show the time the clock was last set for both the Qinsy clock and the Windows system clock.
For Qinsy in principle every time a valid time sync is calculated the Qinsy internal clock is updated.
The Windows system clock is only set when it starts to deviate from the Qinsy clock.- If the synchronization of the Windows system time was disabled in the setup the it will show 'Disabled'.
Green Color indicates success,
Orange color indicates that the Windows clock could not be set, this can happen if the current user has limited user rights and therefore the API call SetSystemTime fails. If this occurs set administrator rights for the user account:
UAC in Windows Vista and 7
- Time Tag Arrival
This shows the amount of milliseconds that the time tag that was matched to the Time Synchronization pulse arrived before or after the pulse occured. (When no Time Synchronization Adapter was interfaced it shows the arrival with respect to the Qinsy clock zero-second crossing).
For example if a time tag arrives 100 milliseconds before the pulse then this shows '100 [msec] before the pulse'. If it arrives half a second after the pulse this shows: '500 [msec] after the pulse'.
Time Tag Accuracy
This is an interesting figure that gives an indication whether the reported time tag coincides with the arrival time. For accurate (e.g. NMEA ZDA) time tags the accuracy figure should be around zero.
For example when the Timetag arrival is reported as 66 msec after the pulse, but the timetag in the NMEA ZDA has .000 seconds fraction, the Accuracy is reported as -66 milliseconds.Info
Note that when the offset exceeds 400 milliseconds in automatic matching mode the label is drawn in red.
This is to indicate to the user that the output timing of the string is not suitable for automatic pulse time tag matching mode.
Chart pane
The lower right pane shows a time plot chart.
The horizontal axis shows the current Qinsy clock time and a user defined history, on the vertical axis various parameters are plotted.
The range of the axes can be changed via the Options dialog.
The vertical axis can have an automatic scale or a fixed scale.
The following series can be presented:
Accuracy | Estimated overall time accuracy. Only updates when no error occurred. |
Clock Adjustment | This shows the amount of adjustment that was carried out on the Qinsy clock during the last update. Only updates when no error occurred. |
Time Tag Marks | Every time a time tag arrives a marker (vertical line) is drawn in the chart (from 0-50 msec). This allows you to see the arrival relationship between pulse and time tag. |
Pulse Marks | Every time a pulse arrives a marker is drawn in the chart (from 0-100 msec). |
The series can be switched on/off in the Options dialog.
Note that in order to see the marks you should select a small horizontal time span.
See below for a screen shot.
The marks will usually only be selected for diagnostic purposes.
Note
It is strongly advised to limit the the horizontal time span to maximum 30 minutes for cpu and memory load considerations!
Preferences
Various options can be set via the Preferences dialog.
All options will be stored in an *.xml file upon closing and retrieved upon startup.
The *.xml file is stored in the Local Application Data folder.
An overview of the options:
- General
Show UTC or local times. This applies to all the times within the display. - List
Show/hide various event types and also pause scrolling. Chart
Show/hide the series in the chart.
The vertical scaling can either use auto scaling or a user defined fixed scale.
For the horizontal scale a time span needs to be entered.Warning
Setting this time span higher than +/- 30 minutes can lead to higher cpu loads and memory load and is therefore only to be used for diagnostic purposes.
If you want to view the pulse and time tag marks set a very small time span or else the chart will fill up too much.
- Alert
If an error condition occurs continuously then after a user definable number of seconds the display will turn red and optionally pops up to indicate the error condition.
Error Codes
In case the time synchronization did not succeed an error message and code are shown.
Below an overview is shown of the possible errors and their possible solutions to apply if an error situation prolongs.
Code | Message | Explanation | Solution |
---|---|---|---|
1 | Unknown Error | An unknown error occurred. | This should not happen, contact QPS. |
2 | Counter not running | Very rare error, you motherboard is not suitable because it lacks a hardware counter. | Get another PC. |
3 | Counter frequency varies | The hardware counter reports a variable frequency, this can happen if your computer uses some form of CPU speed throttling, for example Intel Speed Step, AMD Cool'n'Quiet and PowerNow! technology. This will reduce the hardware counter frequency in order to save power*. | Disable speed throttling in BIOS*. |
4 | Wait for pulses | Only on startup, no Time Synchronization pulses have been received yet. | Check the Time Synchronization Adaptor that it flashes, check pulse cabling. |
5 | No matching timetag found | Pulses are received but time tags did not arrive around that time. | Check that the GPS reciever outputs constantly the timetags. |
6 | Time between pulses is wrong | The measured time between pulses should be exactly one second (within +/- 1 millisecond). | If this error occurs then possibly the serial port you used is not responsive enough to read the signal from the Time Synchronization Adaptor, for example a USB to serial convertor was used. The Time Synchronization Adaptor should be interfaced on a Hardware comport, best directly on the motherboard, or a pci card. Multi-serial cards that are approved for accurate time tagging (e.g. Moxa xx-168) can also be used. Another possible source for this error is again active CPU speed throttling*. |
7 | Missing Pulse | Time between two Time Synchronization pulses is around 2 seconds, this means a pulse was missed. | This can happen on USB serial ports, install Time Synchronization Adapter on a proper hardware serial port. |
8 | No Timetags received | No time tag was received for longer than 5 seconds. | Check connection and GPS receiver. |
9 | No Pulses received | No pulse was received for longer than 5 seconds. | Check the Time Synchronization Adaptor that it flashes, check pulse cabling. |
10 | Wrong timetag interval | The time reported by the time tags fluctuate. | Check the GPS output settings, probably the output triggering is wrong. Ideally the timetag in the output message should coincide with the moment the first character of the message is transmitted. |
Tip
Always disable speed throttling in the BIOS of the motherboard!
Note
Errors 4, 5, 6, 7, 9, 10 can only occur if a Time Synchronization Adaptor is used.
Simulation mode
For training or testing purposes the display can be started stand-alone. It will start a simulation automatically.
Via a mode-less dialog various scenarios can be simulated, the display will respond immediately to the changed parameters.
TimeTag is software that automatically turns your videos and photos into high-quality short movies.
With its patent-pending 'video engine,' it offers the power of professional video software with the ease of Instagram.
Timetager2
The app can be downloaded for free at Apple's App Store.
PROBLEM:
Most us today share our life experiences as a collection of unedited photos and disjointed video clips. But the low quality of these collections does little to make our friends and family feel like they were there with us.
Video Editing software can be used to solve this problem, but it's hard to use, expensive and time consuming. (Creating a one or two-minute video with software like Adobe Premiere or iMovie can take many hours.)
A number of video 'apps' have become available, but they tend to just add text or music to a single video clip. When these apps do allow video editing to take place on your phone, the editing capabilities are extremely limited, as phones are not meant to do heavy processing, especially video processing.
SOLUTION:
With TimeTag, the editing process is handled for you. Just add your photos/videos, select a style template, and TimeTag does all the heavy lifting. If you'd like to add some of your own 'creativity,' you can add music and captions.
And because TimeTag processes your movies 'in the cloud,' there is no processing pressure on your phone.
TRACTION:
Since Q4 2015, the app has experienced 70% growth every month. It currently has 5,000 Monthly Active Users.
80% of users create their first video when they sign up, 65% of users create two or more videos, and 52% of users share their video in their first sitting with the app.
MARKET OPPORTUNITY:
Its main target audience is millennials who currently use Instagram, Snapchat, WhatsApp and SMS, and adults who use Facebook, Email and SMS.
But its market is not only the social sharers: a significant portion of its users prefer to share privately through SMS, Snapchat, and WhatsApp, making its market opportunity even larger.
All told, the company believes its target market to be in the range of 300 million users.
BUSINESS MODEL:
'Freemium'– In Q2 of 2016, the company will launch a freemium model to charge users for individual and packaged style templates and to remove the TimeTag watermark overlay.
Licensing– In 2016, the company will launch its Licensing strategy with large companies. It's going after companies like Polaroid, GoPro, Coca-Cola and McDonalds -- companies that share its millennial audience.
Because its video engine has its own programming and prototyping language, the company is able to create new style templates in days. This is helpful for these licensing deals.
Timetagger Explained
Unlike photo editing software, which is relatively easy to build, video engines are difficult to create, and generally speaking, they require large budgets and teams. TimeTag believes it's been able to create a professional quality video engine with a very small team and budget because it has 50 years of combined experience in Video, Audio, SaaS and User Interface design.
On Time Tag And Title
The company has 9 pending patents on its Video Engine.