001package edu.wpi.first.wpilibj.can;
002//import com.ochafik.lang.jnaerator.runtime.LibraryExtractor;
003//import com.ochafik.lang.jnaerator.runtime.MangledFunctionMapper;
004//import com.sun.jna.Library;
005//import com.sun.jna.Native;
006//import com.sun.jna.NativeLibrary;
007//import com.sun.jna.Pointer;
008//import com.sun.jna.ptr.IntByReference;
009import edu.wpi.first.wpilibj.hal.JNIWrapper;
010import java.nio.ByteBuffer;
011import java.nio.IntBuffer;
012/**
013 * JNA Wrapper for library <b>CAN</b><br>
014 * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
015 * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
016 * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
017 */
018public class CANJNI extends JNIWrapper{
019        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
020        public static final int LM_STATUS_LIMIT_REV = 0x02;
021        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
022        public static final int LM_API_CFG_MAX_VOUT = ((0x00020000 | 0x02000000 | 0x00001c00) | (7 << 6));
023        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
024        public static final int LM_PSTAT_CANERR_B0 = 30;
025        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
026        public static final int LM_API_SPD_DIS = ((0x00020000 | 0x02000000 | 0x00000400) | (1 << 6));
027        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
028        public static final int CAN_MSGID_DTYPE_ACCEL = 0x05000000;
029        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
030        public static final int LM_API_STATUS_FAULT = ((0x00020000 | 0x02000000 | 0x00001400) | (7 << 6));
031        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
032        public static final int CAN_MSGID_API_FIRMVER = 0x00000200;
033        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
034        public static final int LM_API_ICTRL_EN = ((0x00020000 | 0x02000000 | 0x00001000) | (0 << 6));
035        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
036        public static final int CAN_MSGID_API_ENUMERATE = 0x00000240;
037        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
038        public static final int LM_API_SPD_EN = ((0x00020000 | 0x02000000 | 0x00000400) | (0 << 6));
039        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
040        public static final int LM_API_CFG_LIMIT_REV = ((0x00020000 | 0x02000000 | 0x00001c00) | (6 << 6));
041        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
042        public static final int LM_PSTAT_POS_B2 = 11;
043        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
044        public static final int LM_PSTAT_POS_B3 = 12;
045        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
046        public static final int LM_API_VCOMP_EN = ((0x00020000 | 0x02000000 | 0x00000800) | (0 << 6));
047        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
048        public static final int LM_PSTAT_POS_B0 = 9;
049        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
050        public static final int LM_PSTAT_POS_B1 = 10;
051        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
052        public static final int LM_API_HWVER = ((0x00020000 | 0x1f000000) | (5 << 6));
053        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
054        public static final int LM_STATUS_FAULT_ILIMIT = 0x01;
055        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
056        public static final int LM_API_ICTRL_DC = ((0x00020000 | 0x02000000 | 0x00001000) | (5 << 6));
057        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
058        public static final int LM_API_VOLT = (0x00020000 | 0x02000000 | 0x00000000);
059        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
060        public static final int CAN_API_MC_VCOMP = 0x00000800;
061        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
062        public static final int LM_PSTAT_END = 0;
063        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
064        public static final int LM_API_CFG_LIMIT_FWD = ((0x00020000 | 0x02000000 | 0x00001c00) | (5 << 6));
065        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
066        public static final int CAN_MSGID_DTYPE_M = 0x1f000000;
067        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
068        public static final int CAN_API_MC_ICTRL = 0x00001000;
069        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
070        public static final int CAN_API_MC_CFG = 0x00001c00;
071        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
072        public static final int CAN_MSGID_MFR_DEKA = 0x00030000;
073        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
074        public static final int CAN_MSGID_API_SYSRST = 0x00000040;
075        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
076        public static final int LM_REF_QUAD_ENCODER = 0x03;
077        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
078        public static final int LM_API_SYNC_PEND_NOW = 0;
079        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
080        public static final int LM_STATUS_CMODE_CURRENT = 0x01;
081        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
082        public static final int LM_API_STATUS_TEMP = ((0x00020000 | 0x02000000 | 0x00001400) | (3 << 6));
083        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
084        public static final int LM_API_SPD_DC = ((0x00020000 | 0x02000000 | 0x00000400) | (5 << 6));
085        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
086        public static final int CAN_API_MC_POS = 0x00000c00;
087        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
088        public static final int LM_STATUS_LIMIT_SFWD = 0x04;
089        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
090        public static final int LM_API_ICTRL_DIS = ((0x00020000 | 0x02000000 | 0x00001000) | (1 << 6));
091        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
092        public static final int LM_API_VOLT_SET = ((0x00020000 | 0x02000000 | 0x00000000) | (2 << 6));
093        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
094        public static final int CAN_MSGID_API_HEARTBEAT = 0x00000140;
095        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
096        public static final int LM_FAULT_CURRENT = 0x01;
097        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
098        public static final int CAN_MSGID_DTYPE_GYRO = 0x04000000;
099        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
100        public static final int LM_STATUS_FAULT_TLIMIT = 0x02;
101        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
102        public static final int CAN_MSGID_MFR_S = 16;
103        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
104        public static final int LM_API_SPD_T_SET_NO_ACK = ((0x00020000 | 0x02000000 | 0x00000400) | (10 << 6));
105        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
106        public static final int CAN_MSGID_MFR_M = 0x00ff0000;
107        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
108        public static final int LM_STATUS_CMODE_POS = 0x03;
109        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
110        public static final int LM_REF_POT = 0x01;
111        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
112        public static final int LM_HWVER_UNKNOWN = 0x00;
113        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
114        public static final int LM_API_CFG_BRAKE_COAST = ((0x00020000 | 0x02000000 | 0x00001c00) | (3 << 6));
115        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
116        public static final int LM_HWVER_JAG_1_0 = 0x01;
117        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
118        public static final int CAN_MSGID_DEVNO_BCAST = 0x00000000;
119        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
120        public static final int LM_API_VOLT_T_SET = ((0x00020000 | 0x02000000 | 0x00000000) | (5 << 6));
121        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
122        public static final int LM_STATUS_LIMIT_STKY_SREV = 0x80;
123        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
124        public static final int LM_API_ICTRL_IC = ((0x00020000 | 0x02000000 | 0x00001000) | (4 << 6));
125        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
126        public static final int LM_FAULT_COMM = 0x10;
127        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
128        public static final int LM_API_ICTRL_T_SET_NO_ACK = ((0x00020000 | 0x02000000 | 0x00001000) | (9 << 6));
129        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
130        public static final int LM_PSTAT_SPD_B2 = 15;
131        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
132        public static final int LM_PSTAT_SPD_B1 = 14;
133        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
134        public static final int LM_PSTAT_STKY_FLT_CLR = 21;
135        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
136        public static final int LM_PSTAT_SPD_B3 = 16;
137        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
138        public static final int CAN_STATUS_MFG_S = 16;
139        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
140        public static final int LM_API_SPD_SET_NO_ACK = ((0x00020000 | 0x02000000 | 0x00000400) | (11 << 6));
141        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
142        public static final int LM_API_STATUS_LIMIT = ((0x00020000 | 0x02000000 | 0x00001400) | (6 << 6));
143        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
144        public static final int LM_API_VOLT_EN = ((0x00020000 | 0x02000000 | 0x00000000) | (0 << 6));
145        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
146        public static final int LM_API_VOLT_RAMP_DIS = 0;
147        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
148        public static final int LM_PSTAT_TEMP_B0 = 7;
149        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
150        public static final int LM_PSTAT_TEMP_B1 = 8;
151        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
152        public static final int LM_API_POS_IC = ((0x00020000 | 0x02000000 | 0x00000c00) | (4 << 6));
153        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
154        public static final int CAN_MSGID_DTYPE_MOTOR = 0x02000000;
155        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
156        public static final int LM_API_SPD_T_EN = ((0x00020000 | 0x02000000 | 0x00000400) | (7 << 6));
157        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
158        public static final int CAN_MSGID_DEVNO_M = 0x0000003f;
159        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
160        public static final int LM_PSTAT_VOLTBUS_B1 = 4;
161        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
162        public static final int LM_API_UPD_PING = ((0x00020000 | 0x1f000000) | (0 << 6));
163        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
164        public static final int LM_API_POS_T_SET_NO_ACK = ((0x00020000 | 0x02000000 | 0x00000c00) | (10 << 6));
165        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
166        public static final int CAN_MSGID_DEVNO_S = 0;
167        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
168        public static final int LM_API_TRUST_HEARTBEAT = ((0x00020000 | 0x1f000000) | (13 << 6));
169        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
170        public static final int LM_PSTAT_VOLTBUS_B0 = 3;
171        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
172        public static final int LM_PSTAT_SPD_B0 = 13;
173        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
174        public static final int LM_API_CFG = (0x00020000 | 0x02000000 | 0x00001c00);
175        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
176        public static final int LM_PSTAT_FLT_COUNT_COMM = 28;
177        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
178        public static final int CAN_MSGID_API_SYSHALT = 0x00000000;
179        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
180        public static final int LM_API_UPD_DOWNLOAD = ((0x00020000 | 0x1f000000) | (1 << 6));
181        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
182        public static final int LM_API_STATUS_CMODE = ((0x00020000 | 0x02000000 | 0x00001400) | (9 << 6));
183        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
184        public static final int LM_API_VCOMP_IN_RAMP = ((0x00020000 | 0x02000000 | 0x00000800) | (3 << 6));
185        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
186        public static final int LM_STATUS_FAULT_VLIMIT = 0x04;
187        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
188        public static final int LM_STATUS_LIMIT_SREV = 0x08;
189        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
190        public static final int CAN_MSGID_DTYPE_S = 24;
191        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
192        public static final int LM_PSTAT_FLT_COUNT_VOLTBUS = 26;
193        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
194        public static final int CAN_API_MC_STATUS = 0x00001400;
195        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
196        public static final int LM_API_VOLT_T_EN = ((0x00020000 | 0x02000000 | 0x00000000) | (4 << 6));
197        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
198        public static final int LM_API_STATUS_VOLTBUS = ((0x00020000 | 0x02000000 | 0x00001400) | (1 << 6));
199        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
200        public static final int LM_API_UPD = (0x00020000 | 0x1f000000);
201        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
202        public static final int LM_API_UPD_REQUEST = ((0x00020000 | 0x1f000000) | (6 << 6));
203        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
204        public static final int CAN_API_MC_VOLTAGE = 0x00000000;
205        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
206        public static final int LM_API_PSTAT_PER_EN_S3 = ((0x00020000 | 0x02000000 | 0x00001800) | (3 << 6));
207        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
208        public static final int LM_API_PSTAT_PER_EN_S2 = ((0x00020000 | 0x02000000 | 0x00001800) | (2 << 6));
209        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
210        public static final int CAN_API_MC_PSTAT = 0x00001800;
211        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
212        public static final int LM_PSTAT_CANERR_B1 = 31;
213        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
214        public static final int LM_API_PSTAT_PER_EN_S1 = ((0x00020000 | 0x02000000 | 0x00001800) | (1 << 6));
215        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
216        public static final int LM_REF_ENCODER = 0x00;
217        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
218        public static final int LM_API_PSTAT_PER_EN_S0 = ((0x00020000 | 0x02000000 | 0x00001800) | (0 << 6));
219        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
220        public static final int LM_API_STATUS_CURRENT = ((0x00020000 | 0x02000000 | 0x00001400) | (2 << 6));
221        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
222        public static final int LM_API_POS_SET = ((0x00020000 | 0x02000000 | 0x00000c00) | (2 << 6));
223        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
224        public static final int LM_STATUS_LIMIT_STKY_FWD = 0x10;
225        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
226        public static final int LM_API_ICTRL = (0x00020000 | 0x02000000 | 0x00001000);
227        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
228        public static final int LM_HWVER_JAG_2_0 = 0x02;
229        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
230        public static final int CAN_STATUS_MFG_M = 0x00ff0000;
231        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
232        public static final int LM_PSTAT_LIMIT_CLR = 18;
233        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
234        public static final int LM_API_CFG_POT_TURNS = ((0x00020000 | 0x02000000 | 0x00001c00) | (2 << 6));
235        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
236        public static final int LM_API_POS_REF = ((0x00020000 | 0x02000000 | 0x00000c00) | (6 << 6));
237        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
238        public static final int LM_API_SPD_PC = ((0x00020000 | 0x02000000 | 0x00000400) | (3 << 6));
239        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
240        public static final int LM_API_STATUS_VOUT = ((0x00020000 | 0x02000000 | 0x00001400) | (10 << 6));
241        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
242        public static final int CAN_MSGID_API_SYSRESUME = 0x00000280;
243        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
244        public static final int LM_API_UNTRUST_EN = ((0x00020000 | 0x1f000000) | (11 << 6));
245        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
246        public static final int LM_PSTAT_CANSTS = 29;
247        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
248        public static final int LM_API_POS_DC = ((0x00020000 | 0x02000000 | 0x00000c00) | (5 << 6));
249        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
250        public static final int LM_API_STATUS_POS = ((0x00020000 | 0x02000000 | 0x00001400) | (4 << 6));
251        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
252        public static final int LM_API_SPD_SET = ((0x00020000 | 0x02000000 | 0x00000400) | (2 << 6));
253        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
254        public static final int CAN_MSGID_FULL_M = 0x1fffffff;
255        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
256        public static final int LM_API_STATUS_SPD = ((0x00020000 | 0x02000000 | 0x00001400) | (5 << 6));
257        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
258        public static final int LM_PSTAT_STKY_FLT_NCLR = 20;
259        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
260        public static final int LM_API_STATUS = (0x00020000 | 0x02000000 | 0x00001400);
261        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
262        public static final int LM_API_TRUST_EN = ((0x00020000 | 0x1f000000) | (12 << 6));
263        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
264        public static final int LM_API_ICTRL_T_SET = ((0x00020000 | 0x02000000 | 0x00001000) | (7 << 6));
265        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
266        public static final int CAN_STATUS_CODE_M = 0x0000ffff;
267        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
268        public static final int CAN_STATUS_CODE_S = 0;
269        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
270        public static final int LM_API_POS_T_EN = ((0x00020000 | 0x02000000 | 0x00000c00) | (7 << 6));
271        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
272        public static final int LM_API_PSTAT = (0x00020000 | 0x02000000 | 0x00001800);
273        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
274        public static final int LM_PSTAT_FAULT = 19;
275        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
276        public static final int LM_PSTAT_FLT_COUNT_GATE = 27;
277        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
278        public static final int LM_API_ICTRL_T_EN = ((0x00020000 | 0x02000000 | 0x00001000) | (6 << 6));
279        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
280        public static final int CAN_MSGID_API_DEVQUERY = 0x000000c0;
281        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
282        public static final int CAN_MSGID_DTYPE_USONIC = 0x06000000;
283        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
284        public static final int LM_STATUS_CMODE_VCOMP = 0x04;
285        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
286        public static final int LM_API_SPD_T_SET = ((0x00020000 | 0x02000000 | 0x00000400) | (8 << 6));
287        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
288        public static final int LM_API_POS_EN = ((0x00020000 | 0x02000000 | 0x00000c00) | (0 << 6));
289        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
290        public static final int LM_API_VOLT_DIS = ((0x00020000 | 0x02000000 | 0x00000000) | (1 << 6));
291        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
292        public static final int LM_STATUS_LIMIT_FWD = 0x01;
293        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
294        public static final int LM_API_VCOMP_DIS = ((0x00020000 | 0x02000000 | 0x00000800) | (1 << 6));
295        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
296        public static final int LM_REF_INV_ENCODER = 0x02;
297        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
298        public static final int LM_API_CFG_NUM_BRUSHES = ((0x00020000 | 0x02000000 | 0x00001c00) | (0 << 6));
299        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
300        public static final int CAN_MSGID_DTYPE_RELAY = 0x03000000;
301        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
302        public static final int CAN_MSGID_API_DEVASSIGN = 0x00000080;
303        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
304        public static final int LM_API_VOLT_T_SET_NO_ACK = ((0x00020000 | 0x02000000 | 0x00000000) | (7 << 6));
305        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
306        public static final int CAN_API_MC_SPD = 0x00000400;
307        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
308        public static final int LM_API_CFG_ENC_LINES = ((0x00020000 | 0x02000000 | 0x00001c00) | (1 << 6));
309        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
310        public static final int LM_REF_NONE = 0xff;
311        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
312        public static final int LM_FAULT_VBUS = 0x04;
313        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
314        public static final int LM_API_VOLT_SET_RAMP = ((0x00020000 | 0x02000000 | 0x00000000) | (3 << 6));
315        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
316        public static final int LM_API_SPD_REF = ((0x00020000 | 0x02000000 | 0x00000400) | (6 << 6));
317        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
318        public static final int LM_API_STATUS_POWER = ((0x00020000 | 0x02000000 | 0x00001400) | (8 << 6));
319        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
320        public static final int LM_PSTAT_VOLTOUT_B1 = 2;
321        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
322        public static final int LM_API_VCOMP_SET_NO_ACK = ((0x00020000 | 0x02000000 | 0x00000800) | (9 << 6));
323        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
324        public static final int LM_PSTAT_VOLTOUT_B0 = 1;
325        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
326        public static final int LM_API_CFG_LIMIT_MODE = ((0x00020000 | 0x02000000 | 0x00001c00) | (4 << 6));
327        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
328        public static final int LM_PSTAT_VOUT_B1 = 23;
329        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
330        public static final int LM_API_UPD_SEND_DATA = ((0x00020000 | 0x1f000000) | (2 << 6));
331        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
332        public static final int LM_PSTAT_FLT_COUNT_CURRENT = 24;
333        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
334        public static final int LM_PSTAT_VOUT_B0 = 22;
335        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
336        public static final int LM_API_PSTAT_CFG_S0 = ((0x00020000 | 0x02000000 | 0x00001800) | (4 << 6));
337        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
338        public static final int LM_PSTAT_LIMIT_NCLR = 17;
339        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
340        public static final int LM_API_PSTAT_CFG_S1 = ((0x00020000 | 0x02000000 | 0x00001800) | (5 << 6));
341        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
342        public static final int LM_API_PSTAT_CFG_S2 = ((0x00020000 | 0x02000000 | 0x00001800) | (6 << 6));
343        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
344        public static final int LM_API_PSTAT_CFG_S3 = ((0x00020000 | 0x02000000 | 0x00001800) | (7 << 6));
345        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
346        public static final int LM_API_VCOMP_SET = ((0x00020000 | 0x02000000 | 0x00000800) | (2 << 6));
347        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
348        public static final int CAN_MSGID_API_UPDATE = 0x000001c0;
349        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
350        public static final int LM_API_CFG_FAULT_TIME = ((0x00020000 | 0x02000000 | 0x00001c00) | (8 << 6));
351        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
352        public static final int LM_API_STATUS_VOLTOUT = ((0x00020000 | 0x02000000 | 0x00001400) | (0 << 6));
353        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
354        public static final int LM_API_ICTRL_SET = ((0x00020000 | 0x02000000 | 0x00001000) | (2 << 6));
355        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
356        public static final int CAN_MSGID_API_M = 0x0000ffc0;
357        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
358        public static final int LM_STATUS_CMODE_SPEED = 0x02;
359        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
360        public static final int CAN_MSGID_API_CLASS_M = 0x0000fc00;
361        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
362        public static final int LM_API_PSTAT_DATA_S3 = ((0x00020000 | 0x02000000 | 0x00001800) | (11 << 6));
363        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
364        public static final int CAN_MSGID_API_S = 6;
365        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
366        public static final int LM_API_STATUS_FLT_COUNT = ((0x00020000 | 0x02000000 | 0x00001400) | (12 << 6));
367        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
368        public static final int LM_API_PSTAT_DATA_S2 = ((0x00020000 | 0x02000000 | 0x00001800) | (10 << 6));
369        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
370        public static final int LM_API_PSTAT_DATA_S1 = ((0x00020000 | 0x02000000 | 0x00001800) | (9 << 6));
371        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
372        public static final int LM_API_PSTAT_DATA_S0 = ((0x00020000 | 0x02000000 | 0x00001800) | (8 << 6));
373        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
374        public static final int LM_API_ICTRL_PC = ((0x00020000 | 0x02000000 | 0x00001000) | (3 << 6));
375        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
376        public static final int LM_API_POS_PC = ((0x00020000 | 0x02000000 | 0x00000c00) | (3 << 6));
377        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
378        public static final int CAN_MSGID_MFR_LM = 0x00020000;
379        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
380        public static final int LM_API_POS_DIS = ((0x00020000 | 0x02000000 | 0x00000c00) | (1 << 6));
381        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
382        public static final int CAN_MSGID_DTYPE_BCAST = 0x00000000;
383        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
384        public static final int LM_STATUS_CMODE_VOLT = 0x00;
385        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
386        public static final int CAN_STATUS_DTYPE_S = 24;
387        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
388        public static final int LM_API_POS_SET_NO_ACK = ((0x00020000 | 0x02000000 | 0x00000c00) | (11 << 6));
389        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
390        public static final int LM_FAULT_GATE_DRIVE = 0x08;
391        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
392        public static final int CAN_STATUS_DTYPE_M = 0x1f000000;
393        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
394        public static final int LM_STATUS_LIMIT_STKY_REV = 0x20;
395        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
396        public static final int CAN_MSGID_DTYPE_ROBOT = 0x01000000;
397        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
398        public static final int CAN_API_MC_ACK = 0x00002000;
399        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
400        public static final int LM_API_VCOMP = (0x00020000 | 0x02000000 | 0x00000800);
401        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
402        public static final int LM_API_UPD_ACK = ((0x00020000 | 0x1f000000) | (4 << 6));
403        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
404        public static final int LM_API_VCOMP_COMP_RAMP = ((0x00020000 | 0x02000000 | 0x00000800) | (4 << 6));
405        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
406        public static final int LM_API_VCOMP_T_SET_NO_ACK = ((0x00020000 | 0x02000000 | 0x00000800) | (8 << 6));
407        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
408        public static final int LM_API_POS = (0x00020000 | 0x02000000 | 0x00000c00);
409        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
410        public static final int CAN_MSGID_API_SYNC = 0x00000180;
411        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
412        public static final int LM_API_ICTRL_SET_NO_ACK = ((0x00020000 | 0x02000000 | 0x00001000) | (10 << 6));
413        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
414        public static final int LM_PSTAT_CURRENT_B1 = 6;
415        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
416        public static final int LM_API_SPD = (0x00020000 | 0x02000000 | 0x00000400);
417        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
418        public static final int LM_PSTAT_CURRENT_B0 = 5;
419        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
420        public static final int CAN_MSGID_DTYPE_UPDATE = 0x1f000000;
421        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
422        public static final int LM_API_SPD_IC = ((0x00020000 | 0x02000000 | 0x00000400) | (4 << 6));
423        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
424        public static final int LM_API_ACK = (0x00020000 | 0x02000000 | 0x00002000);
425        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
426        public static final int LM_FAULT_TEMP = 0x02;
427        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
428        public static final int LM_API_VCOMP_T_SET = ((0x00020000 | 0x02000000 | 0x00000800) | (6 << 6));
429        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
430        public static final int LM_PSTAT_FLT_COUNT_TEMP = 25;
431        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
432        public static final int LM_API_VOLT_SET_NO_ACK = ((0x00020000 | 0x02000000 | 0x00000000) | (8 << 6));
433        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
434        public static final int CAN_MSGID_DTYPE_GEART = 0x07000000;
435        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
436        public static final int CAN_MSGID_MFR_NI = 0x00010000;
437        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
438        public static final int LM_API_POS_T_SET = ((0x00020000 | 0x02000000 | 0x00000c00) | (8 << 6));
439        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
440        public static final int LM_API_STATUS_STKY_FLT = ((0x00020000 | 0x02000000 | 0x00001400) | (11 << 6));
441        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
442        public static final int LM_API_UPD_RESET = ((0x00020000 | 0x1f000000) | (3 << 6));
443        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
444        public static final int CAN_MSGID_API_ID_M = 0x000003c0;
445        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
446        public static final int LM_API_VCOMP_T_EN = ((0x00020000 | 0x02000000 | 0x00000800) | (5 << 6));
447        /** <i>native declaration : src\main\include\CAN\can_proto.h</i> */
448        public static final int LM_STATUS_LIMIT_STKY_SFWD = 0x40;
449        
450        public static final int CAN_SEND_PERIOD_NO_REPEAT = 0;
451        public static final int CAN_SEND_PERIOD_STOP_REPEATING = -1;
452
453        /* Flags in the upper bits of the messageID */
454        public static final int CAN_IS_FRAME_REMOTE = 0x80000000;
455        public static final int CAN_IS_FRAME_11BIT = 0x40000000;
456
457        public static native void FRCNetworkCommunicationCANSessionMuxSendMessage(int messageID, ByteBuffer data, int periodMs, IntBuffer status);
458        public static native ByteBuffer FRCNetworkCommunicationCANSessionMuxReceiveMessage(IntBuffer messageID, int messageIDMask, ByteBuffer timeStamp, IntBuffer status);
459}