Ignore:
Timestamp:
03/02/03 17:08:13 (22 years ago)
Author:
tbretz
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Cosy/devdrv
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Cosy/devdrv/macs.cc

    r1758 r1804  
    3131    : NodeDrv(nodeid, name, out), fMacId(2*nodeid+1),
    3232    fPos(0), fPosTime(0.0), fPdoPos(0), fPdoTime(0.0),
    33     fPosActive(0), fRpmActive(0)
     33    fPosActive(0), fRpmActive(0), fStatusPdo3(0xff)
    3434{
    3535//    fTimeout = new TTimer(this, 100); //, kFALSE); // 100ms, asynchronous
     
    5757
    5858    case 0x2002:
    59         cout << GetNodeName() << ": Actual velocity: " << dec << val << endl;
     59        cout << GetNodeName() << ": Current velocity: " << dec << val << endl;
    6060        fVel = val;
    6161        return;
     
    273273    SetNoWait(TRUE);
    274274
    275     StartGuarding(100, 2);
    276     StartHostGuarding();
     275    //    StartGuarding(500, 2);
     276    //    StartHostGuarding();
    277277}
    278278
     
    300300    SetPDO1On(FALSE);
    301301
    302     lout << "- " << GetNodeName() << ": Motor off." << endl;
    303     SendSDO(0x3000, string('o', 'f', 'f'));
    304     WaitForSdo(0x3000);
     302    /*
     303     lout << "- " << GetNodeName() << ": Motor off." << endl;
     304     SendSDO(0x3000, string('o', 'f', 'f'));
     305     WaitForSdo(0x3000);
     306     */
    305307
    306308    /*
     
    550552}
    551553
     554void Macs::HandlePDO3(BYTE_t *data, timeval_t *tv)
     555{
     556    // 3    5    7    9
     557    // 1100 1010 1110 1001
     558    if (fStatusPdo3 == data[3])
     559        return;
     560
     561    lout << GetNodeName() << ": Status PDO3 = ";
     562    const Bool_t ready = data[3]&0x01;
     563    const Bool_t fuse  = data[3]&0x02;
     564    const Bool_t emcy  = data[3]&0x04;
     565    const Bool_t vltg  = data[3]&0x08;
     566    const Bool_t mode  = data[3]&0x10;
     567    const Bool_t rf    = data[3]&0x20;
     568    const Bool_t brake = data[3]&0x40;
     569    if (ready) lout << "DKC-Ready ";
     570    if (fuse)  lout << "FuseOk ";
     571    if (emcy)  lout << "EmcyOk ";
     572    if (vltg)  lout << "OvervoltOk ";
     573    if (mode)  lout << "SwitchToManualMode ";
     574    if (rf)    lout << "RF ";
     575    if (brake) lout << "BrakeOpen ";
     576    lout << endl;
     577
     578    fStatusPdo3 = data[3];
     579}
     580
    552581// FIXME? Handling of fIsZombie?
    553582void Macs::HandleError()
  • trunk/MagicSoft/Cosy/devdrv/macs.h

    r1727 r1804  
    2828    BYTE_t   fStatus;
    2929
    30     LWORD_t string(BYTE_t b0=0, BYTE_t b1=0, BYTE_t b2=0, BYTE_t b3=0)
    31     {
    32         return (LWORD_t)(b0<<24 | b1<<16 | b2<<8 | b3);
    33     }
     30    BYTE_t   fStatusPdo3;
    3431
    3532    void Init();
     
    4239    void HandlePDO1(BYTE_t *data, timeval_t *tv);
    4340    void HandlePDO2(BYTE_t *data, timeval_t *tv);
     41    void HandlePDO3(BYTE_t *data, timeval_t *tv);
    4442    //void HandleNodeguard(timeval_t *tv);
    4543
     
    6765    Macs(const BYTE_t nodeid, const char *name=NULL, MLog &out=gLog);
    6866    virtual ~Macs();
     67
     68    static LWORD_t string(BYTE_t b0=0, BYTE_t b1=0, BYTE_t b2=0, BYTE_t b3=0)
     69    {
     70        return (LWORD_t)(b0<<24 | b1<<16 | b2<<8 | b3);
     71    }
    6972
    7073    void SendMsg(BYTE_t data[6]);
  • trunk/MagicSoft/Cosy/devdrv/shaftencoder.cc

    r1758 r1804  
    252252
    253253    //
     254    // Request Lifetimefactor for unknown reason to make guarding
     255    // working in SE/Az... (FIXME)
     256    //
     257    //    lout << "- " << GetNodeName() << ": Requesting Lifetimefactor (Workaround, FIXME!) (SDO 0x100d)." << endl;
     258    //    RequestSDO(0x100c);
     259    //    WaitForSdo(0x100c);
     260    //    RequestSDO(0x100d);
     261    //    WaitForSdo(0x100d);
     262
     263    //
    254264    // Set logic ticks/revolution = physical ticks/revolution => scale factor = 1
    255265    //
     
    291301    SendNMT(kNMT_START);
    292302
    293     StartGuarding(175, 2);
     303    /*
     304     cout << "---1---" << endl;
     305     MTimeout t(1000);
     306     while (!t.HasTimedOut())
     307      usleep(1);
     308     cout << "---2---" << endl;
     309     */
     310
     311    //    StartGuarding(175, 2); // 175
     312    // StartGuarding(10*GetId(), 2); // 175
    294313}
    295314
Note: See TracChangeset for help on using the changeset viewer.