The John Deere EIC
The John Deere EIC Developer’s Guide
Developer’s Guide
COPYRIGHT COPYRIGHT20132013 DEERE & COMPANY DEERE & COMPANY Moline, Illinois Moline, Illinois All rights reserved All rights reserved
1
1 Introduction to Introduction to the the EIC EIC Software Software Development Development Kit Kit ... ... 77 1.1
1.1 Licensing Licensing the the EIC EIC SDK ...SDK ... ... 77 1.1.1
1.1.1 The The EIC EIC ClearSpace ClearSpace Forum ...Forum ... .... 77 1.2
1.2 Licensed Licensed vs. vs. Advanced Advanced Features Features ... ... 88 1.3
1.3 EIC EIC Versioning ...Versioning ... 8... 8 1.3.1
1.3.1 EIC EIC Version Version Numbers ...Numbers ... ... 88 1.4
1.4 Installing Installing the the EIC EIC SDK ...SDK ... ... 99 1.5
1.5 Removing Removing the the EIC EIC SDK ...SDK ... ... 1010 1.6
1.6 The The Development Development Environment ...Environment ... ... 1010 1.6.1
1.6.1 The The EIC EIC Model Model Factories Factories ... ... 1111 1.6.2
1.6.2 The The EIC EIC Diagnostic Diagnostic Utility Utility ... ... 1111 1.6.3
1.6.3 EIC EIC API API Help Help File...File... ... 1111 1.7
1.7 Terminology Terminology ... ... 1111 2
2 Understanding the GreenStar™ systemUnderstanding the GreenStar™ system... 15... 15 2.1.1
2.1.1 GreenStar Displays GreenStar Displays ... ... 1515 2.1.2
2.1.2 The The Original Original GreenStar GreenStar Mobile Mobile Processor Processor ... ... 1616 2.1.3
2.1.3 StarFire Position StarFire Position Receiver ...Receiver ... .. 1616 2.1.4
2.1.4 Online Online Customer Customer Support ...Support ... ... 1616 3
3 Introduction to Introduction to the the EIC EIC Framework ...Framework ... ... 1616 3.1
3.1 EIC EIC Models ...Models ... ... 1717 3.1.1
3.1.1 RCD RCD Models Models ... 19... 19 3.1.2
3.1.2 GSD4 GSD4 Models ...Models ... 19... 19 3.2
3.2 EIC EIC Model Model Factories ...Factories ... ... 1919 3.3
3.3 RCD RCD Out-of-Box Out-of-Box Creators ...Creators ... ... 2020 4
4 Target Streams ...Target Streams ... 20.. 20 4.1
4.1 RCD Data RCD Data Files Files and and Target Target Streams ...Streams ... ... 2121 4.1.1
4.1.1 RCD RCD Card Card Structure Structure ... ... 2121 4.1.1.1
4.1.1.1 Profiles Profiles ... 24... 24 4.1.2
4.1.2 RCD RCD Data Data File File Formats ...Formats ... ... 2424 4.1.3
4.1.3 Setup Setup ... 26... 26 4.1.4
4.1.4 Log Log ... 26... 26 4.1.5
4.1.5 Field Field AB AB Curve ...Curve ... ... 2626 4.1.6
4.1.6 Field Field Import/Export ...Import/Export ... 26. 26 4.1.7
4.1.7 Field Field Export Export ... ... 2626 4.1.8
4.1.8 Field Field Flag ...Flag ... 27... 27 4.1.9
4.1.9 Fuel Fuel Diary ...Diary ... ... 2727 4.1.10
4.1.10 Global Global ... 27... 27 4.1.11
4.1.11 Global Global AB AB Curve Curve ... 27. 27 4.1.12
4.1.12 Surface Water Surface Water Management Management ... ... 2828 4.1.13
4.1.13 Tank Tank Fill Fill Calculator ..Calculator ... ... 2828 4.1.14
4.1.14 Transport Log Transport Log ... 28... 28 4.2
4.2 Spatial Spatial Data Data Files Files ... ... 2929 4.2.1
4.2.1 Spatial Spatial Data Data File File Information ...Information ... .. 2929 4.2.2
4.2.2 Raster Raster Grids Grids ... 30... 30 4.3
4.3.1
4.3.1 GSD4 GSD4 Data Data File File Formats ...Formats ... ... 3030 4.3.2 4.3.2 GSS GSS (OriginalGreenStar) ...(OriginalGreenStar) ... 31.. 31 4.3.3 4.3.3 GSB GSB (GreenStarBoundary) ...(GreenStarBoundary) ... ... 3131 4.3.4 4.3.4 GSD GSD (GreenStarFieldDoc) ...(GreenStarFieldDoc) ... ... 3131 4.3.5 4.3.5 VPX VPX (OriginalGreenStarVarietyLocator) ...(OriginalGreenStarVarietyLocator) ... ... 3131 4.3.6 4.3.6 GSP GSP (OriginalGreenStarPrescription) ...(OriginalGreenStarPrescription) ... 31. 31 4.3.7
4.3.7 GSY GSY (GreenStarYield) ...(GreenStarYield) ... 32. 32 4.3.8
4.3.8 Guidance (GreenStarGuidance) ...Guidance (GreenStarGuidance) ... ... 3232 5
5 Creating and Creating and Using TUsing Target Streamarget Streams ...s ... ... 3232 5.1
5.1 Reading Reading and Wand Writing Target riting Target Streams Streams ... .. 3333 5.1.1
5.1.1 Backward Write Backward Write Compatibility Compatibility ... ... 3434 5.2
5.2 Validating Validating Target Target Streams ...Streams ... ... 3535 5.3
5.3 Copying Copying Target Target Streams .Streams ... ... 3636 5.4
5.4 Target Target Stream Stream Capabilities ...Capabilities ... ... 3636 6
6 Developing an Developing an EIC EIC Application ...Application ... ... 3636 6.1
6.1 Reference Reference the the Appropriate Appropriate EIC EIC Libraries Libraries ... ... 3737 6.1.1
6.1.1 Required RCD Required RCD Namespaces ...Namespaces ... ... 3737 6.1.2
6.1.2 Required GSD4 Required GSD4 Namespaces ...Namespaces ... ... 3838 6.2
6.2 HostID, AppID, HostID, AppID, Card Path, Card Path, and and Model Type ...Model Type ... ... 3939 6.3
6.3 Create Create an an Appropriate Appropriate Model Model Factory Factory ... .. 3939 6.4
6.4 Create Create the the Appropriate Appropriate Target Target Streams Streams ... ... 3939 6.4.1
6.4.1 The The CardModel CardModel Class Class ... ... 4040 6.5
6.5 Read or Read or Write to Write to the Appropriate the Appropriate Target Streams Target Streams ... ... 4040 6.6
6.6 Deploying Deploying an an EIC EIC Application ...Application ... ... 4141 6.6.1
6.6.1 Additional Requirements ... Additional Requirements ... .. 4242 6.7
6.7 Error Error Handling Handling ... ... 4242 6.7.1
6.7.1 Exceptions ...Exceptions ... ... 4343 6.7.2
6.7.2 Custom Custom Exceptions...Exceptions... ... 4343 6.7.3
6.7.3 Re-thrown Exceptions Re-thrown Exceptions ... ... 4343 6.7.4
6.7.4 Exception Handling Exception Handling in in Threads Threads ... ... 4444 7
7 EIC Application EIC Application Guidelines Guidelines and and Examples Examples ... .. 4444 7.1
7.1 Creating Creating an an RCD RCD Setup Setup File ...File ... ... 4444 7.2
7.2 Creating aCreating an n RCD Setup RCD Setup File with File with Product Product Details Details ... ... 4747 7.2.1
7.2.1 Product Details Product Details for for Products Products ... ... 4747 7.2.2
7.2.2 Product Details Product Details for for Seed Seed Varieties Varieties ... .. 4747 7.3
7.3 Accessing RCD Log File Information Accessing RCD Log File Information ... .. 5050 7.3.1
7.3.1 RCD RCD Log Log File File Structure Structure ... ... 5151 7.3.1.1
7.3.1.1 Setup Setup ... ... 5353 7.3.1.2
7.3.1.2 Equipment Equipment Configuration ...Configuration ... ... 5353 7.3.1.2.1
7.3.1.2.1 Equipment Equipment configuration & configuration & log blog block ...lock ... ... 5454 7.3.1.3
7.3.1.3 Meters Meters ... 55... 55 7.3.1.4
7.3.1.4 Task Task Region ...Region ... ... 5656 7.3.1.5
7.3.1.5 Navigation Navigation Reference ...Reference ... 57... 57 7.3.2
7.3.2 Accessing RCD Log File Data Accessing RCD Log File Data ... ... 5757 7.3.2.1
7.3.2.1 Preliminary Preliminary Steps Steps ... ... 5858 7.3.2.2
7.3.2.3 Process the Spatial Layers ... 59
7.3.2.4 Equipment Dynamics ... 59
7.3.2.4.1 Recommended Settings ... 60
7.3.2.5 Parse the Target Stream ... 60
7.3.2.6 Data Representations ... 62
7.3.2.7 Read Section and Meter Data ... 63
7.3.2.7.1 Method 1: Obtain data for a specific operation or meter ... 64
7.3.2.7.2 Method 2: Obtain data for all operations and all meters ... 65
7.3.2.7.3 Method 3: Obtain data for equipment configuration ... 65
7.3.2.8 Operation and Meter Relationships ... 66
7.3.3 Infrequently Changing Log Data (*.fdl) ... 68
7.3.4 Frequently Changing Log Data (*.fdd) ... 69
8 Sample EIC Applications ... 70
APPENDIX A: EIC Compatibility with Previous John Deere Data Formats ... 72
APPENDIX B: Crop List ... 74
APPENDIX C: Supported Encodings ... 80
APPENDIX D: Unit and Representation System ... 83
APPENDIX E: RCD Out of Box Types ... 85
APPENDIX F: Calibration Factors ... 92
List of Tables
Table 1 Licensed vs. Advanced Features ... 8Table 2 Terminology Used in this Document ... 11
Table 3 EIC Namespaces ... 18
Table 4 RCD Model Factory Description ... 18
Table 5 RCD Data File Formats ... 24
Table 6 EIC Spatial Files ... 29
Table 7 Spatial Data Hierarchy ... 29
Table 8 GSD4 Data Formats ... 30
Table 9 Target Stream Capabilities... 36
Table 10 Required Namespaces for a Specific Functional Operation ... 38
Table 11 Deployable Library Dependencies ... 41
Table 12 Data Representations ... 62
Table 13 Operations and Meter Domain IDs ... 66
Table 14 Sample EIC Applications... 70
Table 15 EIC Crop List ... 74
Table 16 RCD Language Support ... 80
Table 17 RCD OOB Types ... 85
List of Figures
Figure 1 Original GreenStar display (left) and the GreenStar 2 2600 display (right) ... 16Figure 2 The EIC framework data flow ... 17
Figure 3 Card structure for the GS2 2600, GS2 1800, CommandCenter and GS3 2630 displays ... 24
Figure 5 Configuration Block ... 53
Figure 6 Equipment Configuration ... 53
Figure 7 Meter and Section References ... 54
Figure 8 Meter Log File Structure ... 56
Figure 9 Log Task Region ... 57
Figure 10 Navigation Reference ... 57
Figure 11 RCD configuration block ... 60
Figure 12 : Illustration of EIC accessing earlier versions of GreenStar display data ... 72
Figure 13 EIC backward-write compatibility across minor versions ... 73
Figure 14 Representation System Browser ... 83
Figure 15 Unit System Browser ... 84
C
ONVENTIONSU
S E D IN THISD
OCUMENTThe following conventions are used throughout this document
Numeric
Numbers expressed in the form nn (e.g. 78) are decimal, unless otherwise noted. Numbers expressed in the form 0xnn (e.g. 0x32, 0x1A4) are
hexadecimal.
Code
All code examples are given in the following font and colors:
// First call to GS2ModelFactory.Create() is slower than // subsequent calls, since we are caching data beforhand to // increase serialization performance.
GS2ModelFactory factory = GS2ModelFactory.Create(cardPath, _hostID); ISetupStream stream;
try {
stream = CreateMasterSetup(factory);
Console.WriteLine(string.Format("Exporting setup to {0}...", cardPath)); Debug.Assert(stream.IsValid);
stream.Export(); // This performs automatic validation. Console.WriteLine("Setup exported successfully."); // Look at card model to verify stream was written. RcdCardModel model = factory.CreateCardModel(); Debug.Assert(model.CardPath == cardPath); Debug.Assert(model.SetupStream != null); Debug.Assert(model.GetStreams(TargetStreamType.Setup).Count == 1); Debug.Assert(model.GetStreams(TargetStreamType.Setup)[0] == model.SetupStream); } catch (Exception x) {
Console.WriteLine(x); }
R eferenced Documents
Document Description
EIC SDK Documentation.chm Microsoft Windows compatible help file. This document describes all programming interfaces within the EIC API. Out of Box (RCD Applications).pdf Adobe .pdf formatted file listing all John Deere Out-of-Box
applications, with associated ID and reference ID. John Deere GreenStar 2 Totals
Formulas.pdf
Adobe .pdf formatted file detailing the formulas used by the Greenstar system for summarizing and averaging field data.
1 Introduction to the EIC Software Development Kit
The EIC Software Development Kit (SDK) is a complete redesign of the John Deere EIC programming model. The new EIC SDK exposes John Deere equipment data in a
unified object model. These objects can be accessed or manipulated by developers in any language compliant with the ECMA Common Language Specification (ECMA-334). This new version of the EIC SDK uses Microsoft Windows .NET 2.0 Framework©, which supports the use of all CLS-compliant languages.
1.1 Licensing the EIC SDK
The EIC SDK requires you to obtain a license file ( johndeere.eic.lic ) if you want your application to access the following sets of data:
Guidance data (spatial data such as AB lines, AB curves, boundaries, and circle
tracks)
Surface water management data Business Pack data
Universal Swath Control Pro data
Each of these data sets is licensed individually. Only John Deere Partners can receive EIC license files. At this time, Deere & Co. is only allowing read-only access to the guidance lines stored on the card. This means that in order to obtain a license file enabling guidance line transfer, a separate license agreement must be signed which states that the 3rd party desktop application will not alter or create any guidance lines. A 3rd party desktop application will be able to read the existing guidance lines from the card and write them back unaltered, however.
To obtain an EIC license file, contact the EIC support staff by email at
[email protected]. You must provide a unique application identifier and the entry assembly identifier. The assembly identifier is most likely the ID of the
Windows Forms application. For more information about a unique application identifier, see HostID, AppID, Card Path, and Model Type later in this document.
Once the John Deere EIC team has this information, it will generate a license file for distribution with your application. The license file must reside in the same directory where the EIC libraries are installed on the runtime machine.
Note: If your application is unmanaged and calls the EIC libraries, then the entry assembly GUID will either be empty or the GUID of the first assembly loaded by the unmanaged application. Obtain more information by searching the EIC Help file for System.Reflection.Assembly.GetEntryAssembly().
At runtime, the license file will be checked by the EIC libraries to determine whether your application has the proper permissions to use guidance and surface water management data sets.
1.1.1 The EIC ClearSpace Forum
EIC developers who are John Deere partners can access the John Deere online EIC forum. On the EIC Forum page, you will find EIC announcements, participate in EIC discussions, obtain answers to your questions by EIC staff, and download patches and documentation.
To obtain a user
To obtain a user name and password for the name and password for the EIC Forum, contact the EIC support staff byEIC Forum, contact the EIC support staff by email at
email at [email protected]@JohnDeere.com.. To access the EIC Forum:
To access the EIC Forum: 1.
1. Open an Open an Internet Internet browser browser and and navigate navigate toto
https://jdforums.deere.com/clearspace/index.jspa
https://jdforums.deere.com/clearspace/index.jspa
2.
2. Sign in Sign in with with your useyour user name r name and passwand password.ord. 3.
3. On On thethe John Deere Collaboration ForumsJohn Deere Collaboration Forums page, navigate to the page, navigate to the Spaces
Spaces portion of the page and select portion of the page and select EICEIC.. 4.
4. Your browser Your browser will be will be redirected to redirected to the EIC the EIC Forum.Forum.
1.2
1.2 Licensed
Licensed vs.
vs. Advanced
Advanced Features
Features
The standard features which come with th
The standard features which come with the EIC SDK are known as e EIC SDK are known as licensed features.licensed features. The features for which the SDK user needs a license file are known as advanced The features for which the SDK user needs a license file are known as advanced features. The following table describes the
features. The following table describes the EIC licensed vs. advanced features.EIC licensed vs. advanced features.
Table 1 Licensed vs. Advanced Features Table 1 Licensed vs. Advanced Features
Features
Features Licensed Licensed AdvancedAdvanced
Read/Write setup data excluding jobs
Read/Write setup data excluding jobs XX Read/Write boundary data
Read/Write boundary data XX
Read/Write prescription/reference/variety locator layer data
Read/Write prescription/reference/variety locator layer data XX Read/Write flag layer
Read/Write flag layer XX
Read log data
Read log data XX
Read/Write jobs data
Read/Write jobs data XX
Read/Write guidance data (spatial data such as AB lines, AB Read/Write guidance data (spatial data such as AB lines, AB curves, and circle tracks)
curves, and circle tracks) XX
Read/Write surface water management data
Read/Write surface water management data XX
Read/Write Business Pack data
Read/Write Business Pack data XX
Read/Write Universal Swath Control Pro data
Read/Write Universal Swath Control Pro data XX
1.3
1.3 EIC
EIC Versioning
Versioning
Because EIC interacts with a large
Because EIC interacts with a large variety of John Deere system equipment files, and variety of John Deere system equipment files, and inin order to accommodate future changes to the
order to accommodate future changes to the EIC interface and implementation code,EIC interface and implementation code, John Deere enforces strict v
John Deere enforces strict version control of the EIC API. ersion control of the EIC API. Programmers and users canProgrammers and users can use this versioning strategy to understand
use this versioning strategy to understand the limitations, restrictions, and changes thatthe limitations, restrictions, and changes that might occur between releases of the
might occur between releases of the EIC libraries.EIC libraries.
1.3.1
1.3.1 EIC
EIC Version
Version Numbers
Numbers
EIC API versions are denoted using a standard quadruplet of integers of the following EIC API versions are denoted using a standard quadruplet of integers of the following form:
form: major.minor.patch.buildmajor.minor.patch.build (e.g. (e.g.1.2.0.1441.2.0.144).).
EIC EIC releases releases withwith major major number changes indicate a change that might cause an number changes indicate a change that might cause an
application using a previous version of EIC to fail to compile. Any kind of change application using a previous version of EIC to fail to compile. Any kind of change may occur with a major v
may occur with a major version change. ersion change. These changes might include adding orThese changes might include adding or removing enumerated types, functions, and properties.
removing enumerated types, functions, and properties.
EIC EIC releases releases withwith minor minor number changes indicate API enhancements and number changes indicate API enhancements and
implementation changes. Minor releases can introduce ne
enumerated constants, n
enumerated constants, new properties and new ew properties and new functions. functions. Minor versions mayMinor versions may also deprecate existing functions.
also deprecate existing functions. Deprecating a function simply Deprecating a function simply means that themeans that the [System.Obsolete]
[System.Obsolete] attribute is applied attribute is applied at the function at the function declaration. declaration. For aFor a minor release, existing functionality will not be
minor release, existing functionality will not be removed, but deprecated functionsremoved, but deprecated functions might, a
might, at John Deere’s discretion, be removed in a future release of the EIC.t John Deere’s discretion, be removed in a future release of the EIC.
Changes Changes to to thethepatch number patch number indicate an implementation change that does not indicate an implementation change that does not
affect the API. A patch release will only change function or property affect the API. A patch release will only change function or property implementations. These releases will be used
implementations. These releases will be used to distribute bug fixes, also knownto distribute bug fixes, also known as hot fixes. A hot f
as hot fixes. A hot fix will generally correct any issues associated with existingix will generally correct any issues associated with existing functionality or features.
functionality or features.
The Thebuild number build number indicates the specific EIC build version being released. indicates the specific EIC build version being released.
Refer to Appendix A,
Refer to Appendix A, EIC Compatibility with Previous John Deere Data FormatsEIC Compatibility with Previous John Deere Data Formats forfor specific information about backward read and
specific information about backward read and write compatibility between EIC andwrite compatibility between EIC and earlier data formats.
earlier data formats. Note:
Note: Some of the libraries distributed with EIC are built and maintained using a JohnSome of the libraries distributed with EIC are built and maintained using a John Deere build system separate from the EIC
Deere build system separate from the EIC SDK build system. Therefore these librariesSDK build system. Therefore these libraries will have different versions than the EIC libraries. The following libraries currently use a will have different versions than the EIC libraries. The following libraries currently use a separate versioning system.
separate versioning system.
JohnDeere.RepresentationReference.dll JohnDeere.RepresentationReference.dll JohnDeere.RepresentationSystem.dll JohnDeere.RepresentationSystem.dll JohnDeere.RepresentationSystemBrowser.dll JohnDeere.RepresentationSystemBrowser.dll JohnDeere.UnitSystem.dll JohnDeere.UnitSystem.dll JohnDeere.UnitSystemBrowser.dll JohnDeere.UnitSystemBrowser.dll
1.4
1.4 Installing
Installing the
the EIC
EIC SDK
SDK
The EIC SDK is distributed as
The EIC SDK is distributed as a zipped (compressed) file named EIC_3.x.y.zzz.zipa zipped (compressed) file named EIC_3.x.y.zzz.zip where x is the major version number, y is the minor version number, and zzz is the build where x is the major version number, y is the minor version number, and zzz is the build version of the EIC SDK.
version of the EIC SDK. This file can be extracted
This file can be extracted to any place on your local computer sto any place on your local computer system. ystem. The zip fileThe zip file creates an SDK folder (<drive>:\installation_folder\). The installation requires
creates an SDK folder (<drive>:\installation_folder\). The installation requires approximately 21 MB free space on your disk drive.
approximately 21 MB free space on your disk drive.
Note: The EIC SDK can be installed on computers that have previous version of EIC Note: The EIC SDK can be installed on computers that have previous version of EIC installed.
installed.
After the contents of the
After the contents of the zip file are extracted, yzip file are extracted, you will find:ou will find:
the the EIC EIC libraries,libraries,
the the EIC EIC SDK SDK diagnostics diagnostics utility utility (JohnDeere.EIC.DiagnosticsUI.exe),(JohnDeere.EIC.DiagnosticsUI.exe),
the the\Samples\Samples folder, containing a full folder, containing a full suite of test programs that illustratesuite of test programs that illustrate
development with the EIC SDK, development with the EIC SDK,
the the\Documents\Documents folder, containing a Microsoft-compatible help f folder, containing a Microsoft-compatible help file (ile (EIC SDKEIC SDK
Documentation.chm
Documentation.chm ), a developer’s guide (), a developer’s guide (EIC Developer's Guide.pdf EIC Developer's Guide.pdf ) and a) and a document (
document (Out of Box RCD Applications.pdf Out of Box RCD Applications.pdf ) detailing the Out-of-Box) detailing the Out-of-Box applications distributed with this version of the
applications distributed with this version of the EIC SDK.EIC SDK.
If you intend to write Original GreenStar (GSD4) setup files, you must register If you intend to write Original GreenStar (GSD4) setup files, you must register SavetoCard.dll
SavetoCard.dll , a Microsoft COM library. To register the , a Microsoft COM library. To register the SavetoCard library, do theSavetoCard library, do the following:
1.
1. Open Open a a command command prompt.prompt. 2.
2. Input Input the the following following command:command: {system_path}\regsvr32.exe
{system_path}\regsvr32.exe {eic_path}\SavetoCard.dll{eic_path}\SavetoCard.dll where
where system_pathsystem_path is the location of regsvr32.exe and is the location of regsvr32.exe andeic_patheic_path is the location of is the location of the EIC SDK on your local computer.
the EIC SDK on your local computer. 3. Press
3. Press Enter Enter ..
The EIC SDK requires the
The EIC SDK requires the Microsoft .NET Framework Version 2.0 RedistributableMicrosoft .NET Framework Version 2.0 Redistributable Package (x86) with SP1 be installed on the local
Package (x86) with SP1 be installed on the local machine. machine. For more information, accessFor more information, access the see this link:
the see this link:
((http://www.microsoft.com/downloads/details.aspx?FamilyID=0856EACB-4362-4B0D-
http://www.microsoft.com/downloads/details.aspx?FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&displaylang=en
8EDD-AAB15C5E04F5&displaylang=en))..
1.5
1.5 Removing
Removing the
the EIC
EIC SDK
SDK
Remove the EIC SDK simply by deleting
Remove the EIC SDK simply by deleting the folder where the the folder where the EIC libraries wereEIC libraries were extracted. In addition, if you manually registered the
extracted. In addition, if you manually registered the SavetoCard library, manuallySavetoCard library, manually deregister the library by doing the following:
deregister the library by doing the following:
To register the SavetoCard library, do the following: To register the SavetoCard library, do the following:
1.
1. Open Open a a command command prompt.prompt. 2.
2. Input Input the the following following command:command: {system_path}\regsvr32.exe/u
{system_path}\regsvr32.exe/u {eic_path}\SavetoCard.dll{eic_path}\SavetoCard.dll where
where system_pathsystem_path is the location of regsvr32.exe and is the location of regsvr32.exe andeic_patheic_path is the location of is the location of the EIC SDK on your local computer.
the EIC SDK on your local computer. 3. Press
3. Press Enter Enter ..
1.6
1.6 The
The Development
Development Environment
Environment
EIC applications can be written in
EIC applications can be written in any Integrated Development Environment (IDE) thatany Integrated Development Environment (IDE) that supports the.NET 2.0 Framework©. You can find the
supports the.NET 2.0 Framework©. You can find the Microsoft .NET Framework VersionMicrosoft .NET Framework Version 2.0 Redistributable Package at:
2.0 Redistributable Package at:
((http://www.microsoft.com/downloads/details.aspx?FamilyID=0856EACB-4362-4B0D-
http://www.microsoft.com/downloads/details.aspx?FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&displaylang=en
8EDD-AAB15C5E04F5&displaylang=en)).. It is recommended that new EIC applications
It is recommended that new EIC applications be written using Microsoft Visual Studiobe written using Microsoft Visual Studio 2005© Professional Edition with SP1 or higher.
2005© Professional Edition with SP1 or higher. The EIC SDK Help file displThe EIC SDK Help file displays codeays code examples in C#, C++, and Visual Basic
examples in C#, C++, and Visual Basic .NET. While it is recommended that you .NET. While it is recommended that you useuse these languages to write EIC
these languages to write EIC applications, any CLS complaint language supported bapplications, any CLS complaint language supported b yy Microsoft .NET Framework can be used for
Microsoft .NET Framework can be used for development of EIC applications.development of EIC applications. The EIC sample applications distributed with this SDK
The EIC sample applications distributed with this SDK were coded with Microsoft Visualwere coded with Microsoft Visual Studio C# 2010 Team Edition for Software Developers. Please note that the solution Studio C# 2010 Team Edition for Software Developers. Please note that the solution files in each EIC sample application contain folders, a feature which may or may not be files in each EIC sample application contain folders, a feature which may or may not be supported by your specific version of Visual
supported by your specific version of Visual Studio. Check with your software vendor Studio. Check with your software vendor oror Microsoft Corporation to determine whether solution folder
Microsoft Corporation to determine whether solution folder s are supported.s are supported. The John Deere® EIC SDK
The John Deere® EIC SDK includes the software components required to access includes the software components required to access andand produce data compliant with the John D
the Original GreenStar, GreenStar 2 1800, GreenStar 2 2600 and GreenStar 3 2630 displays. This document refers to the individual displays as follows:
GreenStar 2 2600 display: RCD GreenStar 2 1800 display: RCD GreenStar 3 2630 display: RCD Original GreenStar display: GSD4
This manual contains instructions for installing the EIC SDK, information about the
various EIC data structures, instructions for creating an EIC application, and instructions for deploying an EIC application. Detailed information regarding specific subjects such as language encoding is located in the Appendices of this document.
1.6.1 The EIC Model Factories
The EIC API provides an object template for creating the data structures associated with each GreenStar display model. Using the appropriate data model factory simplifies development by creating all objects appropriate for that display. Additionally, the model factories create interfaces to these objects to provide an extra layer of abstraction.
1.6.2 The EIC Diagnostic Utility
A useful tool distributed with the EIC SDK isJohnDeere.EIC.DiagnosticsUI.exe. This tool can be used to test, verify, and demonstrate your EIC-enabled application. This
Windows-compatible program utilizes all features of the EIC API. Use this program to display EIC data structures, GreenStar log data, spatial log maps, prescriptions, and aerial images. You can also validate and delete EIC data on the data card used by the specific John Deere GreenStar 2 display or the Original GreenStar display.
1.6.3 EIC API Help File
The EIC API is documented in a Microsoft Windows-compatible compiled help file
named EIC SDK Documentation.chm which is distributed with the EIC SDK. Refer to this help file for information about all namespaces, classes, interfaces, methods and
enumerations that make up the EIC API model.
1.7 Terminology
The following table describes the terms used in this document.
Table 2 Terminology Used in this Document
Term Description
A/B line
A/B lines are used for guidance when the GreenStar system is in parallel tracking mode. Also called Track 0 , this line is the reference from which all parallel passes in a field are based. The tractor follows the line
between the A and B point, then auto drives to the left or right by the track spacing distance, then follows another line parallel to the original track. Track 0 can also describe curved and circular paths.
In straight track mode, an equipment operator can be define an A/B line in the following ways:
Specifying a starting point (A) and an ending point (B) for the line. Specifying a starting point (A) and a heading.
Specifying a starting point (A) and driving to a point in the field, which
Term Description
Specifying the latitude and longitude of both points.
A/B Curve
AB Curves are similar to A/B lines, but allows a customer to drive a curved line in the field with two end points. Subsequent field tracks in either direction will be based on the original driven track.
Apex
The John Deere desktop application used to access, display, and
manipulate data card information from the GreenStar systems (GSD4 and GS2).
API Application Programming Interface.
Boundaries
Boundaries delineate an area. The specified boundary must be made up of one exterior and zero or more interior polygons. The RCD system does not support the use of multiple exterior boundaries.
Typically an interior boundary delineates the area of a field where a crop was planted within a field.
Sometimes, with legacy GSD4 systems especially, boundaries are also used for tile lines. In GS2 systems, tile lines are also marked using flags instead of boundaries. Apex allows only one active field boundary at a time. However, you can have any number of crop boundaries active at the same time.
CAN Controller Area Network. CFFT Client, Farm, Field, and Task. CLI
Common Language Infrastructure. CLI is an open specification developed by Microsoft describing the code and runtime environment that comprise the Microsoft .NET Framework.
CLS
Common Language Specification. The CLS is an open specification developed by Microsoft describing the code and runtime environment that allows multiple high level programming languages be used irrespective of different hardware and operating system platforms.
COM
Component Object Model. Developed by Microsoft in 1993, COM
enables interprocess communication and dynamic object creation in any programming language that supports COM.
DAL Data Access Layer. The DAL provides access to data between a desktop application and a data repository.
Control Element
The control element contains a value supplied to the controller by a prescription. This is an ideal value that the controller should achieve. Control elements will only be available when a prescription is used. ECMA
An international standards organization that facilitates the timely creation of a wide range of global Information and Communications Technology (ICT) and Consumer Electronics (CE) standards. It maintains the specification for the C# programming language (ECMA #334).
EIC
The John Deere Equipment Interface Component application
programming interface (API). The EIC API is used by developers and others to read data from and write data to the data cards used by either the GreenStar 2 or Original GreenStar display systems.
FMS
Farm Management System. John Deere uses this term to describe a software package that is capable of tracking tasks, work items, and operations occurring on a farm. The software package must be capable of a minimum set of functions determined by our changing customer needs as it relates to precision farming and operational data flow. Some examples of the functionality required of an FMS are:
Term Description
Tracking inputs (application of chemicals, seeding rates,
environmental inputs such as weather, GPS inputs).
Managing equipment (identification of machine type and
associated data such as hitch offsets and section width. Includes GIS tracking).
Managing workflow.
Documenting outputs (yields, measurements, operational
logging).
GIS Graphical Information System.
GreenStar The John Deere precision agricultural management solution. GS2 The GreenStar 2 2600 display.
GS3 The GreenStar 3 2630 display. GS3B The GreenStar 2 1800 display.
GPS Global Positioning System. GPS is used to enable precise positioning and tracking by the GreenStar system.
GSB A boundary log file produced by the Original GreenStar system (GSD4). A boundary log file describes numerically a topographical boundary. GSD A field documentation log file produced by the Original GreenStar system
(GSD4).
GSD4 The Original GreenStar display. GSS A GSD4 data format for the setup file.
GSY A combine yield mapping log file produced by the Original GreenStar system (GSD4).
GUI Graphical User Interface. GUID
Globally Unique Identifier. This is a presumably unique 128-bit number used by the Microsoft Component Object Model (COM) to identify software application and component interfaces in any context that identification is required.
HMON Calibration Factor
This numerical value is a correction factor to account for the difference between the weight and moisture values recorded by the GreenStar system and the actual weight and moisture values found in the field. The equipment operator calibrates this factor in the field by weighing a small amount of newly harvested crop. The operator then inputs that weight into the GreenStar display. The GreenStar system then calculates the HMON Calibration Factor. After that procedure, the GreenStar display applies the calibration factor to all future readings.
If the farmer wants to obtain consistently accurate data, best practice is to calibrate the equipment several times during a season. This is
particularly true if the moisture of the crop varies between fields and to account for changing weather conditions.
Inoculant
The term inoculant is only applied to silage for Self Propelled Forage Harvesters. Inoculants supply additional lactic acid bacteria to the crop, acting as a catalyst to the fermentation process. Without the appropriate bacteria balance, the chances of silage spoilage increases and animal intake will likely diminish. Additional value realized through accurate inoculant dosing may include decreased silage loss, improved bunk stability, increased digestibility and intake, and increased animal performance.
Term Description
Mapped Rate The rate to be used based on a prescription map. Measured
Element
The measured element contains the actual value measured by the physical sensor. This could be an application rate, wind speed, air temperature, seed depth, etc.IMeter.MeteredElement property. Measured
Rate The rate (of an application) as measured by a sensor. Metered
Element
The metered element contains the value calculated/derived by the controller. Metered elements are used when there is no physical sensor to use for measurement. This is theIMeter.MeteredElement
property
Metered Rate A calculated or derived rate being reported by a meter.
Prescription
Sometimes referred to as anRx, a prescription is essentially a map of what is being planted or sprayed or applied to a field. A prescription is used by the farmer when planting seed or spraying a fertilizer, chemical, or tank mix to a field.
When creating a prescription, you specify what product (crop variety, fertilizer, chemical or tank mix) you will be using. After specifying that information, your EIC-enabled application, if capable, can draw the locations to which the product will be applied. For instance, Apex can auto-generate the locations based on a management zone or a contour of a rate layer. After the regions are specified, the user specifies the rates in each specific area at which the product will be applied, or seeds planted. When created, the user saves the prescription information to the data card for use by the GreenStar © system. The user then places the data card in the GS2 or GSD4 display, and then the GreenStar © system will use the prescription to apply the product at the specified rates at the specified locations without user intervention in the field.
Raster Grid
Araster grid is a regular network of rows and columns covering an entire field.
In GS2, every cell in the grid will have a value. The value can be a prescription rate, variety type or color of an aerial image depending on what purpose for which the grid is being used. Each cell will have the same width and height throughout the field.
When the GreenStar GS2 system needs to know, for instance, the rate of fertilizer to apply at a specific location, it will calculate which row and column that location fails in.
For performance reasons, the GS2 prefers using a raster grid instead of a vector format (in which areas of similar values are delineated using a polygon). Data is often originally in vector format, derived from a soil study, or previous year yield delineation.
RCD
Embedded software application and embedded hardware platform that is designed to control and log aspects of John Deere Ag equipment. Refers specifically to the GreenStar 1800, 2600 and 2630 systems.
SDK Software Development Kit. Solution
Microsoft Visual Studio© implements conceptual containers called solutions and projects. While projects contains source files, component references and build instructions, a solution contains one or more
Term Description
EIC SDK provides several solutions as example code. SPFH Self Propelled Forage Harvester
SSB Summer Software Bundle. Usually released in the month of July, theSSB consists of any required updates to the GreenStar system. Target Rate The rate being reported by the controller indicating what the controller isattempting to achieve.
Target Stream
A virtual object-oriented data structure that exposes RCD and GSD4 data. Each logical target stream is matched to data from one or more physical files on the file system; each data file in the GreenStar display systems has a corresponding target stream.
RCD has nine available target streams and the GSD4 has seven target streams.
Target Element
The target element contains a value supplied by the user that the controller attempts to achieve. This target value may be supplied by either the desktop application or the operator in the cab. See the IMeter.TargetElement Property in EIC Help
USB Universal Serial Bus.
WSB Winter Software Bundle. Usually released in the month of January, the WSB consists of any required updates to the GreenStar system.
Variety Locator
This term refers to the EIC function that discovers, from earlier log files, the crop varieties that were planted in a field. This information is used by EIC to determine what crops are being harvested from that field.
2 Understanding the GreenStar ™ system
The John Deere GreenStar system is a complete precision agricultural management solution designed to help customers make better farm management decisions. Utilizing the GreenStar system, John Deere customers can achieve increased operational
efficiency and productivity, leading to important reductions in overall costs. The GreenStar system is comprised of three main components:
The Original GreenStar display or the GreenStar 2 display Original GreenStarMobile Processor (doesn’t apply to GS2) StarFire Position Receiver
2.1.1 GreenStar Displays
The GreenStar displays, together with the associated mobile processors, are rugged field computers that are placed in the equipment cab for easy operator access. The GreenStar display is similar to a computer monitor. The older GSD4 monochrome GreenStar display is easily operated using buttons that access all GreenStar display functions, allowing the operator to view and even edit current and past information while operating the equipment. The newer GS2 GreenStar display offers a larger color display with touch-screen capabilities.
Figure 1 Original GreenStar display (left) and the GreenStar 2 2600 display (right)
2.1.2 The Original GreenStar Mobile Processor
The GreenStar mobile processor is the core of the GreenStar system. This mobile computer attaches to the GreenStar display mounted in the cab of the equipment. It logs information such as farm, field, crop, and spatial data to a PCMCIA data storage card (also known as a PC Card). This card can hold up to 800 hours of data, enough for a whole season’s data for many growers.
2.1.3 StarFire Position Receiver
The John Deere StarFire iTC position receiver is the first in the industry to combine dual-frequency GPS technology with terrain-compensation functionality. The 12 channel StarFire receiver accepts signals from the network of orbiting Global Positioning System satellites and from the John Deere Differential Correction Network. Using these signals, the StarFire position receiver can pinpoint equipment location with exceptional accuracy.
2.1.4 Online Customer Support
John Deere offers online user support on the John Deere StellarSupport site: http://stellarsupport.deere.com/.
3
Introduction to the EIC Framework
The EIC framework exposes data from the data cards used by the GreenStar systems by exposing an in-memory object model. John Deere GreenStar systems accumulate and record considerable amounts of operational, environmental, and geospatial data transmitted by various components of the John Deere equipment being used. For
instance, a combine will have information transmitters called meters that gather raw data from sensors tracking direction, current latitude and long itude, crop weight, etc. and transmit that information to the GreenStar display controller in the cab of the combine. The operator uses the display to control the operation, record certain datasets, and track important operational metrics. This data can be stored on data cards placed in the
display and later read by EIC-enabled applications like Apex.
The figure below shows a high level view of the EIC framework and demonstrates interaction with a desktop application system.
Figure 2 The EIC framework data flow
The EIC API hides many complexities of the GreenStar display data formats from
desktop applications by exposing an object-oriented abstraction layer. This architecture is also designed to accommodate future data formats that may be introduced due to new product features.
John Deere designed the EIC API for:
execution speed: the EIC libraries have minimal performance impact on
applications utilizing them.
reduced memory usage: the EIC libraries provide additional functionality for
allocating and freeing memory used by the EIC data structures.
data safety: the EIC libraries will not execute any algorithms to modify the raw
data unless such operations are explicitly specified.
3.1 EIC Models
The EIC SDK provides interfaces for two separate data models, the RCD data model and the GSD4 data model. The RCD data model encapsulates data from the GreenStar 2 1800, 2600 and 2630 displays. The GSD4 data model encapsulates data from the Original GreenStar display.
All RCD and GSD4 data interfaces are exposed within theJohnDeere.EIC.Models namespace and subsequent child namespaces. These namespaces are clearly identified as RCD or GSx: RCD namespaces relate to the GreenStar GS2 2600,GS3 2630 and GS2 1800 systems; GSx namespaces relate to the Original GreenStar system.
PCMCIA Card (GSD4) Compact Flash Card (GS2/GS3)
ModelsImpl
(Implementation) Desktop Software Application Data Access LayerModels
EIC Framework
DatabaseThese models namespaces are:
Table 3 EIC Namespaces
Namespace Description
JohnDeere.EIC.Models.RCD Contains the RcdCardModel class and interfaces for RCD data (GS2 2600, GS2 1800 and GS3 2630 displays).
JohnDeere.EIC.Models.RCD.ContractorDoc Contains the interfaces relating to the logged Business Pack data.
JohnDeere.EIC.Models.RCD.Enums Enumerations for the RCD files and data.
JohnDeere.EIC.Models.RCD.Log Contains the EquipmentDynamicsInfo class and interfaces for RCD log file data.
JohnDeere.EIC.Models.RCD.Setup Contains interfaces for RCD data such as farm, field, and implement.
JohnDeere.EIC.Models.RCD.Spatial Contains spatial column classes and interfaqces for RCD geographical data.
JohnDeere.EIC.Models.GSx Contains the GSD4 card model class and the data import and export interfaces.
JohnDeere.EIC.Models.GSx.Common Contains GSD4 classes for client, farm, and field and setup information; contains classes for interacting with the legacy GSD4 data files. JohnDeere.EIC.Models.GSx.Enums Enumerations for the GSD4 files and data.
JohnDeere.EIC.Models.GSx.Export Contains classes for GSD4 data objects and object collections of data to be exported to legacy setup or prescription files.
JohnDeere.EIC.Models.GSx.Import Contains classes and enumerations for GSD4 data to be imported from GSD4 data card files.
Implementation of these interfaces and classes are found in the
JohnDeere.EIC.ModelsImpl.dll library. These models are constructed through the use of “Model Factories”. A model factory exists for the legacy John Deere GSD4
display controller and three model factories are presented for John Deere displays that use the EIC RCD architecture. This namespace contains the following classes:
Table 4 RCD Model Factory Description
Class Description
ModelFactory An abstract model factory class with CardPath, HostID, and licensing members.
RcdModelFactory An abstract model factory class that manipulates RCD model objects, including card models to access data streams on the card file system, setup data streams, out of box data types, operations, etc.
This class cannnot be constructed.
GS2ModelFactory A class to create GS2 2600 model objects, including prescription converter.
GS3BModelFactory A class to create GS2 1800 model objects, including profile and prescription converter.
GS3ModelFactory A class to create GS3 2630 model objects, including profile and prescription converter.
GSD4ModelFactory A class to create GSD4 model objects, primarily data streams used by the GSD4 system.
Refer to EIC SDK Help for detailed information regarding specific behavior of these classes and interfaces.
3.1.1 RCD Models
RCD model object interfaces are located in the JohnDeere.EIC.Models.RCD
namespace of the JohnDeere.EIC.Models.dll library. These models encapsulate the data structure of the RCD system files and provide a layer of abstraction for all John Deere GS2 2600, GS3 2630 and GS2 1800 display consoles.
Sample projects in the GS2 subfolder of the sample application solution demonstrate how to interact with the various RCD model objects.
Note: Future GreenStar displays that adhere to the RCD interface standards will be supported by the EIC SDK.
3.1.2 GSD4 Models
GSD4 model objects are located in the JohnDeere.EIC.Models.GSx namespace of the JohnDeere.EIC.Models.dll library. These models encapsulate the data structure of the GSD4 system files and provide a layer of abstraction for the Original Greenstar display consoles.
The sample projects in the GSD4 subfolder of the sample application solution demonstrates how to interact with the various GSD4 model objects.
Note: GSD4 data models have not changed from previous releases of EIC. This should simplify porting legacy EIC applications to this new version of the EIC SDK.
3.2 EIC Model Factories
The EIC API provides object factories for creating the data structures associated with each GreenStar display model. Using the appropriate data model factory simplifies development by creating all objects appropriate for that display.
Each model factory accepts card path and host ID arguments. The card path argument specifies the location of the John Deere data files and the host ID argument is the
unique GUID identifier of your application. See HostID, Card Path, and Model Type later in this document for more information.
As mentioned, these object factory classes are located in the JohnDeere.EIC.ModelsImpl.Factories namespace. To create GS2 2600 model objects, instantiate a
JohnDeere.EIC.ModelsImpl.Factories.GS2ModelFactory instance using the static Create( ) method. The following code instantiates a GS2 model factory.
To create GS2 1800 model objects, instantiate a
JohnDeere.EIC.ModelsImpl.Factories.GS3BModelFactory instance using the static Create( ) method. The following code instantiates a GS3B model factory.
GS3BmodelFactory gs3bFactory = GS3BmodelFactory.Create(cardPath, _hostID); To create GS3 2630 model objects, instantiate a
JohnDeere.EIC.ModelsImpl.Factories.GS3modelFactory instance using the static Create( ) method. The following code instantiates a GS3 model factory.
GS3ModelFactory gs3Factory = GS3ModelFactory.Create(cardPath, _hostID); To create GSD4 model objects, instantiate a
JohnDeere.EIC.ModelsImpl.Factories.GSD4ModelFactory instance using the static Create( ) method. The following code instantiates a GSD4 model factory.
GSD4ModelFactory gsd4Factory = GSD4ModelFactory.Create(cardPath, _hostID);
3.3 RCD Out-of-Box Creators
The EIC SDK provides functions for creating most Out-of-Box data accepted by the RCD display systems. These Out-of-Box creators are part of the
JohnDeere.EIC.ModelsImpl.Factories.RCDModelFactory class and have a naming pattern of CreateOutOfBoxXXX () where XXX is the type of object being created. Using these methods populate the data model objects with the appropriate IDs and reference IDs. With this version of the EIC SDK, there is no longer a need to manually populate the data model in your code. The following code example illustrates creating the Out-of-Box user-defined types required in the setup file:
GS2ModelFactory factory = GS2ModelFactory.Create(cardPath, _hostID); IuserDefinedType otherType = factory.CreateOutOfBoxOtherType(); IuserDefinedType balingType = factory.CreateOutOfBoxBalingType();
Refer to the accompanying document Out of Box RCD Applications.pdf for a listing of out of box types that can be created with the RCD model factory with reference IDs. Also see APPENDIX E: RCD Out of Box Types.
4 Target Streams
EIC exposes RCD and GSD4 data files as object-oriented data structures called target streams. These streams are logical entities, not physical entities. Each logical target stream is matched to data from one or more physical files on the file system; each data file in the GreenStar display systems has a corresponding target stream.
All target streams implement the genericJohnDeere.EIC.Models.ItargetStream interface, The ItargetStream interface allows developers to work with all John Deere data in a consistent manner.
RCD target streams are enumerated in the EIC namespace as: JohnDeere.EIC.Models.RCD.Enums.TargetStreamType. GSD4 target streams are enumerated in the EIC namespace as:
JohnDeere.EIC.Models.GSx.Enums.TargetStreamType.
For more information about the interfaces implemented by each target stream, refer to the class diagram outlining the EIC target stream object hierarchies, which can be
accessed in Common/Diagrams.csproj located in the SampleApps.sln solution, or consult the EIC SDK Help file.
Note: EIC data objects are mutable: the data these objects model can change. Therefore EIC data objects are not designed for thread-safety. If your application uses multiple threads, make sure that you take proper precautions to ensure data integrity.
4.1 RCD Data Files and Target Streams
The RCD target streams are logical entities (like the GSD4 streams), not physical
entities. Each logical stream is matched to one or more physical files on the file system and each data file for the displays has a corresponding target stream. As mentioned, in this version of the EIC SDK, almost all of the RCD target streams can both read and write to the appropriate data file.
Many of the RCD target streams encapsulate spatial data. Spatial data is data related to location and orientation; examples include the shape of a field or the sequential location and direction of equipment as it passes over a field.
4.1.1 RCD Card Structure
The physical files for each RCD target stream must be stored under a folder named RCD on the data card. For the GS2 2600 display, this folder should be located off the root folder. For the GS2 1800 display which supports multiple profiles (see §4.1.1.1 for more information), the RCD folder should be located in a sub-folder hierarchy. Figure 3 below shows an example card structure for each display.
Note: The GS2 2600 uses a CF card as the data medium while the GS2 1800 and GS3 2630 uses a USB card.
Figure 3 Card structure for the GS2 2600, GS2 1800, CommandCenter and GS3 2630 displays
4.1.1.1 Profiles
The GS2 1800 and GS3 2630 displays provide the ability to a ssociate a name with a set of data on the data card. This named data is known as a profile and provides the ability for the operator to select a specific set of data in the cab. EIC provides the ability to manage these profiles using the GS3BModelFactory andGS3ModelFactory classes. Please see the API help documentation or the GS2 1800\SampleModelFactory and GS3 2630\SampleModelFactory sample applications for more information.
4.1.2 RCD Data File Formats
The newer RCD architecture, used by the GS2 2600, GS2 1800 and GS3 2630 GreenStar display systems, provides twelve different data formats. The EIC RCD libraries provide the functionality to read from, and write to, eight of these data file
formats, unlike the import-only or export-only functionality of the older GSD4 model. The RCD data formats are summarized in the following table.
Table 5 RCD Data File Formats
File Format Transfer Type Description
File Format Transfer Type Description
(From/To Card) Log Import (From
Card)
Operational and other information collected in the field.
Not available on GS2 1800 displays.
Field AB Curve Import/Export (From/To Card)
Field-specific spatial information regarding AB curves.
Access to this data is restricted to lice nsed users of the EIC SDK.
Field
Import/Export
Import/Export (From/To Card)
Field-specific spatial information regarding curved track lines, boundaries, AB lines and circle tracks.
Access to the guidance data is restricted to licensed users of the EIC SDK.
Field Export Export (To Card)
Field-specific information such as variety locator, reference data (aerial images) and prescription data.
Not available on GS2 1800 displays.
Field Flag Import/Export (From/To Card)
Field-specific spatial information regarding flag session layers.
Fuel Diary Import (From Card)
A complete log of the fuel consumption information for a particular machine.
Access to this data is restricted to lice nsed users of the EIC SDK.
Global Import/Export (From/To Card)
Global field spatial information regarding curved track lines, AB lines and circle tracks. Global information is not field specific and can apply to any field.
Access to this data is restricted to lice nsed users of the EIC SDK.
Global AB Curve
Import/Export (From/To Card)
Global field spatial information regarding AB curves. Global information is not field specific and can apply to any field.
Access to this data is restricted to lice nsed users of the EIC SDK.
Surface Water Management
Import/Export (From/To Card)
Field-specific spatial information regarding contour, best fit levee, ditch track, levee track, survey,
drainage, depression, ditch, and benchmark elevation.
Access to this data is restricted to lice nsed users of the EIC SDK.
Tank Fill Calculator
Import (From Card)
Operational data related to a tank-fill calculator log session.
Access to this data is restricted to lice nsed users of the EIC SDK.
Transport Log Import (From Card)
Operational data related to a transport task log session.
Access to this data is restricted to lice nsed users of the EIC SDK.
The following sections describe each of the RCD target streams.
4.1.3 Setup
The RCD setup stream encapsulates a file named setup.fds. This file consists of setup and configuration information that can be supplied by the user utilizing an EIC-enabled application or by the operator in the equipment cab. Setup information defined by the user includes farms, fields, products, machine information, tasks, and jobs. This information is then written to the data card and becomes available to the equipment operator in the GS2 2600,GS3 2630 or GS2 1800 display consoles.
The information in the setup file is important to more than just the setup stream. Most of the other target streams also require client, farm, and field information.
Note: A master setup file (master_setup.fds) is distributed with the EIC SDK. This file demonstrates all the John Deere Out-of-Box data.
4.1.4 Log
The log stream encapsulates two sources of data on the data card as follows:
A file with an .fdl extension. This file contains categories of data that are
considered to remain relatively static, such as farm name or machine model.
A file with an .fdd extension. This file contains data that frequently changes, such
as elevation, wind speed, or rate of application.
The Infrequently Changing Data and Frequently Changing Data sections later in this document detail each data category.
Note: The GS2 1800 display does not support documentation, so no log files will appear on a GS2 1800 data card.
4.1.5 Field AB Curve
The field AB curve stream encapsulates a file named ABCurves.SpatialCatalog . This stream also encapsulates a set of spatial data files (*.fdShape and*.fdData).
The field AB curve stream contains all AB curve information about a particular field. AB curves are curved guidance lines with a starting point and an ending point consisting each of latitude/longitude. Access to this target stream requires an EIC SDK license.
4.1.6 Field Import/Export
The field import/export stream encapsulates a file name dImportExport.SpatialCatalog . This stream also encapsulates a set of spatial data files (*.fdShape and*.fdData).
The field import/export stream contains the boundary data, A/B lines, curved track lines, and circle tracks for a specific field. Each spatial item present in the file will refer to a shape file that contains the actual spatial data. Access to the guidance lines stored in this target stream requires an EIC SDK license.
Note: The GS2 1800 display does not support headland boundaries. It is possible to export headland boundaries to the card via EIC, but the GS2 1800 will not read them.
4.1.7 Field Export
The field export stream encapsulates a file named ExportOnly.SpatialCatalog . This stream also encapsulates a set of spatial data files (*.fdShape and*.fdData).
This target stream contains the prescription layers, reference layers (aerial images) and variety locator layers for a specified field. Each spatial layer in the file will refer to a paired set of files (*.fdShape and*.fdData) that contain the actual spatial information.
Note: The GS2 1800 display does not support prescriptions, aerial images, background images or variety locators so access to this stream is prohibited by the
GS3BmodelFactory class.
4.1.8 Field Flag
The field flag stream encapsulates a file named [flag-ID].SpatialCatalog . This stream also encapsulates a set of spatial data files (*.fdShape and*.fdData).
This target stream contains flag layers. Flags are used to mark points or sections on the field of special consideration. An example of a flagged point is a rock pile the farmer wants to avoid. Each flag is represented as a spatial layer within the target stream for a specific farm field. Each spatial layer in the file will refer to a paired set of files
(*.fdShape and *.fdData) that contain the actual spatial information.
4.1.9 Fuel Diary
The fuel diary stream encapsulates a file named [machine-ID].bpf.
This target stream contains information relating to fuel usage for a specific machine. The display will create this file when all of the following conditions are met:
There is a Business Pack key available (managed by the display).
The operator has a machine name selected on the display (list provided by
information provided in the setup stream).
When the operator adds, modifies or deletes a fuel diary ticket, there is no
existing fuel diary file for the selected machine name.
The display will open or create this file to store fuel diary ticket information for the desktop system to read.
Once EIC imports the contents of the fuel diary in to the desktop system, this target stream may be deleted. The values that are shown on the display screen are stored in an embedded database, so removing this file from the CF card will not affect operation in the field.
4.1.10 Global
The global stream encapsulates a file namedGlobal.SpatialCatalog . This stream also encapsulates a set of spatial data files (*.fdShape and *.fdData).
This target stream contains information about curved track lines, A/B lines, and circle tracks. A global stream is not tied to a specific field; it can be applied to any field. Access to this target stream requires an EIC SDK license.
4.1.11 Global AB Curve
The global AB curve stream encapsulates a file named ABCurves.SpatialCatalog . This stream also encapsulates a set of spatial data files (*.fdShape and*.fdData).
This target stream contains information about A/B curves. A global AB curve stream is not applied to a specific field; it can be applied to any field. Access to this target stream requires an EIC SDK license.
4.1.12 Surface Water Management
The surface water management stream encapsulates a file named
WaterManagement.SpatialCatalog. This stream also encapsulates a set of spatial data files (*.fdShape and *.fdData).
This target stream contains information about best fit levees, ditch tracks, levee tracks, survey data, drainage maps, depression maps, ditch data, benchmark elevation data, drain designs, and contour data. Access to this target stream requires an EIC SDK license.
4.1.13 Tank Fill Calculator
The tank-fill calculator (TFC) stream encapsulates a file named [TFC session-ID].bpc. The display will create this stream when the TFC session is ended on the display (operator presses the‘Stop Mix’ button). The TFC stream will not be reopened by the display to append data.
A TFC session is a collection of tanks with the same products/components. The
products rates may vary within a TFC session. A new product or product mix will initiate the creation of a new TFC session.
Each sprayed tank contained in the TFC stream contains a collection of one or more task region IDs. These IDs can be used to reference the task region information
contained in the log stream. Each tank is referenced to one or more task regions so the desktop can see which tank was used on which area. A tank can belong to one or more task regions but one task region can not belong to multiple tanks.
Once EIC imports the contents of the TFC session in to the desktop system, this target stream may be deleted.
4.1.14 Transport Log
The transport log stream encapsulates two sources of data on the data card as follows:
A file with a .bpt extension. This file contains information regarding transport
tickets and session information.
A file with a .bpb extension. This file contains data that changes from point to
point including fuel consumption, speed and distance traveled.
The display will create this stream if the Business Pack Key (managed by the display) is available and the operator has selected a machine name from the list. The list on the display will be populated with information provided in the setup stream. A new file will be created for each transport task session. The following conditions determine when a new session begins:
The operator changes client or farm information. The operator selects another job.
After each power cycle on the display, a new transport log stream will be created for the current session. Therefore, it will be possible to have multiple streams for the same transport session. Each stream will include the session configuration so that the desktop application is able to process each of the files separately if necessary.
A transport log stream has no direct relationship to a field. There is an optional field reference, however, within the transport ticket location (see
ItransportTicket.UserDefinedLocation). This is used to define which field a product was loaded or unloaded.
Once EIC imports the contents of the transport log stream in to the desktop system, this target stream may be deleted.
4.2 Spatial Data Files
All spatial target streams consist of one XML file and one or more sets of spatial data files (*.fdShape and*.fdData). The XML file contains the metadata/attributes for the spatial streams while the spatial data files contain the spatial information.
4.2.1 Spatial Data File Information
Spatial data files each consist of a pair of files:
Table 6 EIC Spatial Files
File Extension Description
*.fdShape Contains the geometry information
*.fdData Contains the data associated with each element of the geometry Shape-based files allow a data row to be assigned to each shape. The order that shapes appear in the *.fdShape file matches the order of the data rows in the *.fdData file. For example, data describing thenth shape in the*.fdShape file can be found at row n of the*.fdData file.
Important: In the case of a polygon, point, or line geometry, the elements are called shapes. However, with raster grids the elements are called cells.
The EIC spatial data is modeled after industry-standard GIS shape data. The hierarchy of EIC spatial data is Layer, Shape, Part, and Point.
Table 7 Spatial Data Hierarchy Data Hierarchy Description
Layers Layers are a collection of shapes.
Shapes Shapes can be points, lines or polygons. Shapes contain parts.
Parts Parts contain points.
Parts cannot directly have attribute data associated with them. Parts can only indirectly reference data via the shape to which they belong.
Points Points are X, Y locations; in this case, longitude and latitude. Points cannot directly have attribute data associated with them.