This Forum is Dedicated For all The Object Oriented PIC Lovers .......... The concept behind OOPic is straight forward. Use preprogrammed multitasking Objects from a library of highly optimized Objects to do all the work of interacting with the hardware. Then write small scripts in Basic, C, or Java syntax styles to control the Objects. During operation, the Objects run continuously and simultaneously in the background while the scripts run in the foreground telling the objects what to do.

Saturday, February 23, 2008

Re: [oopic] Omp file in V6 - what is first column

dogulas wrote:
> Hi,
>
> I've been looking at parsing the Omp file to aquire address data of my
> objects for use in an SCP program. I understand what all the columns
> are for except the first one. It is labeled "P" and seems to contain
> either "V", "L", or nothing. My first guess is that it is "V"alue
> and "L"ogic, but that is just a guess.
>
> Can anyone spell this out for me?
>
> Thanks,
> Dogulas
>
>
>
>
>
Dogulas

I think your guess is probably correct WRT Value and Logic.
My preference would be to use the .OPS file to find addresses as there
is additional info that can be gleaned.

e.g.

Here is the OPS code generated for two objects namely Led1 and Led2

L1.Program.Begin
C0029:015 ;Ver.Num
C0030:128 ;Version.
L8.JumpTo.Main.Begin
C0031:137 ;16-Bit Value.
C0032:000 ;L4.StopApp.Begin.HighByte
C0033:012 ;L4.StopApp.Begin.LowByte
C0034:137 ;16-Bit Value.
C0035:000 ;L4.StopApp.Begin.HighByte
C0036:012 ;L4.StopApp.Begin.LowByte
C0037:137 ;16-Bit Value.
C0038:000 ;L6.Constructors.Begin.HighByte
C0039:016 ;L6.Constructors.Begin.LowByte
C0040:129 ;Branch.
L8.JumpTo.Main.End
L4.StopApp.Begin
C0041:137 ;16-Bit Value.
C0042:000 ;L4.StopApp.Begin.HighByte
C0043:012 ;L4.StopApp.Begin.LowByte
C0044:129 ;Branch.
L4.StopApp.End

L6.Constructors.Begin

L2.Construct.Begin ;Dim Led1 As oDIO1
C0045:041 ;This.Led1.Address
C0046:001 ;This.Led1.ArraySize
C0047:001 ;This.Led1.ObjSize
C0048:009 ;This.Led1.ClassID ;oDIO1
C0049:135 ;Create Object.
L2.Construct.End

L3.Construct.Begin ;Dim Led2 As oDIO1
C0050:042 ;This.Led2.Address
C0051:001 ;This.Led2.ArraySize
C0052:001 ;This.Led2.ObjSize
C0053:009 ;This.Led2.ClassID ;oDIO1
C0054:135 ;Create Object.
L3.Construct.End
C0055:251 ;Select Command Set2.
C0056:021 ;Set Construct Done.
L6.Constructors.End

L7.Init.Begin

L7.Init.End
C0057:129 ;Branch.

L1.Program.End

In your parsing program look for a match with the string
"Construct.Begin". The very next line will contain the name of the
object and its address. The address is preceded with ":" and will always
consists of 3 characters


L2.Construct.Begin ;Dim Led1 As oDIO1
C0045:041 ;This.Led1.Address


You do know that the address of objects can be found by right clicking
on the object in the object view and selecting either 'Information' or
'Memory map' or alternately by right clicking on the objects text in the
editor view and selecting information.

Should you want to use the branch command 'Y' then you will also need
the start address of the sub-procedures.
There is a tool in the files section of this group called " Sub Address
Finder" which does just that.

Ian

look for the match



Yahoo! Groups Links

<*> To visit your group on the web, go to:

http://groups.yahoo.com/group/oopic/

<*> Your email settings:
Individual Email | Traditional

<*> To change settings online go to:

http://groups.yahoo.com/group/oopic/join

(Yahoo! ID required)

<*> To change settings via email:
mailto:oopic-digest@yahoogroups.com
mailto:oopic-fullfeatured@yahoogroups.com

<*> To unsubscribe from this group, send an email to:
oopic-unsubscribe@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:

http://docs.yahoo.com/info/terms/

No comments: