CCS C Software and Maintenance Offers
FAQFAQ   FAQForum Help   FAQOfficial CCS Support   SearchSearch  RegisterRegister 

ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CCS does not monitor this forum on a regular basis.

Please do not post bug reports on this forum. Send them to support@ccsinfo.com

Interesting problem here...
Goto page Previous  1, 2
 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
dc_eng



Joined: 22 Jul 2009
Posts: 8

View user's profile Send private message

PostPosted: Thu Jul 23, 2009 6:31 am     Reply with quote

Hi,

Here is what happened.

I move the KILLBILL variable to bottom of declarations... works.

Than I move back the KILLBILL variable to middle.... NOT to working.

Than I move KILLBILL variable to top of my declarations... works.

Than I increase KILLBILL variable to array of 50... NOT working.

Than I move increased number of KILLBILLs to bottom... NOT working.

the sym file below NOT working

Code:

000     @SCRATCH
001     @SCRATCH
001     _RETURN_
002     @SCRATCH
003     @SCRATCH
004     @SCRATCH
005-006 strtok.save
007-00A _Randseed
00B     STEP_DELAY_MOTOR_UP
00C     STEP_DELAY_MOTOR_DOWN
00D     HOLD_TIME_MOTOR_UP
00E     HOLD_TIME_MOTOR_DOWN
00F     CENTER_POINT_OF_MOTOR_UP
010     CENTER_POINT_OF_MOTOR_DOWN
011     VIB_TO_CUP_UP_DELAY
012     CUP_UP_TO_CUP_DOWN_DELAY
013     CUP_DOWN_TO_MAIN_DOOR_DELAY
014     AD_SETTLING_TIME
015     CHANNEL_ID
016     SLOW_DISCHARGE_ANGLE
017-034 VIB_INTENSITY
035-052 VIB_DURATION
053     STEP_DELAY_MOTOR_MAIN_A
054     STEP_DELAY_MOTOR_MAIN_B
055     STEP_DELAY_MOTOR_MAIN_C
056     STEP_DELAY_MOTOR_MAIN_D
057     HOLD_TIME_MOTOR_MAIN_D
058-059 AD_COEFF
05A     PROGRAM_ID
05B-05C PID_OFFSET
05D     STEP_CNTUP
05E     STEP_CNTDW
05F     VIB_CNT
060     PHASE_UP
061     PHASE_DW
062     PHASE_VIB
063     STEP_OUTPUT
064-065 DELAY_TICKS_UP
066-067 DELAY_TICKS_DOWN
068-069 DELAY_TICKS_VIB
06A-06B DELAY_TICKS_AD
06C-06D TIMER0_CNT
06E-06F TARGET_TIMER
070-071 TIMER0_IS
072-075 DATA485_
076     FUNC485_
077-07A CHID485_
07B-C31 MODBUS_PACKET
C32     AD_COM_REG
C33     AD_STATUS_REG
C34-C37 AD_DATA_REG
C38-C3B AD_DATA_REGT
C3C-C3F AD_MODE_REG
C40-C43 AD_CONF_REG
C44-C47 AD_FILTER_REG
C48     AD_DAC_REG
C49-C4C AD_OFFSET_REG
C4D-C50 AD_GAIN_REG
C51-C54 AD_TEST_REG
C55-C58 AD_DATA_REGZERO
C59-C5C AD_DATA_REGAV
C5D-C66 U_DATA
C67-C75 P_NAME
C76.0   RCV_TOGGLE
C76.1   COMMUNICATION_TYPE
C76.2   SEQUENTIAL_DISCHARGE
C76.3   AVERAGE_CONTROL
C76.4   ON_START_BOTH_UP_DOWN
C76.5   AUTOMATIC_VIBRATOR_INTENSITY
C76.6   DISCHARGE_OF_MAIN_DOOR
C76.7   FEEDING_MACHINE
C77     CNT1
C78     SOFTWARE_VERSION
C79-C7C GENERAL_PARAMETERS
C7D     NUMBER_OF_DEFFERENT_PRODUCTS
C7E     DISCHARGE_PER_PACKAGE
C7F.0   HOLD_MAIN_DOOR_ON_MULTIPLE_DISCHARGE
C80     NUMBER_OF_CHANNELS
C81     REJECT_SIGNAL
C82     MAIN_DOOR
C83-C84 TARGET_WEIGHT
C85-C86 UPPER_LIMIT
C87-C88 LOWER_LIMIT
C89-C8A C1TARGET_WEIGHT
C8B-C8C C2TARGET_WEIGHT
C8D-C8E C3TARGET_WEIGHT
C8F-C90 C4TARGET_WEIGHT
C91     C1MAX_DEVIATION
C92     C2MAX_DEVIATION
C93     C3MAX_DEVIATION
C94     C4MAX_DEVIATION
C95-C98 DISABLED_CHANNELS
C99     SEQUENTIAL_DISCHARGE_DELAY
C9A     REMOVE_TARE_PERIOD
C9B     DISCHARGE_NUMBER_UP_TO_TARE
C9C     NOT_IN_COMBINATION_LIMIT
C9D     FILLING_PERCENTAGE
C9E-CA1 DATA485
CA2     FUNC485
CA3-CA6 CHID485
CA7-CA8 KILLBILL
CA9-CAA KILLBILL1
CAB-CAC KILLBILL2
CAD-CAE KILLBILL3
CAF-CB0 KILLBILL4
CB1-CB2 KILLBILL5
CB3-CB4 KILLBILL6
CB5-D18 KILLBILL7
D19-D1A CONT_.CNT16
D19     MAIN.@SCRATCH1
D1A     MAIN.@SCRATCH2
D1B-D1E WRITE_AD_OFFSET_REG.AD_OFFSET_REG_
D1B-D1C atoi.s
D1B     FEED_PRODUCT_FROM_CUP_UP.temp
D1B-D1E WRITE_AD_GAIN_REG.AD_GAIN_REG_
D1B-D1E ADJUST_GENERAL_PARAMETERS.GENERAL_PARAMETERS_
D1B     DISCHARGE_CHANNEL.temp
D1B     REFRESH_CHANNEL_IDS.CNT1
D1B-D1E ADJUST_TARGET_WEIGHT_C3C4.TWEIGHT_
D1B     MAKE_CALIBRATION.CNT1
D1B-D1C atoi32.s
D1B     TEST_VIBRATOR.CNT1
D1B     GET_READY_FOR_START.CNT1
D1B-D1E ADJUST_MAX_DEVIATION.MAX_DEVIATION_
D1B-D1E ADJUST_TARGET_WEIGHT_C1C2.TWEIGHT_
D1B     @GETCH_1_.@SCRATCH1
D1B     FUNCTION_DECODE.@SCRATCH1
D1B     SEND_CHANNEL_ID.@SCRATCH1
D1B     GET_GR.@SCRATCH1
D1B     CONT_.@SCRATCH1
D1B     MAIN.@SCRATCH3
D1C     ADJUST_SEQUENTIAL_DISCHARGE_DELAY.SEQUENTIAL_DISCHARGE_DELAY_
D1C     SAVE_PROGRAM.PROGRAM_ID_
D1C     ADJUST_STEP_DELAY_MOTOR_MAIN_D.STEP_DELAY_MOTOR_MAIN_D_
D1C     ADJUST_STEP_DELAY_MOTOR_MAIN_C.STEP_DELAY_MOTOR_MAIN_C_
D1C     ADJUST_CHANNEL_DISABLE.CHANNEL_DISABLE_
D1C-D1D WRITE_AD_MODE_REG.AD_MODE_REG_
D1C     TEST_MOTOR_UP.CNT1
D1C     ADJUST_STEP_DELAY_MOTOR_MAIN_A.STEP_DELAY_MOTOR_MAIN_A_
D1C     ADJUST_STEP_DELAY_MOTOR_DOWN.STEP_DELAY_MOTOR_DOWN_
D1C     ADJUST_HOLD_TIME_MOTOR_UP.HOLD_TIME_MOTOR_UP_
D1C-D1F ADJUST_MAX_DEVIATION_C1C2C3C4.DEVIATION_C1C2C3C4_
D1C     DELETE_PROGRAM.PROGRAM_ID_
D1C     TEST_MOTOR_DOWN.CNT1
D1C     READ_DAC_REG.CNT1
D1C     REMOVE_TARE.CNT1
D1C     ADJUST_VIB_TO_CUP_UP_DELAY.VIB_TO_CUP_UP_DELAY_
D1C     ADJUST_VIBRATOR_DURATION.VIB_DURATION_
D1C     SET_PROGRAM.PROGRAM_ID_
D1C     ADJUST_NOT_IN_COMBINATION_LIMIT.NOT_IN_COMBINATION_LIMIT_
D1C     ADJUST_STEP_DELAY_MOTOR_MAIN_B.STEP_DELAY_MOTOR_MAIN_B_
D1C     ADJUST_FILLING_PERCENTAGE.FILLING_PERCENTAGE_
D1C     READ_OFFSET_REG.CNT1
D1C     REFRESH_CHANNEL_IDS.CNT2
D1C     READ_GAIN_REG.CNT1
D1C     ADJUST_CENTER_POINT_OF_MOTOR_UP.CENTER_POINT_OF_MOTOR_UP_
D1C     ADJUST_CENTER_POINT_OF_MOTOR_DOWN.CENTER_POINT_OF_MOTOR_DOWN_
D1C     ADJUST_AD_SETTLING_TIME.AD_SETTLING_TIME_
D1C     ADJUST_CUP_DOWN_TO_MAIN_DOOR_DELAY.CUP_DOWN_TO_MAIN_DOOR_DELAY
D1C     ADJUST_STEP_DELAY_MOTOR_UP.STEP_DELAY_MOTOR_UP_
D1C     ADJUST_HOLD_TIME_MOTOR_MAIN_D.HOLD_TIME_MOTOR_MAIN_D_
D1C-D1D @DIV1616.P1
D1C     ADJUST_CUP_UP_TO_CUP_DOWN_DELAY.CUP_UP_TO_CUP_DOWN_DELAY_
D1C-D1F WRITE_AD_FILTER_REG.AD_FILTER_REG_
D1C     ADJUST_VIBRATOR_INTENSITY.VIB_INTENSITY_
D1C     ADJUST_SLOW_DISCHARGE_ANGLE.SLOW_DISCHARGE_ANGLE_
D1C     ADJUST_HOLD_TIME_MOTOR_DOWN.HOLD_TIME_MOTOR_DOWN_
D1C     GET_AD.CNT1
D1C     WRITE_AD_DAC_REG.AD_DAC_REG_
D1C     ADJUST_REMOVE_TARE_PERIOD.REMOVE_TARE_PERIOD_
D1C     FUNCTION_DECODE.@SCRATCH2
D1C     GET_READY_FOR_START.@SCRATCH1
D1C     DISCHARGE_CHANNEL.@SCRATCH1
D1C     FEED_PRODUCT_FROM_CUP_UP.@SCRATCH1
D1C     TEST_VIBRATOR.@SCRATCH1
D1C     MAKE_CALIBRATION.@SCRATCH1
D1C     GET_GR.@SCRATCH2
D1C     MAIN.@SCRATCH4
D1D     STORE_DATAS.CNT1
D1D     @PRINTF_X_56.P1
D1D     READ_DATA_REG.CNT1
D1D     WRITE_AD_DAC_REG.CNT1
D1D-D20 atoi32.result
D1D     atoi.result
D1D     REFRESH_CHANNEL_IDS.CNT3
D1D     RESTORE_DATAS.CNT1
D1D     READ_OFFSET_REG.@SCRATCH1
D1D     READ_GAIN_REG.@SCRATCH1
D1D     FUNCTION_DECODE.@SCRATCH3
D1D     DISCHARGE_CHANNEL.@SCRATCH2
D1D     FEED_PRODUCT_FROM_CUP_UP.@SCRATCH2
D1D     ADJUST_CHANNEL_DISABLE.@SCRATCH1
D1D     ADJUST_SEQUENTIAL_DISCHARGE_DELAY.@SCRATCH1
D1D     ADJUST_REMOVE_TARE_PERIOD.@SCRATCH1
D1D     ADJUST_FILLING_PERCENTAGE.@SCRATCH1
D1D     ADJUST_STEP_DELAY_MOTOR_UP.@SCRATCH1
D1D     ADJUST_STEP_DELAY_MOTOR_DOWN.@SCRATCH1
D1D     ADJUST_HOLD_TIME_MOTOR_UP.@SCRATCH1
D1D     ADJUST_HOLD_TIME_MOTOR_DOWN.@SCRATCH1
D1D     ADJUST_CENTER_POINT_OF_MOTOR_UP.@SCRATCH1
D1D     ADJUST_CENTER_POINT_OF_MOTOR_DOWN.@SCRATCH1
D1D     ADJUST_VIB_TO_CUP_UP_DELAY.@SCRATCH1
D1D     ADJUST_CUP_UP_TO_CUP_DOWN_DELAY.@SCRATCH1
D1D     ADJUST_AD_SETTLING_TIME.@SCRATCH1
D1D     ADJUST_SLOW_DISCHARGE_ANGLE.@SCRATCH1
D1D     ADJUST_VIBRATOR_INTENSITY.@SCRATCH1
D1D     ADJUST_VIBRATOR_DURATION.@SCRATCH1
D1D     ADJUST_STEP_DELAY_MOTOR_MAIN_A.@SCRATCH1
D1D     ADJUST_STEP_DELAY_MOTOR_MAIN_B.@SCRATCH1
D1D     ADJUST_STEP_DELAY_MOTOR_MAIN_C.@SCRATCH1
D1D     ADJUST_STEP_DELAY_MOTOR_MAIN_D.@SCRATCH1
D1D     ADJUST_HOLD_TIME_MOTOR_MAIN_D.@SCRATCH1
D1D     TEST_MOTOR_UP.@SCRATCH1
D1D     TEST_MOTOR_DOWN.@SCRATCH1
D1D     TEST_VIBRATOR.@SCRATCH2
D1D     REMOVE_TARE.@SCRATCH1
D1D     MAKE_CALIBRATION.@SCRATCH2
D1D     GET_AD.@SCRATCH1
D1D     GET_GR.@SCRATCH3
D1D     SET_PROGRAM.@SCRATCH1
D1D     SAVE_PROGRAM.@SCRATCH1
D1D     MAIN.@SCRATCH5
D1E     @PRINTF_X_56.P1
D1E     WRITE_AD_MODE_REG.CNT1
D1E     atoi.sign
D1E     SEND_RS485.CNT1
D1E-D1F @DIV1616.P1
D1E     RECV_RS485.CNT1
D1E     RESTORE_DATAS.TEMP1
D1E     READ_DATA_REG.@SCRATCH1
D1E     STORE_DATAS.@SCRATCH1
D1E     FUNCTION_DECODE.@SCRATCH4
D1E     DISCHARGE_CHANNEL.@SCRATCH3
D1E     FEED_PRODUCT_FROM_CUP_UP.@SCRATCH3
D1E     REFRESH_CHANNEL_IDS.@SCRATCH1
D1E     ADJUST_SEQUENTIAL_DISCHARGE_DELAY.@SCRATCH2
D1E     ADJUST_REMOVE_TARE_PERIOD.@SCRATCH2
D1E     ADJUST_FILLING_PERCENTAGE.@SCRATCH2
D1E     ADJUST_STEP_DELAY_MOTOR_UP.@SCRATCH2
D1E     ADJUST_STEP_DELAY_MOTOR_DOWN.@SCRATCH2
D1E     ADJUST_HOLD_TIME_MOTOR_UP.@SCRATCH2
D1E     ADJUST_HOLD_TIME_MOTOR_DOWN.@SCRATCH2
D1E     ADJUST_CENTER_POINT_OF_MOTOR_UP.@SCRATCH2
D1E     ADJUST_CENTER_POINT_OF_MOTOR_DOWN.@SCRATCH2
D1E     ADJUST_VIB_TO_CUP_UP_DELAY.@SCRATCH2
D1E     ADJUST_CUP_UP_TO_CUP_DOWN_DELAY.@SCRATCH2
D1E     ADJUST_AD_SETTLING_TIME.@SCRATCH2
D1E     ADJUST_SLOW_DISCHARGE_ANGLE.@SCRATCH2
D1E     ADJUST_VIBRATOR_INTENSITY.@SCRATCH2
D1E     ADJUST_VIBRATOR_DURATION.@SCRATCH2
D1E     ADJUST_STEP_DELAY_MOTOR_MAIN_A.@SCRATCH2
D1E     ADJUST_STEP_DELAY_MOTOR_MAIN_B.@SCRATCH2
D1E     ADJUST_STEP_DELAY_MOTOR_MAIN_C.@SCRATCH2
D1E     ADJUST_STEP_DELAY_MOTOR_MAIN_D.@SCRATCH2
D1E     ADJUST_HOLD_TIME_MOTOR_MAIN_D.@SCRATCH2
D1E     TEST_MOTOR_UP.@SCRATCH2
D1E     TEST_MOTOR_DOWN.@SCRATCH2
D1E     TEST_VIBRATOR.@SCRATCH3
D1E     MAKE_CALIBRATION.@SCRATCH3
D1E     GET_AD.@SCRATCH2
D1E     GET_GR.@SCRATCH4
D1E     SAVE_PROGRAM.@SCRATCH2
D1F-D20 ADJUST_MAX_DEVIATION.TEMP1
D1F     WRITE_AD_GAIN_REG.CNT1
D1F     @delay_ms1.P1
D1F     RESTORE_DATAS.TEMP2
D1F     atoi.base
D1F     WRITE_AD_OFFSET_REG.CNT1
D1F     @PRINTF_U_56.P1
D1F-D20 @MUL1616.P2
D1F-D20 ADJUST_TARGET_WEIGHT.TARGET_WEIGHT_
D1F     STORE_DATAS.@SCRATCH2
D1F     SEND_RS485.@SCRATCH1
D1F     RECV_RS485.@SCRATCH1
D1F     DISCHARGE_CHANNEL.@SCRATCH4
D1F     FEED_PRODUCT_FROM_CUP_UP.@SCRATCH4
D1F     ADJUST_GENERAL_PARAMETERS.@SCRATCH1
D1F     ADJUST_VIBRATOR_INTENSITY.@SCRATCH3
D1F     ADJUST_VIBRATOR_DURATION.@SCRATCH3
D1F     TEST_MOTOR_UP.@SCRATCH3
D1F     TEST_MOTOR_DOWN.@SCRATCH3
D1F     MAKE_CALIBRATION.@SCRATCH4
D1F     GET_AD.@SCRATCH3
D20     atoi.index
D20     RESTORE_DATAS.TEMP3
D20     @PRINTF_U_56.P1
D20     WRITE_AD_FILTER_REG.CNT1
D20     @DIV1616.@SCRATCH1
D20     WRITE_AD_OFFSET_REG.@SCRATCH1
D20     WRITE_AD_GAIN_REG.@SCRATCH1
D20     STORE_DATAS.@SCRATCH3
D20     SEND_RS485.@SCRATCH2
D20     ADJUST_GENERAL_PARAMETERS.@SCRATCH2
D20     ADJUST_VIBRATOR_INTENSITY.@SCRATCH4
D20     ADJUST_VIBRATOR_DURATION.@SCRATCH4
D20     TEST_MOTOR_UP.@SCRATCH4
D20     TEST_MOTOR_DOWN.@SCRATCH4
D20     GET_AD.@SCRATCH4
D21     WRITE_AD_COM_REG.AD_COM_REG_
D21     @delay_us1.P1
D21-D22 ADJUST_MAX_DEVIATION.TEMP2
D21     atoi.c
D21     @DIV88.P1
D21     atoi32.sign
D21-D22 @MUL1616.P1
D21     RESTORE_DATAS.TEMP4
D21     WRITE_AD_FILTER_REG.@SCRATCH1
D21     STORE_DATAS.@SCRATCH4
D21     ADJUST_GENERAL_PARAMETERS.@SCRATCH3
D21     ADJUST_TARGET_WEIGHT.@SCRATCH1
D21     ADJUST_VIBRATOR_INTENSITY.@SCRATCH5
D21     ADJUST_VIBRATOR_DURATION.@SCRATCH5
D21     GET_AD.@SCRATCH5
D22     atoi32.base
D22     @DIV88.P1
D22-D25 @PRINTF_L32U_56.P2
D22     WRITE_AD_COM_REG.CNT1
D22     @MUL88.P1
D22     atoi.@SCRATCH1
D22     STORE_DATAS.@SCRATCH5
D22     RESTORE_DATAS.@SCRATCH1
D22     ADJUST_GENERAL_PARAMETERS.@SCRATCH4
D22     ADJUST_TARGET_WEIGHT.@SCRATCH2
D23     @MUL88.P1
D23     atoi32.index
D23     @MUL1616.@SCRATCH1
D23     atoi.@SCRATCH2
D23     RESTORE_DATAS.@SCRATCH2
D23     @DIV88.@SCRATCH1
D23     ADJUST_TARGET_WEIGHT.@SCRATCH3
D23     ADJUST_MAX_DEVIATION.@SCRATCH1
D24-D25 @PRINTF_LU_56.P1
D24     atoi32.c
D24     RESTORE_DATAS.@SCRATCH3
D24     ADJUST_MAX_DEVIATION.@SCRATCH2
D25     atoi32.@SCRATCH1
D25     RESTORE_DATAS.@SCRATCH4
D25     ADJUST_MAX_DEVIATION.@SCRATCH3
D26     atoi32.@SCRATCH2
D26     @PRINTF_LU_56.@SCRATCH1
D26     RESTORE_DATAS.@SCRATCH5
D26     @PRINTF_L32U_56.@SCRATCH1
D27     atoi32.@SCRATCH3
D27     @PRINTF_LU_56.@SCRATCH2
D27     RESTORE_DATAS.@SCRATCH6
D27     @PRINTF_L32U_56.@SCRATCH2
D28     atoi32.@SCRATCH4
D28     @PRINTF_LU_56.@SCRATCH3
D28     RESTORE_DATAS.@SCRATCH7
D28     @PRINTF_L32U_56.@SCRATCH3
D29     atoi32.@SCRATCH5
D29     @PRINTF_LU_56.@SCRATCH4
D29     @PRINTF_L32U_56.@SCRATCH4
D2A     atoi32.@SCRATCH6
D2A     @PRINTF_LU_56.@SCRATCH5
D2A     @PRINTF_L32U_56.@SCRATCH5
D2B     @PRINTF_LU_56.@SCRATCH6
D2B     @PRINTF_L32U_56.@SCRATCH6
D2C     @PRINTF_LU_56.@SCRATCH7
D2C     @PRINTF_L32U_56.@SCRATCH7
D2D     @PRINTF_L32U_56.@SCRATCH8
D2E     @PUTCHAR_1_.P1
D2E-D31 @DIV3232.P2
D32-D35 @DIV3232.P1
D36     @DIV3232.@SCRATCH1
D37     @DIV3232.@SCRATCH2
D38     @DIV3232.@SCRATCH3
D39     @DIV3232.@SCRATCH4
D3A     @DIV3232.@SCRATCH5
F83     PSP_DATA
FB4.6   C1OUT
FB4.7   C2OUT
FBB-FBC CCP_2
FBB     CCP_2_LOW
FBC     CCP_2_HIGH
FBE     CCP_1_LOW
FBE-FBF CCP_1
FBF     CCP_1_HIGH
FE9-FEA @READ_PROGRAM_MEMORY.P1
FE9-FEA @WRITE_PROGRAM_MEMORY.P2
FF6-FF8 @WRITE_PROGRAM_MEMORY.P1
FF6-FF8 @READ_PROGRAM_MEMORY.P2

ROM Allocation:
20BC  @delay_ms1
29E2  @delay_us1
12CA  @PUTCHAR_1_
237A  @GETCH_1_
2666  @MUL88
12A8  @MUL1616
26B6  atoi
23C6  atoi32
3190  @DIV1616
2170  WRITE_AD_COM_REG
22D6  WRITE_AD_MODE_REG
21E2  WRITE_AD_FILTER_REG
21A4  WRITE_AD_DAC_REG
2284  WRITE_AD_OFFSET_REG
2232  WRITE_AD_GAIN_REG
5796  READ_DAC_REG
2AF2  READ_DATA_REG
5666  READ_OFFSET_REG
56FE  READ_GAIN_REG
13CA  STORE_DATAS
0004  @const554
130E  @PRINTF_LU_56
0736  RESTORE_DATAS
20E4  INIT_MOTOR_UP
212A  INIT_MOTOR_DOWN
2DB4  NEXT_STEP_UP
2E10  @goto11830
2964  NEXT_STEP_DW
29C0  @goto11843
2FFE  VIBRATOR_PULSE
231C  INIT_LOADCELL
285A  SEND_RS485
3E52  RECV_RS485
2B8A  @DIV3232
2C0A  @PRINTF_L32U_56
3DA4  @DIV88
3DD0  @PRINTF_U_56
6356  FUNCTION_DECODE
2F22  GET_READY_FOR_START
31D6  DISCHARGE_CHANNEL
39A2  FEED_PRODUCT_FROM_CUP_UP
4050  REFRESH_CHANNEL_IDS
416C  SEND_CHANNEL_ID
41E0  ADJUST_TARGET_WEIGHT_C1C2
41E4  ADJUST_TARGET_WEIGHT_C3C4
41E8  ADJUST_GENERAL_PARAMETERS
0022  @const595
4434  ADJUST_TARGET_WEIGHT
004E  @const596
4520  ADJUST_MAX_DEVIATION
0074  @const599
0092  @const600
470A  ADJUST_CHANNEL_DISABLE
00B0  @const601
48CA  ADJUST_SEQUENTIAL_DISCHARGE_DELAY
00D8  @const602
4964  ADJUST_REMOVE_TARE_PERIOD
010A  @const603
4A04  ADJUST_NOT_IN_COMBINATION_LIMIT
4A08  ADJUST_FILLING_PERCENTAGE
0134  @const604
4AA2  ADJUST_STEP_DELAY_MOTOR_UP
015E  @const605
4B42  ADJUST_STEP_DELAY_MOTOR_DOWN
018A  @const606
4BE2  ADJUST_HOLD_TIME_MOTOR_UP
01B8  @const607
4C7C  ADJUST_HOLD_TIME_MOTOR_DOWN
01E2  @const608
4D16  ADJUST_CENTER_POINT_OF_MOTOR_UP
020E  @const609
4DB6  ADJUST_CENTER_POINT_OF_MOTOR_DOWN
023E  @const610
4E56  ADJUST_VIB_TO_CUP_UP_DELAY
0270  @const611
4EF6  ADJUST_CUP_UP_TO_CUP_DOWN_DELAY
029C  @const612
4F96  ADJUST_CUP_DOWN_TO_MAIN_DOOR_DELAY
4F9A  ADJUST_AD_SETTLING_TIME
02CC  @const613
503A  ADJUST_MAX_DEVIATION_C1C2C3C4
503E  ADJUST_SLOW_DISCHARGE_ANGLE
02F4  @const614
50DE  ADJUST_VIBRATOR_INTENSITY
0320  @const615
51BE  ADJUST_VIBRATOR_DURATION
034A  @const616
5298  ADJUST_STEP_DELAY_MOTOR_MAIN_A
0374  @const617
5338  ADJUST_STEP_DELAY_MOTOR_MAIN_B
03A4  @const618
53D8  ADJUST_STEP_DELAY_MOTOR_MAIN_C
03D4  @const619
5478  ADJUST_STEP_DELAY_MOTOR_MAIN_D
0404  @const620
5512  ADJUST_HOLD_TIME_MOTOR_MAIN_D
0434  @const624
2E32  TEST_MOTOR_UP
2A02  TEST_MOTOR_DOWN
55AC  TEST_VIBRATOR
2CCE  REMOVE_TARE
0462  @const629
0490  @const630
5840  MAKE_CALIBRATION
04B6  @const632
04E8  @const633
0518  @const634
57F6  @PRINTF_X_56
0542  @const638
056C  @const639
0596  @const641
05C8  @const648
05E4  @const650
0602  @const652
304C  GET_AD
0622  @const654
617C  GET_GR
6272  SET_PROGRAM
063E  @const656
6322  SAVE_PROGRAM
6352  DELETE_PROGRAM
6696  CONT_
0666  @const670
068A  @const672
06AE  @const674
06D2  @const676
06EA  @const677
0706  @const678
0720  @const680
6946  MAIN
6946  @cinit
0136  StrtoulGO
0136  StrtolGO

Project Directory:
    D:\P_FILES\PROJECTS\MARMAK\MARMAK_WBLOCK\Software\

Project Files:
    MW_71.c
    MW_71.h
    C:\Program Files\PICC\devices\18F4620.h
    C:\Program Files\PICC\drivers\string.h
    C:\Program Files\PICC\drivers\stddef.h
    C:\Program Files\PICC\drivers\ctype.h
    C:\Program Files\PICC\drivers\stdlib.h

Units:
    D:\P_FILES\PROJECTS\MARMAK\MARMAK_WBLOCK\Software\MW_71.c (main)

Compiler Settings:
    Processor:      PIC18F4620
    Pointer Size:   16
    ADC Range:      0-255
    Opt Level:      9
    Short,Int,Long: UNSIGNED: 1,8,16
    Float,Double:   32,32

Output Files:
    Errors:      MW_71.err
    Ext Symbols: MW_71.esym
    INHX32:      MW_71.hex
    Symbols:     MW_71.sym
    List:        MW_71.lst
    Debug/COFF:  MW_71.cof
    Project:     MW_71.PJT
    Call Tree:   MW_71.tre
    Statistics:  MW_71.sta


the sym below working


Code:


000     @SCRATCH
001     @SCRATCH
001     _RETURN_
002     @SCRATCH
003     @SCRATCH
004     @SCRATCH
005-006 strtok.save
007-00A _Randseed
00B     STEP_DELAY_MOTOR_UP
00C     STEP_DELAY_MOTOR_DOWN
00D     HOLD_TIME_MOTOR_UP
00E     HOLD_TIME_MOTOR_DOWN
00F     CENTER_POINT_OF_MOTOR_UP
010     CENTER_POINT_OF_MOTOR_DOWN
011     VIB_TO_CUP_UP_DELAY
012     CUP_UP_TO_CUP_DOWN_DELAY
013     CUP_DOWN_TO_MAIN_DOOR_DELAY
014     AD_SETTLING_TIME
015     CHANNEL_ID
016     SLOW_DISCHARGE_ANGLE
017-034 VIB_INTENSITY
035-052 VIB_DURATION
053     STEP_DELAY_MOTOR_MAIN_A
054     STEP_DELAY_MOTOR_MAIN_B
055     STEP_DELAY_MOTOR_MAIN_C
056     STEP_DELAY_MOTOR_MAIN_D
057     HOLD_TIME_MOTOR_MAIN_D
058-059 AD_COEFF
05A     PROGRAM_ID
05B-05C PID_OFFSET
05D     STEP_CNTUP
05E     STEP_CNTDW
05F     VIB_CNT
060     PHASE_UP
061     PHASE_DW
062     PHASE_VIB
063     STEP_OUTPUT
064-065 DELAY_TICKS_UP
066-067 DELAY_TICKS_DOWN
068-069 DELAY_TICKS_VIB
06A-06B DELAY_TICKS_AD
06C-06D TIMER0_CNT
06E-06F TARGET_TIMER
070-071 TIMER0_IS
072-075 DATA485_
076     FUNC485_
077-07A CHID485_
07B-C31 MODBUS_PACKET
C32     AD_COM_REG
C33     AD_STATUS_REG
C34-C37 AD_DATA_REG
C38-C3B AD_DATA_REGT
C3C-C3F AD_MODE_REG
C40-C43 AD_CONF_REG
C44-C47 AD_FILTER_REG
C48     AD_DAC_REG
C49-C4C AD_OFFSET_REG
C4D-C50 AD_GAIN_REG
C51-C54 AD_TEST_REG
C55-C58 AD_DATA_REGZERO
C59-C5C AD_DATA_REGAV
C5D-C66 U_DATA
C67-C75 P_NAME
C76.0   RCV_TOGGLE
C76.1   COMMUNICATION_TYPE
C76.2   SEQUENTIAL_DISCHARGE
C76.3   AVERAGE_CONTROL
C76.4   ON_START_BOTH_UP_DOWN
C76.5   AUTOMATIC_VIBRATOR_INTENSITY
C76.6   DISCHARGE_OF_MAIN_DOOR
C76.7   FEEDING_MACHINE
C77     CNT1
C78     SOFTWARE_VERSION
C79-C7C GENERAL_PARAMETERS
C7D     NUMBER_OF_DEFFERENT_PRODUCTS
C7E     DISCHARGE_PER_PACKAGE
C7F.0   HOLD_MAIN_DOOR_ON_MULTIPLE_DISCHARGE
C80     NUMBER_OF_CHANNELS
C81     REJECT_SIGNAL
C82     MAIN_DOOR
C83-C84 TARGET_WEIGHT
C85-C86 UPPER_LIMIT
C87-C88 LOWER_LIMIT
C89-C8A C1TARGET_WEIGHT
C8B-C8C C2TARGET_WEIGHT
C8D-C8E C3TARGET_WEIGHT
C8F-C90 C4TARGET_WEIGHT
C91     C1MAX_DEVIATION
C92     C2MAX_DEVIATION
C93     C3MAX_DEVIATION
C94     C4MAX_DEVIATION
C95-C98 DISABLED_CHANNELS
C99     SEQUENTIAL_DISCHARGE_DELAY
C9A     REMOVE_TARE_PERIOD
C9B     DISCHARGE_NUMBER_UP_TO_TARE
C9C     NOT_IN_COMBINATION_LIMIT
C9D     FILLING_PERCENTAGE
C9E-CA1 DATA485
CA2     FUNC485
CA3-CA6 CHID485
CA7-CA8 CONT_.CNT16
CA7     MAIN.@SCRATCH1
CA8     MAIN.@SCRATCH2
CA9-CAC ADJUST_TARGET_WEIGHT_C1C2.TWEIGHT_
CA9-CAC WRITE_AD_GAIN_REG.AD_GAIN_REG_
CA9-CAC ADJUST_MAX_DEVIATION.MAX_DEVIATION_
CA9-CAA atoi.s
CA9-CAA atoi32.s
CA9-CAC WRITE_AD_OFFSET_REG.AD_OFFSET_REG_
CA9     MAKE_CALIBRATION.CNT1
CA9     DISCHARGE_CHANNEL.temp
CA9     TEST_VIBRATOR.CNT1
CA9-CAC ADJUST_TARGET_WEIGHT_C3C4.TWEIGHT_
CA9     FEED_PRODUCT_FROM_CUP_UP.temp
CA9     GET_READY_FOR_START.CNT1
CA9-CAC ADJUST_GENERAL_PARAMETERS.GENERAL_PARAMETERS_
CA9     REFRESH_CHANNEL_IDS.CNT1
CA9     @GETCH_1_.@SCRATCH1
CA9     FUNCTION_DECODE.@SCRATCH1
CA9     SEND_CHANNEL_ID.@SCRATCH1
CA9     GET_GR.@SCRATCH1
CA9     CONT_.@SCRATCH1
CA9     MAIN.@SCRATCH3
CAA     READ_GAIN_REG.CNT1
CAA     TEST_MOTOR_DOWN.CNT1
CAA     SAVE_PROGRAM.PROGRAM_ID_
CAA     ADJUST_REMOVE_TARE_PERIOD.REMOVE_TARE_PERIOD_
CAA     READ_DAC_REG.CNT1
CAA     ADJUST_CENTER_POINT_OF_MOTOR_DOWN.CENTER_POINT_OF_MOTOR_DOWN_
CAA     ADJUST_AD_SETTLING_TIME.AD_SETTLING_TIME_
CAA-CAD ADJUST_MAX_DEVIATION_C1C2C3C4.DEVIATION_C1C2C3C4_
CAA-CAB @DIV1616.P1
CAA     ADJUST_VIB_TO_CUP_UP_DELAY.VIB_TO_CUP_UP_DELAY_
CAA     ADJUST_HOLD_TIME_MOTOR_DOWN.HOLD_TIME_MOTOR_DOWN_
CAA     REMOVE_TARE.CNT1
CAA     ADJUST_SLOW_DISCHARGE_ANGLE.SLOW_DISCHARGE_ANGLE_
CAA     ADJUST_CHANNEL_DISABLE.CHANNEL_DISABLE_
CAA     ADJUST_STEP_DELAY_MOTOR_UP.STEP_DELAY_MOTOR_UP_
CAA     ADJUST_STEP_DELAY_MOTOR_MAIN_D.STEP_DELAY_MOTOR_MAIN_D_
CAA     ADJUST_STEP_DELAY_MOTOR_DOWN.STEP_DELAY_MOTOR_DOWN_
CAA     ADJUST_SEQUENTIAL_DISCHARGE_DELAY.SEQUENTIAL_DISCHARGE_DELAY_
CAA     ADJUST_STEP_DELAY_MOTOR_MAIN_B.STEP_DELAY_MOTOR_MAIN_B_
CAA     ADJUST_STEP_DELAY_MOTOR_MAIN_C.STEP_DELAY_MOTOR_MAIN_C_
CAA     ADJUST_HOLD_TIME_MOTOR_UP.HOLD_TIME_MOTOR_UP_
CAA     ADJUST_CUP_UP_TO_CUP_DOWN_DELAY.CUP_UP_TO_CUP_DOWN_DELAY_
CAA     DELETE_PROGRAM.PROGRAM_ID_
CAA     ADJUST_FILLING_PERCENTAGE.FILLING_PERCENTAGE_
CAA     GET_AD.CNT1
CAA     REFRESH_CHANNEL_IDS.CNT2
CAA     SET_PROGRAM.PROGRAM_ID_
CAA     ADJUST_HOLD_TIME_MOTOR_MAIN_D.HOLD_TIME_MOTOR_MAIN_D_
CAA     TEST_MOTOR_UP.CNT1
CAA     ADJUST_CENTER_POINT_OF_MOTOR_UP.CENTER_POINT_OF_MOTOR_UP_
CAA     WRITE_AD_DAC_REG.AD_DAC_REG_
CAA     ADJUST_STEP_DELAY_MOTOR_MAIN_A.STEP_DELAY_MOTOR_MAIN_A_
CAA     READ_OFFSET_REG.CNT1
CAA-CAB WRITE_AD_MODE_REG.AD_MODE_REG_
CAA     ADJUST_VIBRATOR_INTENSITY.VIB_INTENSITY_
CAA     ADJUST_CUP_DOWN_TO_MAIN_DOOR_DELAY.CUP_DOWN_TO_MAIN_DOOR_DELAY
CAA     ADJUST_NOT_IN_COMBINATION_LIMIT.NOT_IN_COMBINATION_LIMIT_
CAA     ADJUST_VIBRATOR_DURATION.VIB_DURATION_
CAA-CAD WRITE_AD_FILTER_REG.AD_FILTER_REG_
CAA     FUNCTION_DECODE.@SCRATCH2
CAA     GET_READY_FOR_START.@SCRATCH1
CAA     DISCHARGE_CHANNEL.@SCRATCH1
CAA     FEED_PRODUCT_FROM_CUP_UP.@SCRATCH1
CAA     TEST_VIBRATOR.@SCRATCH1
CAA     MAKE_CALIBRATION.@SCRATCH1
CAA     GET_GR.@SCRATCH2
CAA     MAIN.@SCRATCH4
CAB     atoi.result
CAB     @PRINTF_X_56.P1
CAB     READ_DATA_REG.CNT1
CAB     REFRESH_CHANNEL_IDS.CNT3
CAB     RESTORE_DATAS.CNT1
CAB     WRITE_AD_DAC_REG.CNT1
CAB     STORE_DATAS.CNT1
CAB-CAE atoi32.result
CAB     READ_OFFSET_REG.@SCRATCH1
CAB     READ_GAIN_REG.@SCRATCH1
CAB     FUNCTION_DECODE.@SCRATCH3
CAB     DISCHARGE_CHANNEL.@SCRATCH2
CAB     FEED_PRODUCT_FROM_CUP_UP.@SCRATCH2
CAB     ADJUST_CHANNEL_DISABLE.@SCRATCH1
CAB     ADJUST_SEQUENTIAL_DISCHARGE_DELAY.@SCRATCH1
CAB     ADJUST_REMOVE_TARE_PERIOD.@SCRATCH1
CAB     ADJUST_FILLING_PERCENTAGE.@SCRATCH1
CAB     ADJUST_STEP_DELAY_MOTOR_UP.@SCRATCH1
CAB     ADJUST_STEP_DELAY_MOTOR_DOWN.@SCRATCH1
CAB     ADJUST_HOLD_TIME_MOTOR_UP.@SCRATCH1
CAB     ADJUST_HOLD_TIME_MOTOR_DOWN.@SCRATCH1
CAB     ADJUST_CENTER_POINT_OF_MOTOR_UP.@SCRATCH1
CAB     ADJUST_CENTER_POINT_OF_MOTOR_DOWN.@SCRATCH1
CAB     ADJUST_VIB_TO_CUP_UP_DELAY.@SCRATCH1
CAB     ADJUST_CUP_UP_TO_CUP_DOWN_DELAY.@SCRATCH1
CAB     ADJUST_AD_SETTLING_TIME.@SCRATCH1
CAB     ADJUST_SLOW_DISCHARGE_ANGLE.@SCRATCH1
CAB     ADJUST_VIBRATOR_INTENSITY.@SCRATCH1
CAB     ADJUST_VIBRATOR_DURATION.@SCRATCH1
CAB     ADJUST_STEP_DELAY_MOTOR_MAIN_A.@SCRATCH1
CAB     ADJUST_STEP_DELAY_MOTOR_MAIN_B.@SCRATCH1
CAB     ADJUST_STEP_DELAY_MOTOR_MAIN_C.@SCRATCH1
CAB     ADJUST_STEP_DELAY_MOTOR_MAIN_D.@SCRATCH1
CAB     ADJUST_HOLD_TIME_MOTOR_MAIN_D.@SCRATCH1
CAB     TEST_MOTOR_UP.@SCRATCH1
CAB     TEST_MOTOR_DOWN.@SCRATCH1
CAB     TEST_VIBRATOR.@SCRATCH2
CAB     REMOVE_TARE.@SCRATCH1
CAB     MAKE_CALIBRATION.@SCRATCH2
CAB     GET_AD.@SCRATCH1
CAB     GET_GR.@SCRATCH3
CAB     SET_PROGRAM.@SCRATCH1
CAB     SAVE_PROGRAM.@SCRATCH1
CAB     MAIN.@SCRATCH5
CAC     atoi.sign
CAC     @PRINTF_X_56.P1
CAC     RESTORE_DATAS.TEMP1
CAC     RECV_RS485.CNT1
CAC-CAD @DIV1616.P1
CAC     WRITE_AD_MODE_REG.CNT1
CAC     SEND_RS485.CNT1
CAC     READ_DATA_REG.@SCRATCH1
CAC     STORE_DATAS.@SCRATCH1
CAC     FUNCTION_DECODE.@SCRATCH4
CAC     DISCHARGE_CHANNEL.@SCRATCH3
CAC     FEED_PRODUCT_FROM_CUP_UP.@SCRATCH3
CAC     REFRESH_CHANNEL_IDS.@SCRATCH1
CAC     ADJUST_SEQUENTIAL_DISCHARGE_DELAY.@SCRATCH2
CAC     ADJUST_REMOVE_TARE_PERIOD.@SCRATCH2
CAC     ADJUST_FILLING_PERCENTAGE.@SCRATCH2
CAC     ADJUST_STEP_DELAY_MOTOR_UP.@SCRATCH2
CAC     ADJUST_STEP_DELAY_MOTOR_DOWN.@SCRATCH2
CAC     ADJUST_HOLD_TIME_MOTOR_UP.@SCRATCH2
CAC     ADJUST_HOLD_TIME_MOTOR_DOWN.@SCRATCH2
CAC     ADJUST_CENTER_POINT_OF_MOTOR_UP.@SCRATCH2
CAC     ADJUST_CENTER_POINT_OF_MOTOR_DOWN.@SCRATCH2
CAC     ADJUST_VIB_TO_CUP_UP_DELAY.@SCRATCH2
CAC     ADJUST_CUP_UP_TO_CUP_DOWN_DELAY.@SCRATCH2
CAC     ADJUST_AD_SETTLING_TIME.@SCRATCH2
CAC     ADJUST_SLOW_DISCHARGE_ANGLE.@SCRATCH2
CAC     ADJUST_VIBRATOR_INTENSITY.@SCRATCH2
CAC     ADJUST_VIBRATOR_DURATION.@SCRATCH2
CAC     ADJUST_STEP_DELAY_MOTOR_MAIN_A.@SCRATCH2
CAC     ADJUST_STEP_DELAY_MOTOR_MAIN_B.@SCRATCH2
CAC     ADJUST_STEP_DELAY_MOTOR_MAIN_C.@SCRATCH2
CAC     ADJUST_STEP_DELAY_MOTOR_MAIN_D.@SCRATCH2
CAC     ADJUST_HOLD_TIME_MOTOR_MAIN_D.@SCRATCH2
CAC     TEST_MOTOR_UP.@SCRATCH2
CAC     TEST_MOTOR_DOWN.@SCRATCH2
CAC     TEST_VIBRATOR.@SCRATCH3
CAC     MAKE_CALIBRATION.@SCRATCH3
CAC     GET_AD.@SCRATCH2
CAC     GET_GR.@SCRATCH4
CAC     SAVE_PROGRAM.@SCRATCH2
CAD     atoi.base
CAD-CAE ADJUST_TARGET_WEIGHT.TARGET_WEIGHT_
CAD     @delay_ms1.P1
CAD     WRITE_AD_OFFSET_REG.CNT1
CAD-CAE ADJUST_MAX_DEVIATION.TEMP1
CAD-CAE @MUL1616.P1
CAD     WRITE_AD_GAIN_REG.CNT1
CAD     @PRINTF_U_56.P1
CAD     RESTORE_DATAS.TEMP2
CAD     STORE_DATAS.@SCRATCH2
CAD     SEND_RS485.@SCRATCH1
CAD     RECV_RS485.@SCRATCH1
CAD     DISCHARGE_CHANNEL.@SCRATCH4
CAD     FEED_PRODUCT_FROM_CUP_UP.@SCRATCH4
CAD     ADJUST_GENERAL_PARAMETERS.@SCRATCH1
CAD     ADJUST_VIBRATOR_INTENSITY.@SCRATCH3
CAD     ADJUST_VIBRATOR_DURATION.@SCRATCH3
CAD     TEST_MOTOR_UP.@SCRATCH3
CAD     TEST_MOTOR_DOWN.@SCRATCH3
CAD     MAKE_CALIBRATION.@SCRATCH4
CAD     GET_AD.@SCRATCH3
CAE     RESTORE_DATAS.TEMP3
CAE     atoi.index
CAE     WRITE_AD_FILTER_REG.CNT1
CAE     @PRINTF_U_56.P1
CAE     @DIV1616.@SCRATCH1
CAE     WRITE_AD_OFFSET_REG.@SCRATCH1
CAE     WRITE_AD_GAIN_REG.@SCRATCH1
CAE     STORE_DATAS.@SCRATCH3
CAE     SEND_RS485.@SCRATCH2
CAE     ADJUST_GENERAL_PARAMETERS.@SCRATCH2
CAE     ADJUST_VIBRATOR_INTENSITY.@SCRATCH4
CAE     ADJUST_VIBRATOR_DURATION.@SCRATCH4
CAE     TEST_MOTOR_UP.@SCRATCH4
CAE     TEST_MOTOR_DOWN.@SCRATCH4
CAE     GET_AD.@SCRATCH4
CAF     atoi.c
CAF     @DIV88.P1
CAF     WRITE_AD_COM_REG.AD_COM_REG_
CAF-CB0 ADJUST_MAX_DEVIATION.TEMP2
CAF     RESTORE_DATAS.TEMP4
CAF-CB0 @MUL1616.P1
CAF     atoi32.sign
CAF     @delay_us1.P1
CAF     WRITE_AD_FILTER_REG.@SCRATCH1
CAF     STORE_DATAS.@SCRATCH4
CAF     ADJUST_GENERAL_PARAMETERS.@SCRATCH3
CAF     ADJUST_TARGET_WEIGHT.@SCRATCH1
CAF     ADJUST_VIBRATOR_INTENSITY.@SCRATCH5
CAF     ADJUST_VIBRATOR_DURATION.@SCRATCH5
CAF     GET_AD.@SCRATCH5
CB0-CB3 @PRINTF_L32U_56.P1
CB0     @DIV88.P2
CB0     WRITE_AD_COM_REG.CNT1
CB0     atoi32.base
CB0     @MUL88.P1
CB0     atoi.@SCRATCH1
CB0     STORE_DATAS.@SCRATCH5
CB0     RESTORE_DATAS.@SCRATCH1
CB0     ADJUST_GENERAL_PARAMETERS.@SCRATCH4
CB0     ADJUST_TARGET_WEIGHT.@SCRATCH2
CB1     atoi32.index
CB1     @MUL88.P1
CB1     @MUL1616.@SCRATCH1
CB1     atoi.@SCRATCH2
CB1     RESTORE_DATAS.@SCRATCH2
CB1     @DIV88.@SCRATCH1
CB1     ADJUST_TARGET_WEIGHT.@SCRATCH3
CB1     ADJUST_MAX_DEVIATION.@SCRATCH1
CB2     atoi32.c
CB2-CB3 @PRINTF_LU_56.P1
CB2     RESTORE_DATAS.@SCRATCH3
CB2     ADJUST_MAX_DEVIATION.@SCRATCH2
CB3     atoi32.@SCRATCH1
CB3     RESTORE_DATAS.@SCRATCH4
CB3     ADJUST_MAX_DEVIATION.@SCRATCH3
CB4     atoi32.@SCRATCH2
CB4     @PRINTF_LU_56.@SCRATCH1
CB4     RESTORE_DATAS.@SCRATCH5
CB4     @PRINTF_L32U_56.@SCRATCH1
CB5     atoi32.@SCRATCH3
CB5     @PRINTF_LU_56.@SCRATCH2
CB5     RESTORE_DATAS.@SCRATCH6
CB5     @PRINTF_L32U_56.@SCRATCH2
CB6     atoi32.@SCRATCH4
CB6     @PRINTF_LU_56.@SCRATCH3
CB6     RESTORE_DATAS.@SCRATCH7
CB6     @PRINTF_L32U_56.@SCRATCH3
CB7     atoi32.@SCRATCH5
CB7     @PRINTF_LU_56.@SCRATCH4
CB7     @PRINTF_L32U_56.@SCRATCH4
CB8     atoi32.@SCRATCH6
CB8     @PRINTF_LU_56.@SCRATCH5
CB8     @PRINTF_L32U_56.@SCRATCH5
CB9     @PRINTF_LU_56.@SCRATCH6
CB9     @PRINTF_L32U_56.@SCRATCH6
CBA     @PRINTF_LU_56.@SCRATCH7
CBA     @PRINTF_L32U_56.@SCRATCH7
CBB     @PRINTF_L32U_56.@SCRATCH8
CBC-CBF @DIV3232.P1
CBC     @PUTCHAR_1_.P2
CC0-CC3 @DIV3232.P1
CC4     @DIV3232.@SCRATCH1
CC5     @DIV3232.@SCRATCH2
CC6     @DIV3232.@SCRATCH3
CC7     @DIV3232.@SCRATCH4
CC8     @DIV3232.@SCRATCH5
F83     PSP_DATA
FB4.6   C1OUT
FB4.7   C2OUT
FBB     CCP_2_LOW
FBB-FBC CCP_2
FBC     CCP_2_HIGH
FBE     CCP_1_LOW
FBE-FBF CCP_1
FBF     CCP_1_HIGH
FE9-FEA @WRITE_PROGRAM_MEMORY.P1
FE9-FEA @READ_PROGRAM_MEMORY.P2
FF6-FF8 @READ_PROGRAM_MEMORY.P1
FF6-FF8 @WRITE_PROGRAM_MEMORY.P2

ROM Allocation:
203A  @delay_ms1
2960  @delay_us1
1274  @PUTCHAR_1_
22F8  @GETCH_1_
25E4  @MUL88
1252  @MUL1616
2634  atoi
2344  atoi32
30E8  @DIV1616
20EE  WRITE_AD_COM_REG
2254  WRITE_AD_MODE_REG
2160  WRITE_AD_FILTER_REG
2122  WRITE_AD_DAC_REG
2202  WRITE_AD_OFFSET_REG
21B0  WRITE_AD_GAIN_REG
5646  READ_DAC_REG
2A70  READ_DATA_REG
5526  READ_OFFSET_REG
55B6  READ_GAIN_REG
1374  STORE_DATAS
0004  @const546
12B8  @PRINTF_LU_56
0736  RESTORE_DATAS
2062  INIT_MOTOR_UP
20A8  INIT_MOTOR_DOWN
2D24  NEXT_STEP_UP
2D80  @goto11830
28E2  NEXT_STEP_DW
293E  @goto11843
2F66  VIBRATOR_PULSE
229A  INIT_LOADCELL
27D8  SEND_RS485
3DA6  RECV_RS485
2B00  @DIV3232
2B80  @PRINTF_L32U_56
3CF8  @DIV88
3D24  @PRINTF_U_56
61D6  FUNCTION_DECODE
2E92  GET_READY_FOR_START
312E  DISCHARGE_CHANNEL
38F6  FEED_PRODUCT_FROM_CUP_UP
3F5A  REFRESH_CHANNEL_IDS
4068  SEND_CHANNEL_ID
40D6  ADJUST_TARGET_WEIGHT_C1C2
40DA  ADJUST_TARGET_WEIGHT_C3C4
40DE  ADJUST_GENERAL_PARAMETERS
0022  @const587
42FE  ADJUST_TARGET_WEIGHT
004E  @const588
43EA  ADJUST_MAX_DEVIATION
0074  @const591
0092  @const592
45D4  ADJUST_CHANNEL_DISABLE
00B0  @const593
478E  ADJUST_SEQUENTIAL_DISCHARGE_DELAY
00D8  @const594
4828  ADJUST_REMOVE_TARE_PERIOD
010A  @const595
48C4  ADJUST_NOT_IN_COMBINATION_LIMIT
48C8  ADJUST_FILLING_PERCENTAGE
0134  @const596
4962  ADJUST_STEP_DELAY_MOTOR_UP
015E  @const597
4A02  ADJUST_STEP_DELAY_MOTOR_DOWN
018A  @const598
4AA2  ADJUST_HOLD_TIME_MOTOR_UP
01B8  @const599
4B3C  ADJUST_HOLD_TIME_MOTOR_DOWN
01E2  @const600
4BD6  ADJUST_CENTER_POINT_OF_MOTOR_UP
020E  @const601
4C76  ADJUST_CENTER_POINT_OF_MOTOR_DOWN
023E  @const602
4D16  ADJUST_VIB_TO_CUP_UP_DELAY
0270  @const603
4DB6  ADJUST_CUP_UP_TO_CUP_DOWN_DELAY
029C  @const604
4E56  ADJUST_CUP_DOWN_TO_MAIN_DOOR_DELAY
4E5A  ADJUST_AD_SETTLING_TIME
02CC  @const605
4EFA  ADJUST_MAX_DEVIATION_C1C2C3C4
4EFE  ADJUST_SLOW_DISCHARGE_ANGLE
02F4  @const606
4F9E  ADJUST_VIBRATOR_INTENSITY
0320  @const607
507E  ADJUST_VIBRATOR_DURATION
034A  @const608
5158  ADJUST_STEP_DELAY_MOTOR_MAIN_A
0374  @const609
51F8  ADJUST_STEP_DELAY_MOTOR_MAIN_B
03A4  @const610
5298  ADJUST_STEP_DELAY_MOTOR_MAIN_C
03D4  @const611
5338  ADJUST_STEP_DELAY_MOTOR_MAIN_D
0404  @const612
53D2  ADJUST_HOLD_TIME_MOTOR_MAIN_D
0434  @const616
2DA2  TEST_MOTOR_UP
2980  TEST_MOTOR_DOWN
546C  TEST_VIBRATOR
2C44  REMOVE_TARE
0462  @const621
0490  @const622
56E8  MAKE_CALIBRATION
04B6  @const624
04E8  @const625
0518  @const626
569E  @PRINTF_X_56
0542  @const630
056C  @const631
0596  @const633
05C8  @const640
05E4  @const642
0602  @const644
2FB4  GET_AD
0622  @const646
600A  GET_GR
60F2  SET_PROGRAM
063E  @const648
61A2  SAVE_PROGRAM
61D2  DELETE_PROGRAM
6514  CONT_
0666  @const662
068A  @const664
06AE  @const666
06D2  @const668
06EA  @const669
0706  @const670
0720  @const672
67BE  MAIN
67BE  @cinit
0136  StrtoulGO
0136  StrtolGO

Project Directory:
    D:\P_FILES\PROJECTS\MARMAK\MARMAK_WBLOCK\Software\

Project Files:
    MW_71.c
    MW_71.h
    C:\Program Files\PICC\devices\18F4620.h
    C:\Program Files\PICC\drivers\string.h
    C:\Program Files\PICC\drivers\stddef.h
    C:\Program Files\PICC\drivers\ctype.h
    C:\Program Files\PICC\drivers\stdlib.h

Units:
    D:\P_FILES\PROJECTS\MARMAK\MARMAK_WBLOCK\Software\MW_71.c (main)

Compiler Settings:
    Processor:      PIC18F4620
    Pointer Size:   16
    ADC Range:      0-255
    Opt Level:      9
    Short,Int,Long: UNSIGNED: 1,8,16
    Float,Double:   32,32

Output Files:
    Errors:      MW_71.err
    Ext Symbols: MW_71.esym
    INHX32:      MW_71.hex
    Symbols:     MW_71.sym
    List:        MW_71.lst
    Debug/COFF:  MW_71.cof
    Project:     MW_71.PJT
    Call Tree:   MW_71.tre
    Statistics:  MW_71.sta
dc_eng



Joined: 22 Jul 2009
Posts: 8

View user's profile Send private message

PROBLEM SOLVED ( I GUESS )
PostPosted: Thu Jul 23, 2009 7:24 am     Reply with quote

I was keep working on the receiver side since adding just a variable when the transmitter side is fixed causes problems.

One thing come to my mind. What if Receiver can't cope with the data rate when the program length increases.

I do the following I decrease the data rate than the function that does not work starts to work. So, I guess increasing my code by means of functions or variables makes PIC to go different page block. And it makes a slower execution.

But as I remember CCS C do not include variables and functions that doesn't used in code in order to save space.

My sym output file says opposite.
Wayne_



Joined: 10 Oct 2007
Posts: 681

View user's profile Send private message

PostPosted: Thu Jul 23, 2009 8:13 am     Reply with quote

Right!
Put KILLBILL as an int in a place it doesn't work.
Change it to an int16, does it work ?
Change it to an int32 does it work ?
Place KILLBILL as an int in a place it works.
Change it to an int16, does it work ?
Change it to an int32 does it work ?

Do not make t an array of 50 chars!
Do not put it at the top or bottom just for the sake of it.

As you move the variable around and change it's size it changes the location and boundary of other vars.
I am trying to find out if the boundary makes a difference.
Also if you move it 1 line at a time you may find out what variable is being moved that causes the problem.

You can start at a place where it works and start moving it up or down until it fails. When it fails you coninue to move it to see if it starts working again. It may work in several places it may not, all this is helpfull info if you show where it works and doesn't work. I don't mean to keep listing the .lst file or complete code each time but just make a note of it and then post the code with comments.

These are just simple ways to try and trace the problem.

If you just move it arbitarily then it doesn't help!

It may not be anything to do with the location of the var at all and this is just a waste of time Very Happy Have fun.
dc_eng



Joined: 22 Jul 2009
Posts: 8

View user's profile Send private message

LESSON LEARNED
PostPosted: Thu Jul 23, 2009 9:08 am     Reply with quote

Problem definitely solved.

1) If you have time critical jobs for PIC declare all related variables close each other.

2) Local variables can share same address with other variables that are not related so global declaration (static) helps to organize location of your related variables. Keeps them in same Memory Bank.

With these I can run my code without reducing data rate.

dc
Wayne_



Joined: 10 Oct 2007
Posts: 681

View user's profile Send private message

PostPosted: Thu Jul 23, 2009 9:12 am     Reply with quote

Bad practise to rely on your variables being placed in the same memory locations each time you compile.

You should use globals where required and not just because it makes your life easier. Use locals when the info is not required in the calling program and you cannot pass the values back OR you can get a speed increase by using globals.

If your program/pic is struggling at the speed you are using then you should consider a different pic/approach!

It sounds like you have not fixed the problem just hidden it.
Gabriel



Joined: 03 Aug 2009
Posts: 1067
Location: Panama

View user's profile Send private message

PostPosted: Tue Aug 11, 2009 3:47 pm     Reply with quote

Quote:
If I declare a variable like below it works
INT MODBUS_PACKET[17];

If I declare a variable like below it won't
INT MODBUS_PACKET[18];



Just a thought... I didnt read much into the post but...

if that array is a buffer and your expecting 18 characters

17 is the right dimension for your array...

If you are waiting for the array to be filled... well it wont happen... because by declaring a zize of 18 your "real" zize is of 19.....( 0-18 )

I'm probably telling you somthing you already know... but I am bored in my office and... well... sometimes its the dumbest things that make your program fail...and I recently made that mistake...also hehehe.

g
_________________
CCS PCM 5.078 & CCS PCH 5.093
Wayne_



Joined: 10 Oct 2007
Posts: 681

View user's profile Send private message

PostPosted: Thu Aug 13, 2009 2:36 am     Reply with quote

Gabriel wrote:
Quote:
If I declare a variable like below it works
INT MODBUS_PACKET[17];

If I declare a variable like below it won't
INT MODBUS_PACKET[18];



Just a thought... I didnt read much into the post but...

if that array is a buffer and your expecting 18 characters

17 is the right dimension for your array...

If you are waiting for the array to be filled... well it wont happen... because by declaring a zize of 18 your "real" zize is of 19.....( 0-18 )

I'm probably telling you somthing you already know... but I am bored in my office and... well... sometimes its the dumbest things that make your program fail...and I recently made that mistake...also hehehe.

g


You are completely wrong.

Declaring an array

int modbus_packet[17]; allocates 17 ints (bytes) worth of storage (0 to 16), NOT 18 (0 to 17) as you state!

The number in the []'s is the amount of storage you need 17 ints in this case the fact that C has a zero based index for arrays does NOT mean it gives you an extra index!

Code:

int modebus_packet[17];
int myval;

main ()
{
  modbus_packet[0] = 0xFF; // OK
  modbus_packet[16] = 0xFF; // OK

  modbus_packet[17] = 0xFF;  // This will overwrite myval IF the 2 vars are stored as they are defined
}
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Goto page Previous  1, 2
Page 2 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group