Structured Array


Closed Thread
Results 1 to 5 of 5

Hybrid View

  1. #1
    Join Date
    Sep 2009
    Posts
    755


    Did you find this post helpful? Yes | No

    Default Re: Structured Array

    I think that what you are trying to do is already done.
    http://www.picbasic.co.uk/forum/showthread.php?t=3891
    Look at Typcasting Variables inside of Arrays.
    MyArray holds all data. And you can access them by name eg Arg0, etc.
    So you could make usercommand to do this for you.

  2. #2
    Join Date
    May 2013
    Location
    australia
    Posts
    2,644


    Did you find this post helpful? Yes | No

    Default Re: Structured Array

    I think that what you are trying to do is already done.
    not really

    you would need to name every element
    eg bat1-drive ,bat1-current.............
    bat2-drive..................
    thats 50 named vars
    and how can you step through them in a loop ?
    my way
    for i= 0 to 10
    array_get i,volts,j
    array_get i,amps,k
    array_get i,drive,l
    serout x,y,z ["in some nice format" , j, k, l,/n]
    next
    simple clean easy to read
    Last edited by richard; - 29th March 2016 at 10:23. Reason: typo again ,i can't even cut and paste

  3. #3
    Join Date
    Nov 2005
    Location
    Bombay, India
    Posts
    967


    Did you find this post helpful? Yes | No

    Default Re: Structured Array

    How about this way?
    Code:
    ' ==============================================================================
    '  One log record
      voltage       con     0                 ' byte
      amps          CON    voltage+1      ' word (amps is 1 byte away from voltage)
      drive          CON    amps+2         ' word (drive is 2 bytes away from amps)
      climit          con    drive+2          ' word
      stat           con     climit+2         ' byte
      szLog         con     stat+1
    DataLog         var     byte[szLog]   ' reserve the bytes for structure
    This takes care of your struct size and also its member offsets - akin to doing it in assembler. This is similar to what you have suggested.

  4. #4
    Join Date
    May 2013
    Location
    australia
    Posts
    2,644


    Did you find this post helpful? Yes | No

    Default Re: Structured Array

    Well it works. I previously had 5 arrays now everything is in one nice contiguous block ready to send to the data logger. if nothing else the code [excluding the user command bits] looks simpler and more readable.
    using the
    ================================================== ============================
    ' One log record
    voltage con 0 ' byte
    amps CON voltage+1 ' word (amps is 1 byte away from voltage)
    drive CON amps+2 ' word (drive is 2 bytes away from amps)
    climit con drive+2 ' word
    stat con climit+2 ' byte
    szLog con stat+1
    DataLog var byte[szLog] ' reserve the bytes for structure
    method and ext var declarations is fine up until you need to have a mixed array with bytes and word vars and more than One log record that you can step through to read and write in a loop.

    my method works fine but I think its only cosmetically better than in this case using 5 separate arrays.
    anyway its been good practice with macros and user command

    here is the demo code if your interested on a 16f1825


    printout

    ready v2
    fetched a word 5139
    fetched a byte 24
    fetched put word 1234
    fetched put byte 56
    array byte to any byte 8
    array word to any word 3083
    any array byte to any byte 44
    any array word to any word 11308
    array variable byte to any byte 8
    array variable word to any word 3083
    any array variable byte to any byte 44
    any array variable word to any word 11308
    Battery V A PWM
    0 0 0201 0403
    1 8 0A09 0C0B
    2 16 1211 04D2
    3 56 1A19 1C1B
    4 32 2221 2423
    5 40 2A29 2C2B
    6 48 3231 3433
    7 56 3A39 3C3B
    8 64 4241 4443
    9 72 4A49 4C4B
    Attached Files Attached Files
    Last edited by richard; - 30th March 2016 at 10:11. Reason: added printout

Similar Threads

  1. Copying Array to Array
    By vamtbrider in forum mel PIC BASIC Pro
    Replies: 4
    Last Post: - 24th April 2010, 01:12
  2. Array and IF - THEN
    By Gusse in forum mel PIC BASIC Pro
    Replies: 9
    Last Post: - 25th February 2010, 12:52
  3. Custom array of ports using array?
    By blainecf in forum mel PIC BASIC Pro
    Replies: 22
    Last Post: - 18th June 2006, 01:43
  4. Array
    By ripmax in forum mel PIC BASIC Pro
    Replies: 0
    Last Post: - 29th March 2006, 22:21
  5. Word array behaving like byte array.... wierd
    By forgie in forum mel PIC BASIC Pro
    Replies: 14
    Last Post: - 2nd August 2005, 15:43

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts