- Labornetzteil AliExpress         
Seite 19 von 98 ErsteErste ... 917181920212969 ... LetzteLetzte
Ergebnis 181 bis 190 von 975

Thema: Rnbfra Multi-Thread und Netzwerkfähig mit GUI im www, jetzt

  1. #181
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Anzeige

    Powerstation Test
    Ich hab in der Wiki begonnen, das mal festzulegen

    https://www.roboternetz.de/wissen/in...pezifikationen


    EDIT an alle: Bei Widerspruch bitte laut quietschen. Grad bei den Spezifikationen sollten möglichst keine Dinge stehen, über die kein Konsens herrscht.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  2. #182
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    31.01.2004
    Ort
    36399
    Alter
    50
    Beiträge
    1.562
    sehr schön.

    so was bringe ich nie hin kann nur programieren.

    Die neue exe willst du wohl micht auch gut.

    Gruß
    P: Meine Tochter (06.11.07) und https://www.carnine.de
    M: Träumen hat nix mit Dummheit zu tun es ist die Möglichkeit neues zu erdenken

  3. #183
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    No-5 : Ich geb' zu, ich hab erst begonnen, es mir anzusehen.
    Leider kämpf ich ein bißchen zeitmäßig.
    Aber schaut doch gut aus ? Was sollte mir nicht gefallen ?

    Grad hab ich das Projekt rebuilden wollen . Er sucht
    "atlres.h"
    Ich steh auf dem Schlauch. Was will er ?
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  4. #184
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    31.01.2004
    Ort
    36399
    Alter
    50
    Beiträge
    1.562
    ist ein wtl projekt und dir fehlt wohl die WTL dort ist die datei dabei.

    Ist per mail auf dem Weg weil es noch die Alte ist und ich nicht weiß ob man die noch runterladen kann irgendwo muß mal die neue auf dem rechner machen.

    du hast in deinem Beispiel eine klammer vergessen nur so nebei
    ich bin gerade an der Protokoll klasse bei mir sieht das jetzt so aus:

    Code:
    bool CRNProtokoll::SetByteData(BYTE* Buffer,BYTE Len)
    {
    	BYTE x=0;
    	BYTE bLenAdd = 1; 
    	m_bLowLevel[0] = CTL_C_STX;
    	for(x=0;x<Len;x++)
    	{
    		if((Buffer[x] & CTL_M_MASK) == CTL_C_BASE)
    		{
    			m_bLowLevel[x+bLenAdd] = CTL_C_PFX;
    			bLenAdd++;
    			m_bLowLevel[x+bLenAdd] = Buffer[x];
    		}
    		else
    		{
    			m_bLowLevel[x+bLenAdd] = Buffer[x];
    		}
    		m_bTxBcc ^= Buffer[x]; 
    	}
    	m_bLowLevel[x+bLenAdd] = m_bTxBcc;
    	m_bLowLevel[x+bLenAdd+1] = CTL_C_ETX;
    	m_bLength = Len+2+bLenAdd;
    	return true;
    }
    Gruß[/code]
    P: Meine Tochter (06.11.07) und https://www.carnine.de
    M: Träumen hat nix mit Dummheit zu tun es ist die Möglichkeit neues zu erdenken

  5. #185
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Na, is ja schon !
    da solltest du noch modifizieren:
    m_bLowLevel[x+bLenAdd] = CTL_C_PFX;
    bLenAdd++;
    m_bLowLevel[x+bLenAdd] = Buffer[x] | CTL_M_ADON;
    Ganz profimäßig könntest du noch mit der Maximal-größe des Lowlevel-Buffers vergleichen, abbrechen und mit false zurückkehren.
    Durch das Stuffen ist nie ganz sicher, wie groß die Ausgabe wird.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  6. #186
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    31.01.2004
    Ort
    36399
    Alter
    50
    Beiträge
    1.562
    Jo das wollte ich eh noch machen da aber Fasching (bin zum musik machen unterwegs) ist weiß ich noch nicht wann ich schicke dir den source dann ok ?

    Ich hoffe du konntest es jetzt compilieren.

    Wenn wir jetzt das mich der Adresse definieren kann ich die dll anfangen und dann könnte mal eine ein VB Teil machen zu testen.

    Gruß
    P: Meine Tochter (06.11.07) und https://www.carnine.de
    M: Träumen hat nix mit Dummheit zu tun es ist die Möglichkeit neues zu erdenken

  7. #187
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    ..zum musik machen unterwegs..
    Ach ja ? Musiker ?
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  8. #188
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    31.01.2004
    Ort
    36399
    Alter
    50
    Beiträge
    1.562
    Musiker ?

    CD-Player -> Notebook -> Michpult -> 2 x 1,5 KW

    Alles Klar !?

    Code:
    bool CRNProtokoll::SetByteData(BYTE* Buffer,BYTE Len)
    {
    	// Daten in den Stream schreiben und Maskieren
    	// Framen
    	BYTE x=0;
    	BYTE bLenAdd = 1; 
    	m_bLowLevel[0] = CTL_C_STX;
    	for(x=0;x<Len;x++)
    	{
    		if((Buffer[x] & CTL_M_MASK) == CTL_C_BASE)
    		{
    			m_bLowLevel[x+bLenAdd] = CTL_C_PFX;
    			bLenAdd++;
    			m_bLowLevel[x+bLenAdd] = Buffer[x] | CTL_M_ADON;
    		}
    		else
    		{
    			m_bLowLevel[x+bLenAdd] = Buffer[x];
    		}
    		m_bTxBcc ^= Buffer[x];
    		
    		if((x+bLenAdd+2) >= 1024)
    		{
    			//Mehr Buffer haben wir nicht
    			return false;
    		}
    
    		if(x == 127)
    		{
    			// Neuen Frame an fangen
    			// Das müssen wir noch prüfen
    			m_bLowLevel[x+bLenAdd] = m_bTxBcc;
    			m_bLowLevel[x+bLenAdd+1] = CTL_C_ETX;
    			m_bLowLevel[x+bLenAdd+2] = CTL_C_STX;
    			bLenAdd = bLenAdd+2;
    			m_bTxBcc = 0;
    			m_bFrameCount ++;
    		}
    	}
    	m_bLowLevel[x+bLenAdd] = m_bTxBcc;
    	m_bLowLevel[x+bLenAdd+1] = CTL_C_ETX;
    	m_bLength = Len+2+bLenAdd;
    
    	return true;
    }
    Und so sieht der aufruf dann aus

    Code:
    void CMain::SendBuffer(BYTE *buffer,int len)
    {
    	// Daten zu sammenbauen und schicken
    
    	CRNProtokoll* pBuffer = new CRNProtokoll;
    
    	pBuffer->SetByteData(buffer,len);
    
    	// Wie lange ist das was wir senden müssen ?
    	len = pBuffer->GetLevel0(NULL);
    
    	BYTE* SendBuffer = new BYTE[len];
    	
    	// Holen der daten ?
    	pBuffer->GetLevel0(SendBuffer);
    
    	CString csTrace;
    	csTrace.Format("Schreibe Daten %s",BinToTrace(SendBuffer,len));
    	TraceIt(csTrace);
    
    	m_clV24.WriteOut(SendBuffer,len);
    
    	delete SendBuffer;
    	delete pBuffer;
    }

    Gruß
    P: Meine Tochter (06.11.07) und https://www.carnine.de
    M: Träumen hat nix mit Dummheit zu tun es ist die Möglichkeit neues zu erdenken

  9. #189
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    ..2 x 1,5 KW ..
    Ja, das macht Krach.
    Topic:
    Schaut gut aus. Mit dem "Frame-Split" bei Überlängen kommen wir jetzt natürlich ein ein Terrain, wo wir noch nicht so recht durchdefiniert bzw. diskutiert haben.
    Wenn du mich fragst, ich tät fürs Erste ganz einfach verweigern, wenn dir nettodaten > Max sind.
    Das deckt den momentanen Bedarf sicher ohnehin ab.

    Sind unsere anderen Kollegen eigentlich noch dabei ?

    EDIT: Deine Mail ist grad angekommen.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  10. #190
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Schau mal, vielleicht erspart es dir etwas Arbeit, so sieht meine Empfangsroutine aus (wird mit jedem über COM empfangenen Byte angesprungen)
    Da kommen zwar ein paar Sachen vor, die kannst du so nicht anwenden, aber die Logik ist erkennbar

    Code:
    #define RXTX_M_MSG     1           // inside Frame
    #define RXTX_M_PFX	     2           // Prefix detected
    
    //---------------------------------------------------------------------
    int CSnifferDlg::SniffChan(ROV_RXTX* pRx, unsigned char bInChar)
    {
           if (!(pRx->iComFlg & RXTX_M_MSG))
           {
                  if (bInChar == CTL_C_STX)
                  {
    	   pRx->sBf.BufSet((char*)&pRx->sMsg, 0);    // reset Buffer
    	   pRx->iComFlg = RXTX_M_MSG;
    	   pRx->iComBCC = 0;
                 }
           }
           else
          {
    	if (pRx->iComFlg & RXTX_M_PFX)
    	{
    		pRx->sBf.BufWrChar(bInChar & ~CTL_M_ADON);
    		pRx->iComFlg &= ~RXTX_M_PFX;
    		pRx->iComBCC ^= (bInChar & ~CTL_M_ADON);
    	}
    	else
    	{
                     	switch (bInChar)
    		{
    		case CTL_C_STX:		// Start condition
    		   pRx->sBf.BufSet((char*)&pRx->sMsg, 0);
    		   pRx->iComFlg = RXTX_M_MSG;
    		   pRx->iComBCC = 0;
    		   break;
    		case CTL_C_PFX:		// Prefix
    		   pRx->iComFlg |= RXTX_M_PFX;
    		   break;
    		case CTL_C_ETX:	               // End Condition
    		   pRx->sBf.BufToRead();         // write -> to read 
    		   pRx->iComFlg &= ~RXTX_M_PFX;
    		   pRx->iComFlg &= ~RXTX_M_MSG;
    		   pRx->iComCnt++;
    		   return(1);	// Message present
    		   break;
    		default:	
    		   pRx->sBf.BufWrChar(bInChar);
    		   pRx->iComBCC ^= bInChar;
    		   break;
    		}
    	}
            }
            return(0);		// no message complete
    }
    Zum Testen kannst du übrigens einfach die RX-TX Leitungen des RS232 Kabels überbrücken, dann kriegst du deine eigenen Frames als Echo zurück, aber das weißt du ja
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

Seite 19 von 98 ErsteErste ... 917181920212969 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen