D G "__PCM__" 0 0 ""4.084"" D G "__DEVICE__" 0 0 "" D G "__DATE__" 0 0 ""19-Jul-09"" D G "__TIME__" 0 0 ""17:28:15"" "This program provides a microstepping stepper motor controller down to 1/128th step achieved using PWM" D G "ENABLE_HW_ENCODER" 0 65 "" D G "ENABLE_STEPPER" 0 67 "" D G "_STDDEF" 1 13 "" D G "ptrdiff_t" 1 16 "unsigned int8" D G "size_t" 1 21 "unsigned int8" D G "wchar_t" 1 22 "char" D G "NULL" 1 23 "0" D G "offsetof" 1 25 "(s,f) (offsetofbit(s,f)/8)" d G "PIN_A0" 3 19 "40" d G "PIN_A1" 3 20 "41" d G "PIN_A2" 3 21 "42" d G "PIN_A3" 3 22 "43" d G "PIN_A4" 3 23 "44" d G "PIN_A5" 3 24 "45" d G "PIN_B0" 3 26 "48" d G "PIN_B1" 3 27 "49" d G "PIN_B2" 3 28 "50" d G "PIN_B3" 3 29 "51" d G "PIN_B4" 3 30 "52" d G "PIN_B5" 3 31 "53" d G "PIN_B6" 3 32 "54" d G "PIN_B7" 3 33 "55" d G "PIN_C0" 3 35 "56" d G "PIN_C1" 3 36 "57" d G "PIN_C2" 3 37 "58" d G "PIN_C3" 3 38 "59" d G "PIN_C4" 3 39 "60" d G "PIN_C5" 3 40 "61" d G "PIN_C6" 3 41 "62" d G "PIN_C7" 3 42 "63" d G "PIN_D0" 3 44 "64" d G "PIN_D1" 3 45 "65" d G "PIN_D2" 3 46 "66" d G "PIN_D3" 3 47 "67" d G "PIN_D4" 3 48 "68" d G "PIN_D5" 3 49 "69" d G "PIN_D6" 3 50 "70" d G "PIN_D7" 3 51 "71" d G "PIN_E0" 3 53 "72" d G "PIN_E1" 3 54 "73" d G "PIN_E2" 3 55 "74" d G "FALSE" 3 58 "0" d G "TRUE" 3 59 "1" d G "BYTE" 3 61 "int8" d G "BOOLEAN" 3 62 "int1" d G "getc" 3 64 "getch" d G "fgetc" 3 65 "getch" d G "getchar" 3 66 "getch" d G "putc" 3 67 "putchar" d G "fputc" 3 68 "putchar" d G "fgets" 3 69 "gets" d G "fputs" 3 70 "puts" d G "WDT_FROM_SLEEP" 3 75 "3" d G "WDT_TIMEOUT" 3 76 "11" d G "MCLR_FROM_SLEEP" 3 77 "19" d G "MCLR_FROM_RUN" 3 78 "27" d G "NORMAL_POWER_UP" 3 79 "25" d G "BROWNOUT_RESTART" 3 80 "26" d G "RTCC_INTERNAL" 3 87 "0" d G "RTCC_EXT_L_TO_H" 3 88 "32" d G "RTCC_EXT_H_TO_L" 3 89 "48" d G "RTCC_DIV_1" 3 91 "8" d G "RTCC_DIV_2" 3 92 "0" d G "RTCC_DIV_4" 3 93 "1" d G "RTCC_DIV_8" 3 94 "2" d G "RTCC_DIV_16" 3 95 "3" d G "RTCC_DIV_32" 3 96 "4" d G "RTCC_DIV_64" 3 97 "5" d G "RTCC_DIV_128" 3 98 "6" d G "RTCC_DIV_256" 3 99 "7" d G "RTCC_8_BIT" 3 102 "0" d G "WDT_18MS" 3 114 "8" d G "WDT_36MS" 3 115 "9" d G "WDT_72MS" 3 116 "10" d G "WDT_144MS" 3 117 "11" d G "WDT_288MS" 3 118 "12" d G "WDT_576MS" 3 119 "13" d G "WDT_1152MS" 3 120 "14" d G "WDT_2304MS" 3 121 "15" d G "T1_DISABLED" 3 127 "0" d G "T1_INTERNAL" 3 128 "0x85" d G "T1_EXTERNAL" 3 129 "0x87" d G "T1_EXTERNAL_SYNC" 3 130 "0x83" d G "T1_CLK_OUT" 3 132 "8" d G "T1_DIV_BY_1" 3 134 "0" d G "T1_DIV_BY_2" 3 135 "0x10" d G "T1_DIV_BY_4" 3 136 "0x20" d G "T1_DIV_BY_8" 3 137 "0x30" d G "T2_DISABLED" 3 142 "0" d G "T2_DIV_BY_1" 3 143 "4" d G "T2_DIV_BY_4" 3 144 "5" d G "T2_DIV_BY_16" 3 145 "6" d G "CCP_OFF" 3 151 "0" d G "CCP_CAPTURE_FE" 3 152 "4" d G "CCP_CAPTURE_RE" 3 153 "5" d G "CCP_CAPTURE_DIV_4" 3 154 "6" d G "CCP_CAPTURE_DIV_16" 3 155 "7" d G "CCP_COMPARE_SET_ON_MATCH" 3 156 "8" d G "CCP_COMPARE_CLR_ON_MATCH" 3 157 "9" d G "CCP_COMPARE_INT" 3 158 "0xA" d G "CCP_COMPARE_RESET_TIMER" 3 159 "0xB" d G "CCP_PWM" 3 160 "0xC" d G "CCP_PWM_PLUS_1" 3 161 "0x1c" d G "CCP_PWM_PLUS_2" 3 162 "0x2c" d G "CCP_PWM_PLUS_3" 3 163 "0x3c" d G "PSP_ENABLED" 3 175 "0x10" d G "PSP_DISABLED" 3 176 "0" d G "SPI_MASTER" 3 183 "0x20" d G "SPI_SLAVE" 3 184 "0x24" d G "SPI_L_TO_H" 3 185 "0" d G "SPI_H_TO_L" 3 186 "0x10" d G "SPI_CLK_DIV_4" 3 187 "0" d G "SPI_CLK_DIV_16" 3 188 "1" d G "SPI_CLK_DIV_64" 3 189 "2" d G "SPI_CLK_T2" 3 190 "3" d G "SPI_SS_DISABLED" 3 191 "1" d G "SPI_SAMPLE_AT_END" 3 193 "0x8000" d G "SPI_XMIT_L_TO_H" 3 194 "0x4000" d G "UART_ADDRESS" 3 200 "2" d G "UART_DATA" 3 201 "4" d G "A0_A3_A1_A3" 3 205 "0xfff04" d G "A0_A3_A1_A2_OUT_ON_A4_A5" 3 206 "0xfcf03" d G "A0_A3_A1_A3_OUT_ON_A4_A5" 3 207 "0xbcf05" d G "NC_NC_NC_NC" 3 208 "0x0ff07" d G "A0_A3_A1_A2" 3 209 "0xfff02" d G "A0_A3_NC_NC_OUT_ON_A4" 3 210 "0x9ef01" d G "A0_VR_A1_VR" 3 211 "0x3ff06" d G "A3_VR_A2_VR" 3 212 "0xcff0e" d G "CP1_INVERT" 3 213 "0x0000010" d G "CP2_INVERT" 3 214 "0x0000020" d G "VREF_LOW" 3 222 "0xa0" d G "VREF_HIGH" 3 223 "0x80" d G "VREF_A2" 3 225 "0x40" d G "ADC_OFF" 3 233 "0" "ADC Off" d G "ADC_CLOCK_DIV_2" 3 234 "0x10000" d G "ADC_CLOCK_DIV_4" 3 235 "0x4000" d G "ADC_CLOCK_DIV_8" 3 236 "0x0040" d G "ADC_CLOCK_DIV_16" 3 237 "0x4040" d G "ADC_CLOCK_DIV_32" 3 238 "0x0080" d G "ADC_CLOCK_DIV_64" 3 239 "0x4080" d G "ADC_CLOCK_INTERNAL" 3 240 "0x00c0" "Internal 2-6us" d G "NO_ANALOGS" 3 243 "7" "None" d G "ALL_ANALOG" 3 244 "0" "A0 A1 A2 A3 A5 E0 E1 E2" d G "AN0_AN1_AN2_AN4_AN5_AN6_AN7_VSS_VREF" 3 245 "1" "A0 A1 A2 A5 E0 E1 E2 VRefh=A3" d G "AN0_AN1_AN2_AN3_AN4" 3 246 "2" "A0 A1 A2 A3 A5" d G "AN0_AN1_AN2_AN4_VSS_VREF" 3 247 "3" "A0 A1 A2 A4 VRefh=A3" d G "AN0_AN1_AN3" 3 248 "4" "A0 A1 A3" d G "AN0_AN1_VSS_VREF" 3 249 "5" "A0 A1 VRefh=A3" d G "AN0_AN1_AN4_AN5_AN6_AN7_VREF_VREF" 3 250 "0x08" "A0 A1 A5 E0 E1 E2 VRefh=A3 VRefl=A2" d G "AN0_AN1_AN2_AN3_AN4_AN5" 3 251 "0x09" "A0 A1 A2 A3 A5 E0" d G "AN0_AN1_AN2_AN4_AN5_VSS_VREF" 3 252 "0x0A" "A0 A1 A2 A5 E0 VRefh=A3" d G "AN0_AN1_AN4_AN5_VREF_VREF" 3 253 "0x0B" "A0 A1 A5 E0 VRefh=A3 VRefl=A2" d G "AN0_AN1_AN4_VREF_VREF" 3 254 "0x0C" "A0 A1 A4 VRefh=A3 VRefl=A2" d G "AN0_AN1_VREF_VREF" 3 255 "0x0D" "A0 A1 VRefh=A3 VRefl=A2" d G "AN0" 3 256 "0x0E" "A0" d G "AN0_VREF_VREF" 3 257 "0x0F" "A0 VRefh=A3 VRefl=A2" d G "ANALOG_RA3_REF" 3 258 "0x1" "!old only provided for compatibility" d G "A_ANALOG" 3 259 "0x2" "!old only provided for compatibility" d G "A_ANALOG_RA3_REF" 3 260 "0x3" "!old only provided for compatibility" d G "RA0_RA1_RA3_ANALOG" 3 261 "0x4" "!old only provided for compatibility" d G "RA0_RA1_ANALOG_RA3_REF" 3 262 "0x5" "!old only provided for compatibility" d G "ANALOG_RA3_RA2_REF" 3 263 "0x8" "!old only provided for compatibility" d G "ANALOG_NOT_RE1_RE2" 3 264 "0x9" "!old only provided for compatibility" d G "ANALOG_NOT_RE1_RE2_REF_RA3" 3 265 "0xA" "!old only provided for compatibility" d G "ANALOG_NOT_RE1_RE2_REF_RA3_RA2" 3 266 "0xB" "!old only provided for compatibility" d G "A_ANALOG_RA3_RA2_REF" 3 267 "0xC" "!old only provided for compatibility" d G "RA0_RA1_ANALOG_RA3_RA2_REF" 3 268 "0xD" "!old only provided for compatibility" d G "RA0_ANALOG" 3 269 "0xE" "!old only provided for compatibility" d G "RA0_ANALOG_RA3_RA2_REF" 3 270 "0xF" "!old only provided for compatibility" d G "ADC_START_AND_READ" 3 274 "7" "This is the default if nothing is specified" d G "ADC_START_ONLY" 3 275 "1" d G "ADC_READ_ONLY" 3 276 "6" d G "L_TO_H" 3 288 "0x40" d G "H_TO_L" 3 289 "0" d G "GLOBAL" 3 291 "0x0BC0" d G "INT_RTCC" 3 292 "0x0B20" d G "INT_RB" 3 293 "0xFF0B08" d G "INT_EXT" 3 294 "0x0B10" d G "INT_AD" 3 295 "0x8C40" d G "INT_TBE" 3 296 "0x8C10" d G "INT_RDA" 3 297 "0x8C20" d G "INT_TIMER1" 3 298 "0x8C01" d G "INT_TIMER2" 3 299 "0x8C02" d G "INT_CCP1" 3 300 "0x8C04" d G "INT_CCP2" 3 301 "0x8D01" d G "INT_SSP" 3 302 "0x8C08" d G "INT_PSP" 3 303 "0x8C80" d G "INT_BUSCOL" 3 304 "0x8D08" d G "INT_EEPROM" 3 305 "0x8D10" d G "INT_TIMER0" 3 306 "0x0B20" d G "INT_COMP" 3 307 "0x8D40" D G "CLOCK" 2 10 " ((int32)20000000)" D G "STEP_A" 2 11 "PIN_A0" D G "STEP_B" 2 12 "PIN_A1" D G "STEP_C" 2 13 "PIN_A2" D G "STEP_D" 2 14 "PIN_A3" D G "ENC_I" 2 15 "PIN_B6" D G "ENC_B" 2 16 "PIN_B4" D G "ENC_A" 2 17 "PIN_B5" D G "STEP_LED" 2 18 "PIN_D0" D G "ENC_LED" 2 19 "PIN_D1" D G "TRIS_C" 2 20 "0x87" V G "interruptStatus" 2 31 "int8" D G "TMR1_TIMEDOUT" 2 32 "0x01" D G "TMR2_TIMEDOUT" 2 33 "0x02" D G "I2C_READ_PENDING" 2 34 "0x04" D G "I2C_READ_READY" 2 35 "0x08" D G "I2C_CMD_READY" 2 36 "0x10" D G "TMR1_TIMEDOUT_MASK" 2 37 "0x01" D G "TMR2_TIMEDOUT_MASK" 2 38 "0x02" D G "I2C_READ_PENDING_MASK" 2 39 "0x04" D G "I2C_READ_READY_MASK" 2 40 "0x08" D G "I2C_CMD_READY_MASK" 2 41 "0x10" D G "DEVICE_NAME" 2 46 "0x0003" "From device type enum in telcontroller.h" D G "DEVICE_VERSION" 2 50 "0x0100" "software Version number, High byte is major, low byte is minor." D G "SSPSTATMASK" 2 53 "0x3F" V G "SSPSTAT" 2 74 "{int1 BF,int1 UA,int1 RWL,int1 S,int1 P,int1 DAL,int1 CKE,int1 SMP}" D G "SSPCONMASK" 2 77 "0xF0" V G "SSPCON" 2 92 "{int4 SSPSEL,int1 CKP,int1 SSPEN,int1 SSPOV,int1 WCOL}" D G "CMD" 2 94 "0" D G "DATA0" 2 95 "1" D G "DATA1" 2 96 "2" D G "DATA2" 2 97 "3" D G "DATA3" 2 98 "4" D G "SERIAL_BUFF_SIZE" 2 99 "10" V G "serialCmd" 2 100 "int8" "Used to identify the I2C command" V G "serialInCount" 2 101 "int8" V G "serialOutcount" 2 102 "int8" V G "serialBuffIn" 2 103 "int8[10]" V G "serialBuffOut" 2 104 "int8[10]" V G "serialBuffOutLength" 2 105 "int8" D G "SERIAL_CMD_DEVICE_NAME_GET" 2 115 "0x00" D G "SERIAL_CMD_DEVICE_VERSION_GET" 2 116 "0x01" D G "SERIAL_CMD_STEPPER_STEPS_SET" 2 119 "0x10" D G "SERIAL_CMD_STEPPER_STEPS_GET" 2 120 "0x11" D G "SERIAL_CMD_STEPPER_DIRECTION_SET" 2 121 "0x12" D G "SERIAL_CMD_STEPPER_DIRECTION_GET" 2 122 "0x13" D G "SERIAL_CMD_STEPPER_MICROSTEPS_SET" 2 123 "0x14" "Use this to accelerate by factor two's" D G "SERIAL_CMD_STEPPER_MICROSTEPS_GET" 2 124 "0x15" D G "SERIAL_CMD_STEPPER_MODE_SET" 2 125 "0x16" D G "SERIAL_CMD_STEPPER_MODE_GET" 2 126 "0x17" D G "SERIAL_CMD_STEPPER_ACCEL_SET" 2 127 "0x18" D G "SERIAL_CMD_STEPPER_ACCEL_GET" 2 128 "0x19" D G "SERIAL_CMD_STEPPER_ENABLE_SET" 2 129 "0x1A" D G "SERIAL_CMD_STEPPER_ENABLE_GET" 2 130 "0x1B" D G "SERIAL_CMD_STEPPER_CTR_SET" 2 131 "0x1C" D G "SERIAL_CMD_STEPPER_CTR_GET" 2 132 "0x1D" D G "SERIAL_CMD_STEPPER_CTR_RESET" 2 133 "0x1E" D G "SERIAL_CMD_STEPPER_CTR_ROLLOVER_SET" 2 134 "0x1F" D G "SERIAL_CMD_STEPPER_CTR_ROLLOVER_GET" 2 135 "0x20" D G "SERIAL_CMD_STEPPER_CTR_TARGET_SET" 2 136 "0x21" D G "SERIAL_CMD_STEPPER_CTR_TARGET_GET" 2 137 "0x22" D G "SERIAL_CMD_STEPPER_STOP_ENABLE_SET" 2 138 "0x23" D G "SERIAL_CMD_STEPPER_STOP_ENABLE_GET" 2 139 "0x24" D G "SERIAL_CMD_STEPPER_STEPSPERREV_SET" 2 140 "0x25" D G "SERIAL_CMD_STEPPER_STEPSPERREV_GET" 2 141 "0x26" D G "SERIAL_CMD_ENCODER_SET" 2 144 "0x30" D G "SERIAL_CMD_ENCODER_GET" 2 145 "0x31" D G "SERIAL_CMD_ENCODER_ROLLOVER_SET" 2 146 "0x32" D G "SERIAL_CMD_ENCODER_ROLLOVER_GET" 2 147 "0x33" D G "SERIAL_CMD_ENCODER_TARGET_SET" 2 148 "0x34" D G "SERIAL_CMD_ENCODER_TARGET_GET" 2 149 "0x35" D G "SERIAL_CMD_ENCODER_COUNTS_PER_STEP_SET" 2 150 "0x36" D G "SERIAL_CMD_ENCODER_COUNTS_PER_STEP_GET" 2 151 "0x37" D G "SERIAL_CMD_ENCODER_RESET" 2 152 "0x38" D G "SERIAL_CMD_TIMEBASE_SET" 2 154 "0x40" D G "SERIAL_CMD_TIMEBASE_GET" 2 155 "0x41" D G "SERIAL_CMD_TIME_ACCUMULATOR_SET" 2 156 "0x42" D G "SERIAL_CMD_TIME_ACCUMULATOR_GET" 2 157 "0x43" D G "SERIAL_CMD_TIME_PRESCALER_SET" 2 158 "0x44" D G "SERIAL_CMD_TIME_PRESCALER_GET" 2 159 "0x45" D G "SERIAL_CMD_APP_RESET" 2 162 "0xDB" D G "SERIAL_CMD_APP_INIT" 2 163 "0xDE" D G "SERIAL_CMD_APP_SHUT" 2 164 "0xDF" V G "RotaryEncoder" 2 176 "{int4 unused,int1 A,int1 B,int1 Index,int1 unused2}" V G "OldPortB" 2 178 "int8" V G "OldEncoder" 2 179 "{int4 unused,int1 A,int1 B,int1 Index,int1 unused2}" V G "encoderCount" 2 180 "int32" V G "encoderTarget" 2 181 "int32" V G "encoderRollover" 2 182 "int32" V G "encoderCountsPerStep" 2 183 "int32" V G "encoderOld" 2 184 "int32" V G "encoderDelta" 2 185 "int32" "Stepper status variables and masks" E G "UNIPOLAR_A" 2 190 "0" "alternate form to A" E G "UNIPOLAR_B" 2 191 "1" "half step" E G "UNIPOLAR_HALF" 2 192 "2" "serial bipolar 8 wires" E G "BIPOLAR_A" 2 193 "3" "parallel bipolar 8 wires" E G "BIPOLAR_B" 2 194 "4" E G "BIPOLAR_C" 2 194 "5" V G "STEPSPERPHASE" 2 195 "int8" D G "MAXMICROSTEPINCREMENT" 2 196 "64" D G "MAXMICROSTEPSPERSTEP" 2 197 "64" V G "fullstepTable1" 2 202 "int8[8]" V G "fullstepTable2" 2 212 "int8[8]" V G "halfstepTable" 2 222 "int8[8]" V G "bipolarstepTable" 2 232 "int8[8]" V G "stepTable" 2 241 "*int8" "= { fullStepTable1, fullStepTable2, halfStepTable, bipolarStepTable, fullstepTable};" V G "pwmTable" 2 243 "int16[65]" V G "stepperType" 2 246 "STEPPER_TYPE" V G "stepperStatus" 2 247 "int8" "Current status" V G "stepperStatusTarget" 2 248 "int8" "Desired status" V G "stepperStepCount" 2 249 "int8" "Current steps per phase" V G "stepperStepCountCurrent" 2 250 "int8" "Current step count per phase" V G "stepperStepCountTarget" 2 251 "int8" "Target step count per phase" V G "stepperMicrostepCount" 2 252 "int8" "Current microstep count" V G "stepperMicrostepCountIncrement" 2 253 "sint8" "Current microstep increment size" V G "stepperMicrostepCountIncrementTarget" 2 254 "int8" "Desired increment for microstepping - sets speed along with timebase." V G "stepperMicrostepsPerStep" 2 255 "int8" "Stepper number of microsteps per step - used to generate microstep increment and timebase" V G "stepperMicrostepsPerStepTarget" 2 256 "int8" "Desired number of microsteps per step" V G "pwmMask" 2 258 "int8" V G "pwmVal" 2 259 "int16" V G "stepMask" 2 260 "int8" "CMD Arguments ( status bits 0 ) for stepper clock direction" D G "STEPPER_CLOCK_TOGGLE_MASK" 2 271 "0x01" D G "STEPPER_CLOCK_TOGGLE_LOW" 2 272 "0x00" D G "STEPPER_CLOCK_TOGGLE_HIGH" 2 273 "0x00" D G "STEPPER_DIRN_MASK" 2 276 "0x02" D G "STEPPER_DIRN_FORWARD" 2 277 "0x02" D G "STEPPER_DIRN_REVERSE" 2 278 "0x00" D G "STEPPER_COUNT_MASK" 2 281 "0x04" D G "STEPPER_COUNT_ENABLE" 2 282 "0x04" D G "STEPPER_COUNT_DISABLE" 2 283 "0x04" D G "STEPPER_MODE_MASK" 2 288 "0x60" D G "STEPPER_MODE_MOTION" 2 290 "0x00" D G "STEPPER_MODE_POSITION_CONSTANT" 2 292 "0x40" D G "STEPPER_MODE_POSITION_RAMPED" 2 294 "0x60" D G "STEPPER_ENABLE_MASK" 2 297 "0x80" D G "STEPPER_ENABLE_ON" 2 298 "0x80" D G "STEPPER_ENABLE_OFF" 2 299 "0x00" V G "phaseAccum" 2 306 "int32" "the decimal remainder added until it is significant and then subtracted from the reset value on use." V G "t1Prescaler" 2 307 "int8" V G "t1ResetCount" 2 308 "int16" "the value to reset the timer to." V G "t1ResetLoopCount" 2 309 "int16" "the value to reset the timer timeout loop counter to" V G "t1LoopCount" 2 310 "int16" "How many times we have looped around the TMR1 16 bit timeout." V G "newResetCount" 2 311 "int16" "Holders for new values" V G "newResetLoopCount" 2 312 "int16" "Holders for new values." V G "t2LoopCount" 2 316 "int16" V G "t2ResetLoopCount" 2 317 "int16" V G "t2ResetCount" 2 318 "int16" "Timing considerations for star-tracking" C L "setup_timebase" 2 3 18 "FUNCTION" F G "setup_timebase" 2 343 "void()" V L "newResetCount" 2 343 "int16" V L "newLoopCount" 2 343 "int16" F G "setup_DeltaTimer" 2 344 "void()" V L "incrementTime" 2 344 "int32" F G "setup_stepper" 2 345 "void()" V L "S" 2 345 "STEPPER_TYPE" V L "steps" 2 345 "int8" V L "microsteps" 2 345 "int8" V L "status" 2 345 "int8" F G "setup_pwm" 2 346 "void()" F G "setMicrostepPWM" 2 347 "void()" V L "count" 2 347 "int16" F G "setup_encoder" 2 348 "void()" V L "rollover" 2 348 "int32" V L "current" 2 348 "int32" F G "setup_encoder" 2 349 "void()" V L "rollover" 2 349 "int32" V L "initial" 2 349 "int32" V L "countsPerStep" 2 349 "int8" F G "step_motor" 2 350 "void()" "Indicators" F G "flashLed" 2 352 "void()" V L "??65535" 2 352 "int8" V L "??65535" 2 352 "int16" V L "??65535" 2 352 "int8" "(C) Copyright 1996,2003 Custom Computer Services ////" D G "_ERRNO" 4 13 "" D G "EDOM" 4 15 "1" D G "ERANGE" 4 16 "2" V G "errno" 4 18 "int8" D G "_FLOAT" 5 15 "" D G "FLT_RADIX" 5 18 "2" D G "FLT_MANT_DIG" 5 19 "24" "# of bits in mantissa" D G "FLT_DIG" 5 21 "6" "# of decimal digits of precision" D G "FLT_MIN_EXP" 5 23 " (-125)" "min binary exponent" D G "FLT_MIN_10_EXP" 5 24 " (-37)" "min decimal exponent" D G "FLT_MAX_EXP" 5 25 "128" "max binary exponent" D G "FLT_MAX_10_EXP" 5 26 "38" "max decimal exponent" D G "FLT_MAX" 5 27 "3.402823466e+38F" "max value" D G "FLT_EPSILON" 5 28 "1.192092896e-07F" "smallest such that 1.0+FLT_EPSILON != 1.0" D G "FLT_MIN" 5 29 "1.175494351e-38F" "min positive value" D G "DBL_MANT_DIG" 5 33 "53" "# of bits in mantissa" D G "DBL_DIG" 5 35 "15" "# of decimal digits of precision" D G "DBL_MIN_EXP" 5 37 " (-1021)" "min binary exponent" D G "DBL_MIN_10_EXP" 5 38 " (-307)" "min decimal exponent" D G "DBL_MAX_EXP" 5 39 "1024" "max binary exponent" D G "DBL_MAX_10_EXP" 5 40 "308" "max decimal exponent" D G "DBL_MAX" 5 41 "1.79769313486231e+308F" "max value" D G "DBL_EPSILON" 5 42 "2.2204460492503131e-16F" "smallest such that 1.0+FLT_EPSILON != 1.0" D G "DBL_MIN" 5 43 "2.22507385850721e-308F" "min positive value" D G "LDBL_MANT_DIG" 5 47 "64" "# of bits in mantissa" D G "LDBL_DIG" 5 49 "18" "# of decimal digits of precision" D G "LDBL_MIN_EXP" 5 51 " (-16381)" "min binary exponent" D G "LDBL_MIN_10_EXP" 5 52 " (-4931)" "min decimal exponent" D G "LDBL_MAX_EXP" 5 53 "16384" "max binary exponent" D G "LDBL_MAX_10_EXP" 5 54 "4932" "max decimal exponent" D G "LDBL_MAX" 5 55 "1.18973149535723176502e+4932F" "max value" D G "LDBL_EPSILON" 5 56 "1.084202172485504434e-019F" "smallest such that 1.0+FLT_EPSILON != 1.0" D G "LDBL_MIN" 5 57 "3.36210314311209350626e-4932F" "min positive value" D G "_LIMITS" 6 15 "" D G "_C2" 6 16 "1" D G "CHAR_BIT" 6 18 "1" "short" D G "CHAR_MAX" 6 22 "255" "unsigned integer maximum" D G "CHAR_MIN" 6 23 "0" "unsigned integer minimum" D G "SCHAR_MAX" 6 26 "127" "signed integer maximum" D G "SCHAR_MIN" 6 27 " (-127-_C2)" "signed integer minimum" D G "MB_LEN_MAX" 6 31 "1" D G "SHRT_MAX" 6 53 "1" "signed short maximum" D G "SHRT_MIN" 6 54 "0" "signed short minimum" D G "INT_MAX" 6 56 "127" "signed integer minimum" D G "INT_MIN" 6 57 " (-127-_C2)" "signed integer maximum" D G "LONG_MAX" 6 60 "32767" "signed long maximum" D G "LONG_MIN" 6 61 " (-32767-_C2)" "signed long minimum" D G "USHRT_MAX" 6 64 "1" "unsigned short integer maximum" D G "UCHAR_MAX" 6 65 "255" "unsigned integer maximum" D G "UINT_MAX" 6 66 "255" "unsigned integer maximum" D G "ULONG_MAX" 6 67 "65535" "unsigned long integer maximum" D G "MATH_H" 7 21 "" D G "PI" 7 26 "3.1415926535897932" D G "SQRT2" 7 29 "1.4142135623730950" C L "flashLed" 7 2 3 "FUNCTION" F G "CEIL_FLOOR" 7 36 "float()" V L "x" 7 36 "float" V L "n" 7 36 "int8" V L "y" 7 38 "float" V L "res" 7 38 "float" V L "l" 7 39 "int16" V L "S" 7 40 "int1" C L "floor" 7 2 5 "FUNCTION" F G "floor" 7 192 "float()" V L "x" 7 192 "float" C L "ceil" 7 2 5 "FUNCTION" F G "ceil" 7 218 "float()" V L "x" 7 218 "float" D G "fabs" 7 244 "abs" C L "fmod" 7 2 6 "FUNCTION" F G "fmod" 7 256 "float()" V L "x" 7 256 "float" V L "y" 7 256 "float" V L "i" 7 258 "float" D G "LN2" 7 319 "0.6931471805599453" V G "pe" 7 321 "float[6]" F G "exp" 7 325 "float()" V L "x" 7 325 "float" V L "y" 7 327 "float" V L "res" 7 327 "float" V L "r" 7 327 "float" V L "n" 7 331 "sint8" V L "S" 7 332 "int1" C L "exp" 7 2 1 "FUNCTION" V G "pl" 7 496 "float[4]" V G "ql" 7 497 "float[4]" C L "log" 7 2 3 "FUNCTION" F G "log" 7 505 "float()" V L "x" 7 505 "float" V L "y" 7 507 "float" V L "res" 7 507 "float" V L "r" 7 507 "float" V L "y2" 7 507 "float" V L "n" 7 511 "sint8" C L "log" 7 2 1 "FUNCTION" D G "LN10" 7 729 "2.3025850929940456" C L "log10" 7 2 3 "FUNCTION" F G "log10" 7 737 "float()" V L "x" 7 737 "float" V L "r" 7 739 "float" C L "modf" 7 2 8 "FUNCTION" F G "modf" 7 778 "float()" V L "value" 7 778 "float" V L "iptr" 7 778 "*float" C L "pwr" 7 2 5 "FUNCTION" F G "pwr" 7 805 "float()" V L "x" 7 805 "float" V L "y" 7 805 "float" C L "pow" 7 2 6 "FUNCTION" F G "pow" 7 840 "float()" V L "x" 7 840 "float" V L "y" 7 840 "float" C L "sqrt" 7 2 5 "FUNCTION" F G "sqrt" 7 874 "float()" V L "x" 7 874 "float" V L "y" 7 876 "float" V L "res" 7 876 "float" V L "P" 7 880 "*int8" D G "PI_DIV_BY_TWO" 7 1069 "1.5707963267948966" C L "cos" 7 2 3 "FUNCTION" F G "cos" 7 1080 "float()" V L "x" 7 1080 "float" V L "y" 7 1082 "float" V L "t" 7 1082 "float" V L "t2" 7 1082 "float" V L "quad" 7 1083 "int8" V L "i" 7 1083 "int8" V L "frac" 7 1084 "float" V L "P" 7 1085 "float[4]" C L "cos" 7 2 1 "FUNCTION" C L "cos" 7 2 1 "FUNCTION" C L "cos" 7 2 1 "FUNCTION" C L "cos" 7 2 1 "FUNCTION" C L "cos" 7 2 1 "FUNCTION" C L "cos" 7 2 1 "FUNCTION" C L "sin" 7 2 5 "FUNCTION" F G "sin" 7 1210 "float()" V L "x" 7 1210 "float" C L "tan" 7 2 5 "FUNCTION" F G "tan" 7 1236 "float()" V L "x" 7 1236 "float" V L "c" 7 1238 "float" V L "S" 7 1238 "float" V G "pas" 7 1276 "float[3]" V G "qas" 7 1277 "float[3]" F G "ASIN_COS" 7 1279 "float()" V L "x" 7 1279 "float" V L "n" 7 1279 "int8" V L "y" 7 1281 "float" V L "res" 7 1281 "float" V L "r" 7 1281 "float" V L "y2" 7 1281 "float" V L "S" 7 1282 "int1" C L "ASIN_COS" 7 2 1 "FUNCTION" C L "ASIN_COS" 7 2 1 "FUNCTION" C L "asin" 7 2 5 "FUNCTION" F G "asin" 7 1425 "float()" V L "x" 7 1425 "float" V L "r" 7 1427 "float" C L "acos" 7 2 5 "FUNCTION" F G "acos" 7 1459 "float()" V L "x" 7 1459 "float" V L "r" 7 1461 "float" V G "pat" 7 1487 "float[4]" V G "qat" 7 1488 "float[4]" C L "atan" 7 2 3 "FUNCTION" F G "atan" 7 1496 "float()" V L "x" 7 1496 "float" V L "y" 7 1498 "float" V L "res" 7 1498 "float" V L "r" 7 1498 "float" V L "S" 7 1499 "int1" V L "flag" 7 1499 "int1" C L "atan" 7 2 1 "FUNCTION" C L "atan2" 7 2 7 "FUNCTION" F G "atan2" 7 1629 "float()" V L "y" 7 1629 "float" V L "x" 7 1629 "float" V L "z" 7 1631 "float" V L "sign" 7 1632 "int1" V L "quad" 7 1633 "int8" C L "atan2" 7 2 1 "FUNCTION" C L "atan2" 7 2 1 "FUNCTION" C L "cosh" 7 2 7 "FUNCTION" F G "cosh" 7 1851 "float()" V L "x" 7 1851 "float" C L "sinh" 7 2 6 "FUNCTION" F G "sinh" 7 1878 "float()" V L "x" 7 1878 "float" C L "tanh" 7 2 6 "FUNCTION" F G "tanh" 7 1908 "float()" V L "x" 7 1908 "float" D G "LOG2" 7 1938 ".30102999566398119521" F G "frexp" 7 1939 "float()" V L "x" 7 1939 "float" V L "exp" 7 1939 "*sint8" V L "res" 7 1941 "float" V L "sign" 7 1942 "int1" C L "ldexp" 7 2 6 "FUNCTION" F G "ldexp" 7 2084 "float()" V L "value" 7 2084 "float" V L "exp" 7 2084 "sint8" C L "write_stepper_mask" 7 2 2 "FUNCTION" C L "write_stepper_mask" 0 82 3 "FUNCTION" F G "write_stepper_mask" 0 89 "void()" V L "data" 0 89 "int8" V L "temp" 0 91 "int8" C L "write_stepper_mask" 0 82 2 "FUNCTION" C L "write_stepper_mask" 0 82 1 "FUNCTION" F G "write_stepper_phase" 0 102 "void()" V L "data" 0 102 "int8" C L "write_stepper_phase" 0 82 1 "FUNCTION" D G "write_encoder_bits" 0 107 "( data ) output_e( (data & 0x03 ) )" F G "RB_isr" 0 111 "void()" V L "byTemp" 0 113 "int8" C L "RB_isr" 0 82 1 "FUNCTION" F G "TIMER1_isr" 0 162 "void()" V L "tempphase" 0 164 "int32" "Use this to keep track of step times. TMR1 counts from XXX to 65536 where it rolls over." C L "TIMER1_isr" 0 82 1 "FUNCTION" C L "TIMER1_isr" 0 82 1 "FUNCTION" F G "TIMER2_isr" 0 195 "void()" "Either output a square wave and count the times between encoder ticks and adjust stepper rate" C L "TIMER2_isr" 0 82 3 "FUNCTION" C L "flashLed" 0 82 6 "FUNCTION" F G "flashLed" 0 229 "void()" V L "led" 0 229 "int8" V L "duration" 0 229 "int16" V L "flashes" 0 229 "int8" V L "i" 0 231 "int8" F G "setup_stepper" 0 244 "void()" V L "S" 0 244 "STEPPER_TYPE" V L "steps" 0 244 "int8" V L "microsteps" 0 244 "int8" V L "status" 0 244 "int8" V L "pwmMask" 0 246 "int8" C L "setup_stepper" 0 82 1 "FUNCTION" C L "setup_stepper" 0 82 2 "FUNCTION" C L "setup_stepper" 0 82 1 "FUNCTION" C L "setup_stepper" 0 82 2 "FUNCTION" F G "setup_pwm" 0 318 "void(int8 steps,int8 microsteps,int8 status)" "Aim for a 20KHz frequency with a 10 bit resolution" C L "setup_pwm" 0 82 7 "FUNCTION" C L "setup_pwm" 0 82 1 "FUNCTION" C L "setup_pwm" 0 82 1 "FUNCTION" F G "setup_DeltaTimer" 0 336 "void(int8 steps,int8 microsteps,int8 status)" V L "incrementTime" 0 336 "int32" "Note timer2 is in use by PWM for square wave generation" V L "intbase" 0 339 "float" V L "Tosc" 0 340 "float" V L "fTemp1" 0 341 "float" V L "fTemp2" 0 341 "float" "Timer 2 setup" C L "setup_DeltaTimer" 0 82 1 "FUNCTION" C L "setup_DeltaTimer" 0 82 1 "FUNCTION" C L "setup_DeltaTimer" 0 82 1 "FUNCTION" F G "setMicrostepPWM" 0 353 "void()" V L "count" 0 353 "int16" F G "setup_encoder" 0 358 "void(int16 count)" V L "rollover" 0 358 "int32" V L "initial" 0 358 "int32" V L "countsPerStep" 0 358 "int8" F G "setupPrescaler" 0 370 "void(int32 rollover,int32 initial,int8 countsPerStep)" V L "scale" 0 370 "int8" C L "setupPrescaler" 0 82 1 "FUNCTION" F G "init_config" 0 393 "void(int8 countsPerStep)" V L "temp" 0 395 "int8" C L "init_config" 0 82 1 "FUNCTION" C L "init_config" 0 82 1 "FUNCTION" C L "init_config" 0 82 1 "FUNCTION" C L "init_config" 0 82 1 "FUNCTION" C L "init_config" 0 82 4 "FUNCTION" C L "init_config" 0 82 1 "FUNCTION" C L "init_config" 0 82 1 "FUNCTION" D G "DEBUG_A" 0 435 "" C L "init_config" 0 82 3 "FUNCTION" C L "init_config" 0 82 4 "FUNCTION" C L "init_config" 0 82 1 "FUNCTION" C L "init_config" 0 82 1 "FUNCTION" C L "init_config" 0 82 1 "FUNCTION" F G "setup_timebase" 0 480 "void()" V L "newResetCount" 0 480 "int16" V L "newLoopCount" 0 480 "int16" F G "MAIN" 0 488 "void(int16 newResetCount,int16 newLoopCount)" V L "i" 0 490 "int8" V L "temp" 0 491 "int8" V L "dwTemp" 0 492 "int16" V L "wTemp" 0 493 "int16" V L "qwTemp" 0 494 "int32" C L "MAIN" 0 82 2 "FUNCTION" C L "MAIN" 0 82 2 "FUNCTION" C L "MAIN" 0 82 1 "FUNCTION" C L "MAIN" 0 82 1 "FUNCTION" C L "MAIN" 0 82 2 "FUNCTION" C L "MAIN" 0 82 2 "FUNCTION" C L "MAIN" 0 82 1 "FUNCTION" C L "MAIN" 0 82 1 "FUNCTION" C L "MAIN" 0 82 1 "FUNCTION" C L "MAIN" 0 82 2 "FUNCTION" C L "MAIN" 0 82 1 "FUNCTION" C L "MAIN" 0 82 1 "FUNCTION" C L "MAIN" 0 82 1 "FUNCTION" C L "MAIN" 0 82 1 "FUNCTION" C L "MAIN" 0 82 1 "FUNCTION" C L "MAIN" 0 82 1 "FUNCTION" C L "MAIN" 0 82 1 "FUNCTION" C L "MAIN" 0 82 1 "FUNCTION" C L "MAIN" 0 82 1 "FUNCTION" C L "MAIN" 0 82 1 "FUNCTION" C L "MAIN" 0 82 1 "FUNCTION" F G "step_motor" 0 646 "void()" V L "Index" 0 648 "int8" C L "step_motor" 0 82 1 "FUNCTION" C L "step_motor" 0 82 12 "FUNCTION" C L "step_motor" 0 82 1 "FUNCTION" C L "step_motor" 0 82 1 "FUNCTION" C L "step_motor" 0 82 1 "FUNCTION" C L "step_motor" 0 82 1 "FUNCTION" C L "step_motor" 0 82 1 "FUNCTION" C L "step_motor" 0 82 1 "FUNCTION" C L "step_motor" 0 82 1 "FUNCTION" C L "step_motor" 0 82 1 "FUNCTION" C L "step_motor" 0 82 1 "FUNCTION" C L "step_motor" 0 82 1 "FUNCTION" C L "step_motor" 0 82 1 "FUNCTION" C L "step_motor" 0 82 1 "FUNCTION" C L "step_motor" 0 82 1 "FUNCTION" C L "step_motor" 0 82 1 "FUNCTION" C L "step_motor" 0 82 1 "FUNCTION" C L "step_motor" 0 82 1 "FUNCTION" C L "step_motor" 0 82 1 "FUNCTION" F B "reset_cpu" 0 0 F B "abs" 1 0 F B "sleep" 0 0 F B "delay_cycles" 1 0 F B "read_bank" 2 0 F B "write_bank" 3 0 F B "shift_left" 2 2 F B "shift_right" 2 2 F B "rotate_left" 2 0 F B "rotate_right" 2 0 F B "_mul" 2 0 F B "memset" 3 0 F B "isamoung" 2 0 F B "isamong" 2 0 F B "bit_set" 2 0 F B "bit_clear" 2 0 F B "bit_test" 2 0 F B "toupper" 1 0 F B "tolower" 1 0 F B "swap" 1 0 F B "printf" 1 255 F B "fprintf" 1 255 F B "sprintf" 1 255 F B "make8" 2 0 F B "make16" 2 0 F B "make32" 1 255 F B "label_address" 1 1 F B "goto_address" 1 0 F B "_va_arg" 1 0 F B "offsetofbit" 2 2 F B "enable_interrupts" 1 0 F B "disable_interrupts" 1 0 F B "interrupt_active" 1 0 F B "clear_interrupt" 1 0 F B "jump_to_isr" 1 0 F B "ext_int_edge" 1 2 F B "read_eeprom" 1 0 F B "write_eeprom" 2 0 F B "read_program_eeprom" 1 0 F B "write_program_eeprom" 2 0 F B "write_program_memory" 4 0 F B "write_program_memory8" 4 0 F B "read_program_memory" 4 0 F B "read_program_memory8" 4 0 F B "strcpy" 2 0 F B "memcpy" 3 0 F B "output_high" 1 0 F B "output_low" 1 0 F B "input" 1 0 F B "input_state" 1 0 F B "output_float" 1 0 F B "output_drive" 1 0 F B "output_bit" 1 1 F B "output_toggle" 1 0 F B "output_a" 1 0 F B "output_b" 1 0 F B "output_c" 1 0 F B "output_d" 1 0 F B "output_e" 1 0 F B "input_a" 0 0 F B "input_b" 0 0 F B "input_c" 0 0 F B "input_d" 0 0 F B "input_e" 0 0 F B "set_tris_a" 1 0 F B "set_tris_b" 1 0 F B "set_tris_c" 1 0 F B "set_tris_d" 1 0 F B "set_tris_e" 1 0 F B "get_tris_a" 0 0 F B "get_tris_b" 0 0 F B "get_tris_c" 0 0 F B "get_tris_d" 0 0 F B "get_tris_e" 0 0 F B "port_b_pullups" 1 0 F B "setup_counters" 2 0 F B "setup_wdt" 1 0 F B "restart_cause" 0 0 F B "restart_wdt" 0 0 F B "get_rtcc" 0 0 F B "set_rtcc" 1 0 F B "get_timer0" 0 0 F B "set_timer0" 1 0 F B "setup_comparator" 1 0 F B "setup_port_a" 1 0 F B "setup_adc_ports" 1 0 F B "setup_adc" 1 0 F B "set_adc_channel" 1 0 F B "read_adc" 0 1 F B "adc_done" 0 0 F B "setup_timer_0" 1 0 F B "setup_vref" 1 0 F B "setup_timer_1" 1 0 F B "get_timer1" 0 0 F B "set_timer1" 1 0 F B "setup_timer_2" 3 0 F B "get_timer2" 0 0 F B "set_timer2" 1 0 F B "setup_ccp1" 1 0 F B "set_pwm1_duty" 1 0 F B "setup_ccp2" 1 0 F B "set_pwm2_duty" 1 0 F B "setup_psp" 1 0 F B "psp_output_full" 0 0 F B "psp_input_full" 0 0 F B "psp_overflow" 0 0 F B "setup_spi" 1 0 F B "spi_read" 0 1 F B "spi_write" 1 0 F B "spi_data_is_in" 0 0 F B "setup_spi2" 1 0 F B "spi_read2" 0 1 F B "spi_write2" 1 0 F B "spi_data_is_in2" 0 0 F B "delay_ms" 1 0 F B "delay_us" 1 0 F B "i2c_read" 0 2 F B "i2c_write" 1 2 F B "i2c_start" 0 2 F B "i2c_stop" 0 1 F B "i2c_isr_state" 0 1 F B "i2c_slaveaddr" 1 2 F B "i2c_poll" 0 1