Nofence Data Export README
==========================
This data file is for research purposes only. Please read this README
carefully before interpreting the data. If you have any questions,
please contact us (research@nofence.no).

collars.csv column explanation
==============================
- Time: UTC time of the event
- Serial: Collar serial number
- Message Type: Collar message class, see below for details on
  categories
- Position Time: timestamp of the last known position gathered from the
  internal GNSS receiver
- Latitude: Latitude of the last known position in WGS84
- Longitude: Longitude of the last known position in WGS84
- Fence Status: Virtual fence status (see below for details)
- Collar Status: Collar status (see below for details)
- Mode: Collar mode (see below for details)

Message categories
-------------
With the exception of the poll messages all the messages are locally
buffered on the collar and sent when the collar has
connectivity. Locally buffered messages will thus only be lost if the
collar is without a network connection for a very long time. Depending
on the activity there is enough space to buffer messages for 14 days
or more.
- poll: Poll messages are sent periodically (normally every 15
  minutes) and contain the collar status. If a poll message cannot be
  sent due to poor connectivity it will be lost.
- status: Status messages are sent on the most relevant status
  changes, such as the collar transitioning from an inactive fence to
  an active fence.
- seq: Seq messages are saved every 30 minutes and snapshot the state
  at that time.
- client_warning: Sent when the collar has finished playing a warning
  sound, either because the animal receives an electric pulse, or
  because the animal has understood the warning sound and has turned
  around.
- client_zap: Sent when the collar gives off an electric pulse.

Fence Status
------------
The fence status describes the status of the virtual fence. Possible
fence status:
- NotStarted: "The virtual fence is not active"
- FenceStatus_Normal: The virtual fence is active.
- BeaconContactNormal: The virtual fence is active, but currently
  disabled by the presence of a nearby Beacon
- BeaconContact: The virtual fence is not active and the collar has
  detected the presence of a nearby Beacon
- MaybeOutOfFence: The collar position is outside of the virtual
  fence, but the accuracy is not good enough to trigger warnings. This
  should very rarely happen.
- Escaped: What is says on the tin, the animal wearing a collar has
  escaped.
- FenceStatus_Invalid: The assigned pasture has failed its CRC
  check. Should very rarely happen, the collar will correct itself by
  downloading the pasture data again as soon as it is possible.

Collar Status:
--------------
The collar status describes the status of the collar unit itself. It
can have the following values:
- CollarStatus_Normal: “Normal stage”, the collar is working and not
  in any of the following stages
- OffAnimal: The collar has been completely still for a long time,
  indicating that it has been removed from the animal.
- PowerOff: The collar has powered down due to low battery.
- Sleep: The collar is in the power saving sleep state

Mode:
-----
The mode describes the fence mode and can have the following values:
- Teach: The collar is in teaching mode
- Fence: The collar is in the normal fence mode
- Trace: The collar fence is off but the collar GNSS receive is active
  allowing the collar to be tracked
