DEVICES.HPL

EPIC USB EPL Code: ver.50
Written for EEPROM v.5
Checksum: 0xCFDF



connector(FirstExpMod)
{
analog(0);
analog(1);
analog(2);
analog(3);
analog(4);
analog(5);
analog(6);
analog(7);
analog(8);
analog(9);
analog(10);
analog(11);
analog(12);
analog(13);
analog(14);
analog(15);
modrow(0,0);
modrow(0,1);
modrow(0,2);
modrow(0,3);
modrow(0,4);
modrow(0,5);
modrow(0,6);
modrow(0,7);
modrow(0,8);
modrow(0,9);
modrow(0,10);
modrow(0,11);
modrow(0,12);
modrow(0,13);
modrow(0,14);
modrow(0,15);
};

connector(moduleone)
{ analog(0);
analog(1);
analog(2);
analog(3);
analog(4);
analog(5);
analog(6);
analog(7);
analog(8);
analog(9);
analog(10);
analog(11);
analog(12);
analog(13);
analog(14);
analog(15);
modrow(1,0);
modrow(1,1);
modrow(1,2);
modrow(1,3);
modrow(1,4);
modrow(1,5);
modrow(1,6);
modrow(1,7);
modrow(1,8);
modrow(1,9);
modrow(1,10);
modrow(1,11);
modrow(1,12);
modrow(1,13);
modrow(1,14);
modrow(1,15);
};

connector(Rotary)
{
modrow(7,0);
modrow(7,1);
modrow(7,2);
modrow(7,3);
modrow(7,4);
modrow(7,5);
modrow(7,6);
modrow(7,7);
modrow(7,8);
modrow(7,9);
modrow(7,10);
modrow(7,11);
modrow(7,12);
modrow(7,13);
modrow(7,14);
modrow(7,15);
};

connector(Econ2)
{
modrow(14,0);
modrow(14,1);
modrow(14,2);
modrow(14,3);
modrow(14,4);
modrow(14,5);
modrow(14,6);
modrow(14,7);
modrow(14,8);
modrow(14,9);
modrow(14,10);
modrow(14,11);
modrow(14,12);
modrow(14,13);
modrow(14,14);
modrow(14,15);
};

connector(Econ) //for events
{
modrow(15,0);
modrow(15,1);
modrow(15,2);
modrow(15,3);
modrow(15,4);
modrow(15,5);
modrow(15,6);
modrow(15,7);
modrow(15,8);
modrow(15,9);
modrow(15,10);
modrow(15,11);
modrow(15,12);
modrow(15,13);
modrow(15,14);
modrow(15,15);
};

//DEVICE 0
device(Yoke)
{ connector(moduleone);

analog(0, Roll, X);
analog(1, Pitch, Y);
analog(4, Rudder, Z);
analog(7, brake_right, Ry);
analog(8, brake_left, Rx);

button(2,6,gear_dummy); //Toggle Landing Gear
button(2,7,gear); //Toggle Landing Gear
button(5,1,trim_up); //Trim Down
button(5,2,trim_right); //Trim Right
button(5,3,trim_dn); //Trim Up
button(5,4,btn0); //Aileron Tri Center
button(5,5,trim_left); //Trim Left
button(6,0,brakes); //Brakes
button(6,2,btn1); //Flaps Retract
button(6,3,btn2); //Flaps Extend
button(6,5,ap_disengage); //Flaps Full Retract


};


//DEVICE 1
device(Throttle) //-- THROTTLE QUADRANT
{
connector(FirstExpMod);
analog(2, Port, X); //-- THROTTLE 1
analog(3, Starboard, Y); //-- THROTTLE 2
analog(5, Flaps, Z);
analog(6, Spoilers, Rx);
};

//DEVICE 2
device(Rotaries)
{
connector(Rotary);

button(0,0, NAV1set);
button(0,1, NAV1dir);
button(0,2, NAV1CRSset);
button(0,3, NAV1CRSdir);
button(0,4, XPDRset);
button(0,5, XPDRdir);
button(0,6, COM1set);
button(0,7, Radio_dir);

button(1,0, ALTset);
button(1,1, ALTdir);
button(1,2, VSset);
button(1,3, VSdir);
button(1,4, IASset);
button(1,5, IASdir);
button(1,6, HDGset);
button(1,7, HDGdir);

//button(2,0, ALTset);
//button(2,1, ALTdir);
//button(2,2, VSset);
//button(2,3, VSdir);
//button(2,4, IASset);
//button(2,5, IASdir);
//button(2,6, HDGset);
//button(2,7, HDGdir);
};


//DEVICE 3
device(Buttons)
{
connector(moduleone);
//AP Pushbuttons
button(0, 3, alt_hold_on);
button(0, 4, vs_on );
button(0, 5, app_on );
button(0, 6, cmd_r_on );
button(0, 7, loc_on );
button(1, 0, at_arm );
button(1, 1, lnav_on );
button(1, 2, vnav_on );
button(1, 3, flch_on );
button(1, 4, MCP_APL );
button(1, 5, MCP_SPD );
button(1, 6, thr_on );
button(1, 7, hdg_hold_on);

//Radio Stack Pushbuttons
button(8,0, FREQUENCY_SWAP);
button(8,3, COM_RADIO);
button(8,4, Sel_NAV2);
button(8,6, NAV_RADIO);
button(3,7, Radio_PWR);
button(12,5, COM1_Toggle);
button(12,6, NAV1_Toggle);
button(12,7, XPDR_Toggle);
};


//DEVICE 4
device(Events_R) //-- ALL ROTARY EVENTS
{
connector(Econ);

button(0,0,AP_SPD_VAR_DEC); // this is event 00
button(0,1,AP_SPD_VAR_INC);
button(0,2,HEADING_BUG_DEC);
button(0,3,HEADING_BUG_INC);
button(0,4,AP_VS_VAR_DEC);
button(0,5,AP_VS_VAR_INC); // this is event 05
button(0,6,AP_ALT_VAR_DEC);
button(0,7,AP_ALT_VAR_INC);
button(1,0,COM_RADIO_WHOLE_DEC);
button(1,1,COM_RADIO_WHOLE_INC);
button(1,2,COM_RADIO_FRACT_DEC); // this is event 10
button(1,3,COM_RADIO_FRACT_INC);
button(1,4,NAV1_RADIO_WHOLE_DEC);
button(1,5,NAV1_RADIO_WHOLE_INC);
button(1,6,NAV1_RADIO_FRACT_DEC);
button(1,7,NAV1_RADIO_FRACT_INC); // this is event 15
button(2,0,NAV2_RADIO_WHOLE_DEC);
button(2,1,NAV2_RADIO_WHOLE_INC);
button(2,2,NAV2_RADIO_FRACT_DEC);
button(2,3,NAV2_RADIO_FRACT_INC);
};

//DEVICE 5
device(Virtual_Axis)
{
connector(Econ);

analog(VIRTUAL, NAV1_CRS, X, MEM16, , 0, 0xFFFF);
analog(VIRTUAL, NAV2_CRS, Y, MEM16, , 0, 0xFFFF);
// analog(VIRTUAL, MCP_VS, Z, MEM16, , 0, 0xFFFF);
// analog(VIRTUAL, MCP_ALT, Rx,MEM16, , 0, 0xFFFF);
};


//DEVICE 6 (Added to get a Joystick POV)
device(Device6)
{
connector(Econ);
analog(VIRTUAL, DUMMY, X, MEM16, , 0, 0xFFFF);
};

//DEVICE 7
device(Display)
{
connector(Econ);
analog(VIRTUAL, DUMMY, X, MEM16, , 0, 0xFFFF);

//AUTOPILOT DISPLAYS

display(VSzero, 2, 0, "00", true);
display(VS_, 2, 2, "99", true);
display(VS_SIGN, 2, 4, "0", true);
display(HDG_, 2, 5, "000", true);
display(ALTzero, 2, 8, "00", true);
display(ALT_, 2, 10, "999", true);
display(IAS, 2, 13, "000", true);

display(Test1, 2, 16, "999.99", true);
display(Test2, 2, 21, "000", true);
display(Test3, 2, 24, "999.99", true);
display(Test4, 2, 29, "000", true);


//NAV1 RADIO
display(NAV1_LO, 2, 35, "00", true);
display(NAV1_HI, 2, 37, "000.", true);
display(NAV1_CRS, 2, 32, "000", true);

//Transponder
display(xpdrD1, 2, 40, "0", true);
display(xpdrD2, 2, 41, "0", true);
display(xpdrD3, 2, 42, "0", true);
display(xpdrD4, 2, 43, "0", true);
display (xpdrD, 2, 40, "9999", true);


//COMM Radio
display(COM1_ACT_LO, 2, 52, "00", true);
display(COM1_ACT_HI, 2, 54, "00.", true);
display(COM1_STB_LO, 2, 48, "00", true);
display(COM1_STB_HI, 2, 50, "00.", true);

//NAV2 RADIO

display(NAV2_LO, 2, 59, "00", true);
display(NAV2_HI, 2, 61, "000.", true);
display(NAV2_CRS, 2, 56, "000", true);

};