PAC and the serial killer

Discussion in 'C-Touch/HomeGate/SchedulePlus/PICED Software' started by Potemkin, Oct 27, 2005.

  1. Potemkin

    Potemkin

    Joined:
    Mar 23, 2005
    Messages:
    23
    Likes Received:
    0
    Location:
    Cape Town, SA
    Hi
    I am trying to control a SoundWeb audio DSP through it's rear RS232 port.
    I have written code for the PAC to test the communications and the protocol (or rather, my understanding of it). I have connected the PAC to C-Bus (duh) and I have connected the power required for the serial communications - a single, wire-wound 220V-24V 12VA transformer. (Why this is required still puzzles me).
    Anyway, the voltage measures accurate and when I run the logic through my laptop (connected through a USB-Com converter) I get the desired response. However, the PAC sends no serial commands. I have checked this with Hyperterminal as well as other com port spy programs. I have connected the laptop through a 3-wire Null modem cable to make sure that the problem is not with flow control or handshaking.
    I have tried changing control to port 2, then back to 1, but nothing seems to persuade the PAC to start serialing. I have used 2 different cables, a 8-wire null modem and a 3-wire null modem with the pinouts as in the little booklet.
    Please help.

    ***************************
    PS: the testing code-
    {Enter Initialisation code here}
    OpenSerial(1, 1, 38400, 8, 1, 0, 0);
    EnableModule(0);
    EnableModule(1);

    {Sets PC Vol to 0dB}
    once (GetLightingState("Hall1HiBays") = ON) then
    begin
    {Starts transmission}
    WriteSerial(1,#2#132);
    {Set Handle}
    WriteSerial(1,#0#0#0#67);
    {Set Method}
    WriteSerial(1,#1#0#8#5);
    {Set Value (0dB)}
    WriteSerial(1,#0#0);
    {Set Checksum byte}
    WriteSerial(1,#203);
    {Ends transmission}
    WriteSerial(1,#3);
    end;

    {Sets PC Vol to -40dB}
    once (GetLightingState("Hall1HiBays") = OFF) then
    begin
    {Starts transmission}
    WriteSerial(1,#2#132);
    {Set Handle}
    WriteSerial(1,#0#0#0#67);
    {Set Method}
    WriteSerial(1,#1#0#8#5);
    {Set Value (-40dB)}
    WriteSerial(1,#216#0);
    {Set Checksum byte}
    WriteSerial(1,#19);
    {Ends transmission}
    WriteSerial(1,#3);
    end;
     
    Last edited by a moderator: Oct 28, 2005
    Potemkin, Oct 27, 2005
    #1
  2. Potemkin

    Newman

    Joined:
    Aug 3, 2004
    Messages:
    2,203
    Likes Received:
    0
    Location:
    Adelaide, South Australia
    Why the RS-232 power

    The separate power supply is required for the RS-232 communications because the RS-232 connection is optically isolated from all of the other internal electronics.

    Having a separate supply for the RS-232 comms protects against things like wiring faults bringing down C-Bus, keeps the size and cost of the unit down and maintains statutory isolation requirements. It also provides plenty of power for the RS-232 communication. To provide internally powerered RS-232 ports would most likely take the unit up to an 8M wide unit, increase the current consumption of the unit and make it more expensive.

    Who knows what wierd and wacky devices people will connect up to the PAC and we need the capacity to handle as many of them as we can.
     
    Newman, Oct 27, 2005
    #2
  3. Potemkin

    JasonCox

    Joined:
    Aug 17, 2004
    Messages:
    75
    Likes Received:
    0
    The baud rate you are using seems very high for serial communications. Try using 9600 instead of 38400.

    Then try stringing the commands into one writeserial command.

    then if that doesn't work, check that you don't need a CR LF at the end (#13#10).

    Also check that the music unit is set to RS232 and not RS484 because the PAC unit (or c-touch) will not work, but your laptop will! - I have had the same problem)
    Some units have two ports, one is set to RS232 by default and the other to RS484. Some have DIP switches to change this (sometimes on the inside of the box)
     
    JasonCox, Oct 28, 2005
    #3
  4. Potemkin

    Potemkin

    Joined:
    Mar 23, 2005
    Messages:
    23
    Likes Received:
    0
    Location:
    Cape Town, SA
    Newman - thanks for clearing that up, always wondered why it doesn't simply use an internal power supply... now I know
    Unfortunately, the Soundweb has a minimum baud of 38400, whereas the PAC has a maximum of 38400. Also, if the PAC did send RS232 instead of RS484 then hyperterminal would have caught the codes.
    Also unfortunate is that I'm flying out of here in 2 days and thus won't have time to figure out why the PAC won't send RS232, so I'm gonna have to use the dormant PC in the DB room and run a PICED "simulation" on it.
    Gonna take the PAC back to the office and try and get the serial comms to work - will post if sorted.
    Thanks for the input.
     
    Potemkin, Oct 28, 2005
    #4
  5. Potemkin

    Phil.H

    Joined:
    Jul 29, 2004
    Messages:
    466
    Likes Received:
    0
    Location:
    Sydney
    Serial Fun

    Make sure you have the latest firmware (2.2) in the PAC. Earlier version had a problem with serial.

    Also try quoting your string instead of (1,#5#9#7) try (1,'597'#13) or something like that. Your serial strings look a bit strange. See if you can get hold of a reference doc for your equipment.
     
    Phil.H, Oct 30, 2005
    #5
  6. Potemkin

    JasonCox

    Joined:
    Aug 17, 2004
    Messages:
    75
    Likes Received:
    0
    You could be on the right track here... :cool:

    You will find that (1,'597'#13) will send the ASCII equivilant, which is hex $35,$39,$37

    sending (1,#5#9#7) will send hex $05,$09,$07 which is fine if that is what the unit accepts. This could be the reason why you are not seeing them in hyper terminal because these codes do not relate to text, thus not displaying a visable character. In my experience most units DO use ASCII and not hex codes.

    Go to http://www.ascii.cl/ for a complete list of codes
     
    JasonCox, Oct 30, 2005
    #6
  7. Potemkin

    Darren Senior Member

    Joined:
    Jul 29, 2004
    Messages:
    2,361
    Likes Received:
    0
    Location:
    Adelaide, South Australia
    I think that the problem may be the use of ASCII character #0. It appears that the PAC may have a bug with this, which I will try to fix ASAP.
     
    Darren, Oct 31, 2005
    #7
  8. Potemkin

    Potemkin

    Joined:
    Mar 23, 2005
    Messages:
    23
    Likes Received:
    0
    Location:
    Cape Town, SA
    Thanks for all the replies guys.
    I have plugged in a PCI and used a PC to emulate the code. The problem is most definately with the PAC, as the PC runs the code flawlessly. For clarification - I am running the would-be PAC logic program on PICED, connected to C-Bus via a PCI and set up to use COM5, not COM1 as I would with the PAC.
    I have included the code, should any of you know of other issues with the PAC.
    Also note that each SoundWeb DSP's program will differ, and thus the codes sent to it.
    Code:
    {Enter Variable definitions here}
    VR                                : real;
    RH,MH,Val,CS                      : integer;
    message, CM                       : string;
    H1D5,H1M1,H1M2,H1M3,H1MW,H1PC          : real;
    H2D5,H2M1,H2M2,H2M3,H2MW,H2PC          : real;
    H3D5,H3M1,H3M2,H3M3,H3MW,H3PC          : real;
    CDREC, CDBAR                           : real;
    
    procedure SendSWRS(RH,MH :Integer; VR: Real);
    
    var
    Val, CS : Integer;
    message : string;
    
    
    begin
      {Setting "sendfriendly" value}
      Val := round(256 - (0.00123*sqr(VR-255)));
      {computing Checksum}
      CS := 141;
      CS := CS XOR RH;
      CS := CS XOR MH;
      CS := CS XOR Val;
      Format(message,chr(2),chr(132),chr(0),chr(0));
      WriteSerial(1,message);
      Format(message,chr(0),chr(RH),chr(1),chr(0));
      WriteSerial(1,message);
        {Characters 3 and 6 appear as Ack or Nak and thus need to be changed}
      if ((MH = 6) OR (MH = 3))then
      begin
        MH := MH + 128;
        Format(message,chr(8),chr(27),chr(MH),chr(Val),chr(0));
        WriteSerial(1,message);
      end
      else
      begin
        Format(message,chr(8),chr(MH),chr(Val),chr(0));
        WriteSerial(1,message);
      end;
      Format(message,chr(CS),chr(3));
      WriteSerial(1,message);
    end;
    
    
    
    {Enter Initialisation code here}
    
    OpenSerial(1, 5, 38400, 8, 1, 0, 0);
    
    
    {Set Soundweb  settings}
      RH := 66; {Sets room handle H1=66, H2=67, H3=68}
    {*******}
       {00-Mic1}
      MH := 0;
      {Acquire level and pass to serial control procedure}
      VR := GetLightingLevel("SWH1M1");
      if (VR <> H1M1) then
      begin
        H1M1 := VR;
        SendSWRS(RH,MH,VR);
      end;
    {***}
       {01-Mic2}
      MH := 1;
      {Acquire level and pass to serial control procedure}
      VR := GetLightingLevel("SWH1M2");
      if (VR <> H1M2) then
      begin
        H1M2 := VR;
        SendSWRS(RH,MH,VR);
      end;
    {***}
       {03-Mic3}
      MH := 3;
      {Acquire level and pass to serial control procedure}
      VR := GetLightingLevel("SWH1M3");
      if (VR <> H1M3) then
      begin
        H1M3 := VR;
        SendSWRS(RH,MH,VR);
      end;
    {***}
       {04-MicWireLess}
      MH := 4;
      {Acquire level and pass to serial control procedure}
      VR := GetLightingLevel("SWH1MW");
      if (VR <> H1MW) then
      begin
        H1MW := VR;
        SendSWRS(RH,MH,VR);
      end;
    {***}
       {05-PC/DVD/SAT}
      MH := 5;
      {Acquire level and pass to serial control procedure}
      VR := GetLightingLevel("SWH1PC");
      if (VR <> H1PC) then
      begin
        H1PC := VR;
        SendSWRS(RH,MH,VR);
      end;
    {***}
       {06-D5isc CD Changer}
      MH := 6;
      {Acquire level and pass to serial control procedure}
      VR := GetLightingLevel("SWH1D5");
      if (VR <> H1D5) then
      begin
        H1D5 := VR;
        SendSWRS(RH,MH,VR);
      end;
    {***}
       {06-D5isc CD Changer}
      MH := 6;
      {Acquire level and pass to serial control procedure}
      VR := GetLightingLevel("SWH1D5");
      SendSWRS(RH,MH,VR);
    {************************}
    
    
      RH := 67; {Sets room handle H1=66, H2=67, H3=68}
    {*******}
       {00-Mic1}
      MH := 0;
      {Acquire level and pass to serial control procedure}
      VR := GetLightingLevel("SWH2M1");
      if (VR <> H2M1) then
      begin
        H2M1 := VR;
        SendSWRS(RH,MH,VR);
      end;
    {***}
       {01-Mic2}
      MH := 1;
      {Acquire level and pass to serial control procedure}
      VR := GetLightingLevel("SWH2M2");
      if (VR <> H2M2) then
      begin
        H2M2 := VR;
        SendSWRS(RH,MH,VR);
      end;
    {***}
       {03-Mic3}
      MH := 3;
      {Acquire level and pass to serial control procedure}
      VR := GetLightingLevel("SWH2M3");
      if (VR <> H2M3) then
      begin
        H2M3 := VR;
        SendSWRS(RH,MH,VR);
      end;
    {***}
       {04-MicWireLess}
      MH := 4;
      {Acquire level and pass to serial control procedure}
      VR := GetLightingLevel("SWH2MW");
      if (VR <> H2MW) then
      begin
        H2MW := VR;
        SendSWRS(RH,MH,VR);
      end;
    {***}
       {05-PC/DVD/SAT}
      MH := 5;
      {Acquire level and pass to serial control procedure}
      VR := GetLightingLevel("SWH2PC");
      if (VR <> H2PC) then
      begin
        H2PC := VR;
        SendSWRS(RH,MH,VR);
      end;
    {***}
       {06-D5isc CD Changer}
      MH := 6;
      {Acquire level and pass to serial control procedure}
      VR := GetLightingLevel("SWH2D5");
      if (VR <> H2D5) then
      begin
        H2D5 := VR;
        SendSWRS(RH,MH,VR);
      end;
    {***}
       {06-D5isc CD Changer}
      MH := 6;
      {Acquire level and pass to serial control procedure}
      VR := GetLightingLevel("SWH2D5");
      SendSWRS(RH,MH,VR);
    
    {************************}
    
      RH := 68; {Sets room handle H1=66, H2=67, H3=68}
    {*******}
       {00-Mic1}
      MH := 0;
      {Acquire level and pass to serial control procedure}
      VR := GetLightingLevel("SWH3M1");
      if (VR <> H3M1) then
      begin
        H3M1 := VR;
        SendSWRS(RH,MH,VR);
      end;
    {***}
       {01-Mic2}
      MH := 1;
      {Acquire level and pass to serial control procedure}
      VR := GetLightingLevel("SWH3M2");
      if (VR <> H3M2) then
      begin
        H3M2 := VR;
        SendSWRS(RH,MH,VR);
      end;
    {***}
       {03-Mic3}
      MH := 3;
      {Acquire level and pass to serial control procedure}
      VR := GetLightingLevel("SWH3M3");
      if (VR <> H3M3) then
      begin
        H3M3 := VR;
        SendSWRS(RH,MH,VR);
      end;
    {***}
       {04-MicWireLess}
      MH := 4;
      {Acquire level and pass to serial control procedure}
      VR := GetLightingLevel("SWH3MW");
      if (VR <> H3MW) then
      begin
        H3MW := VR;
        SendSWRS(RH,MH,VR);
      end;
    {***}
       {05-PC/DVD/SAT}
      MH := 5;
      {Acquire level and pass to serial control procedure}
      VR := GetLightingLevel("SWH3PC");
      if (VR <> H3PC) then
      begin
        H3PC := VR;
        SendSWRS(RH,MH,VR);
      end;
    {***}
       {06-D5isc CD Changer}
      MH := 6;
      {Acquire level and pass to serial control procedure}
      VR := GetLightingLevel("SWH3D5");
      if (VR <> H3D5) then
      begin
        H3D5 := VR;
        SendSWRS(RH,MH,VR);
      end;
    {************************}
       {Reception}
      RH := 47;
      MH := 0;
      {Acquire level and pass to serial control procedure}
      VR := GetLightingLevel("SWCDRec");
      if (VR <> CDREC) then
      begin
        CDREC := VR;
        SendSWRS(RH,MH,VR);
      end;
    {***}
       {Bar}
      RH := 54;
      MH := 0;
      {Acquire level and pass to serial control procedure}
      VR := GetLightingLevel("SWCDBar");
      if (VR <> CDBAR) then
      begin
        CDBAR := VR;
        SendSWRS(RH,MH,VR);
      end;
    
     
    Last edited by a moderator: Nov 2, 2005
    Potemkin, Nov 2, 2005
    #8
  9. Potemkin

    Potemkin

    Joined:
    Mar 23, 2005
    Messages:
    23
    Likes Received:
    0
    Location:
    Cape Town, SA
    Back at the Office

    Hi.
    Decided to run a number of tests on PAC try and determine whether it tunes out at a specific frequency or what.
    Problem is, it does nothing. Simple logic: If Group 8 is On, Switch Group 7 Off and Vice Versa, simulates fine from PC, but nothing from PAC.
    The Unit Comms light flashes every 3 seconds or so.
    This is the Log from PAC:

    Code:
    Start Log
    PICED Version 3.2.0.0
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Rx "8F 02 00 08 00 C7 FE A0 "
    PAC      : Rx : PAC Error 199 (Logic has taken too long)
    PAC      : Tx "8F 01 00 06 FF 6A "
    PAC      : Rx "FF FF 00 06 FD FC "
    PAC      : Tx "80 FF 00 06 FE 7B "
    PAC      : Rx "FF FF 00 06 FD FC "
    Even If I run it for about 5 minutes - same thing.
    Maybe my problem wasn't with the serial port after all?
     
    Potemkin, Nov 3, 2005
    #9
  10. Potemkin

    Darren Senior Member

    Joined:
    Jul 29, 2004
    Messages:
    2,361
    Likes Received:
    0
    Location:
    Adelaide, South Australia
    The PAC is designed for small bits of logic. It appears that you have too much logic in there. It is getting to line 199 then running out of time.

    Often code can be written more efficiently so that it runs faster. Alternatively, change the code so that it doesn't all run on every loop.
     
    Darren, Nov 4, 2005
    #10
  11. Potemkin

    mikegriff

    Joined:
    Aug 3, 2004
    Messages:
    153
    Likes Received:
    3
    Location:
    Wales
    Hi Darren

    Could you expand on the limitations of the size of code in both PAC and CTS
    thanks
    Mike
     
    mikegriff, Nov 4, 2005
    #11
  12. Potemkin

    Charlie Crackle

    Joined:
    Aug 3, 2004
    Messages:
    815
    Likes Received:
    8
    Location:
    Melbourne

    Is this the module loop time or all the modules loop time ?? some modules will run quicker than others. I your were talking to a device at 1200 baud this would take quite some time (in cpu time) to get the data out the port. Could this over run this timer?

    Why does it run OK in PICED then ??

    Charles
     
    Charlie Crackle, Nov 4, 2005
    #12
  13. Potemkin

    Darren Senior Member

    Joined:
    Jul 29, 2004
    Messages:
    2,361
    Likes Received:
    0
    Location:
    Adelaide, South Australia
    The Colour Touch Screen can handle lots of logic code. It would be most unusual to produce a project which it couldn't handle.

    The PAC can handle a lot less. Unfortunately, it is very hard to quantify just how much, as it depends on exactly which instructions you are using. I will try to produce some useful guidelines, but in the meantime, all you can do is try it and see :(
     
    Darren, Nov 6, 2005
    #13
  14. Potemkin

    Darren Senior Member

    Joined:
    Jul 29, 2004
    Messages:
    2,361
    Likes Received:
    0
    Location:
    Adelaide, South Australia
    It is the total loop time which is the issue. PAC has a certain amount of time to run the logic, and if this time runs out, the logic engine gets re-started.

    The serial transmission and reception happen in the background and don't significantly affect the performance of the logic.

    Because PICED runs on a processor over 1000 times more powerful !
     
    Darren, Nov 6, 2005
    #14
  15. Potemkin

    Charlie Crackle

    Joined:
    Aug 3, 2004
    Messages:
    815
    Likes Received:
    8
    Location:
    Melbourne

    I undertand this, but if the project is for a PAC is there some way the PC could know that this will not run. You would not want to debug lines and lines of code on the PC just down download then "Crash and burn".

    Charles
     
    Charlie Crackle, Nov 7, 2005
    #15
  16. Potemkin

    ashleigh Moderator

    Joined:
    Aug 4, 2004
    Messages:
    2,397
    Likes Received:
    26
    Location:
    Adelaide, South Australia
    Good point. When PACs Dad gets back from his travels, we will suggest it to him.
     
    ashleigh, Nov 7, 2005
    #16
  17. Potemkin

    Potemkin

    Joined:
    Mar 23, 2005
    Messages:
    23
    Likes Received:
    0
    Location:
    Cape Town, SA
    Ok-the code isn't the most efficient, but taken into account that the specific Soundweb system was running at less than half of it's capacity - imagine the amount of code if it is programmed to, say, 80%.
    Let's hear from PAC's dad then...
     
    Potemkin, Nov 8, 2005
    #17
  18. Potemkin

    Darren Senior Member

    Joined:
    Jul 29, 2004
    Messages:
    2,361
    Likes Received:
    0
    Location:
    Adelaide, South Australia
    It is theoretically possible to guess at whether it will probably run in the PAC but to even do this would take a huge amount of work. I will look into posting some guidelines soon.
     
    Darren, Nov 10, 2005
    #18
  19. Potemkin

    Darren Senior Member

    Joined:
    Jul 29, 2004
    Messages:
    2,361
    Likes Received:
    0
    Location:
    Adelaide, South Australia
    Darren, Nov 25, 2005
    #19
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.