Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: notwendige Module Kategorie: Programmierung (von André H. - 29.10.2004 0:26)
Als Antwort auf notwendige Module von Johannes - 25.10.2004 14:42
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, CC2-Application-Board, CC2-StarterBoard, CC2-ReglerBoard, OSOPT V3.0
Hallo Johannes,

> im Moment habe ich noch etwas Kaos, da ich nicht genau sortieren kann, welche Module zwingend
> notwendg sind bei Nutzung von OSPOT V3.0.

Es heiÃ?t OSOPT V3.0, nicht "OSPOT".

Bedenke, daÃ? das OS und die Module zwei paar Schuhe sind.
Im Prinzip kann man jedes OS mit allen Modul-Versionen verwenden.
Es gibt wenige Ausnahmen, wie pcf8583.c2 oder flash.c2 . Dies steht jedoch immer
im Modulheader des betreffenden Moduls.


> Mein Versuch nur ein 2W-BusModem mit einem Modul: T23-100 anzuschlieÃ?en und die Temperatur
> anzuzeigen scheitert an nicht aufgelösten Funktionen (mit den mitgelieferten Beispielen -- für das
> alte Betreibssystem?)

Wie gesagt, das hat nichts mit den Betriebssystemversionen zu tun, sonder mit
den verwendeten Modulen.

>, z. B: im Modul t23100.c2 wird der Aufruf station_io.init angemängelt.
> dieses MOdul darf ja mit OSOPT V3.0 nicht mehr verwendet werden.

Das stimmt nicht. Die veralteten Module von Conrad können ohne weiteres noch
mit OSOPT V3.0 verwendet werden. Jedoch kann ich das keinem empfehlen.

> Was mir fehlt ist eine Querverweistabelle mit alten zu neuen Aufrufen, um die MOdule
> entsprechend abzuändern.
> Gibt es so etwas, wenn ja wo?

Soetwas gibt es nicht, da ich hierfür schlicht keine Zeit habe.
Aber, da die meisten Funktionen selbsterklärend sind und Hilfe-HTMLs existieren, sollte
das umstellen kein Problem sein.
Im Prinzip ersetzen die Module stports.c2 und stkeyb.c2 das Modul station_io.c2.
Statt station_io.init() schreibst Du eben stports.init().
Die Portfunktionen heiÃ?en etwas anders. Aber das sollte kein Problem darstellen.
Für LCD-Ausgaben verwendest Du das Modul lcdext.c2 .
Hier sind die Funktionen auch anders, als in den Original-Modulen von Conrad.
Jedoch sind diese leichter verständlich.
Das wichtigste ist, daÃ? Du anstatt station_lcd.home() und station_lcd.line2()
eben lcdext.line(1); bzw. lcdext.line(2); verwendest, was aber wiederum kein Problem sein sollte.
Bei der Print-Funktion wird keine länge des Strings angegeben.
die printlength-Funktion entspricht der Conrad-Print-Funktion.

Mit etwas Logik und lesen sollte die Umstellung auf die alternativen Module kein Problem darstellen.

Im Anhang noch der abgeänderte Code von t23_100.c2 .

MfG André H.

/*******************************************************/
/*   DEMO ZUR ANSTEUERUNG DER 2W-BUS RESOURCEN         */
/*******************************************************/
/* Author    :       DIE HARD                          */
/* Geändert  :       André Helbig                      */
/* Versionen :       2.0                               */
/* Datum     :       28. November 2004                 */
/* Getestet  :       ja                                */
/* Bemerkung :       Benutzung des Moduls twbus        */
/*******************************************************/
/* Bemerkung :     Benutzung der get_xxx funktion zum  */
/*                 Abfragen der 2W-BUS SENSOREN        */
/*                 Hier: der T23-100                   */
/*******************************************************/
  string s;

/*******************************************************/
/***   ERROR MESSAGE "NO SENSOR ......"                */
/*******************************************************/
function no_sensor_msg()
{
 lcdext.clear();
 lcdext.print("NO SENSOR......");
 plm.beep(plm.TONE_C2); sleep 50; plm.beep(plm.TONE_OFF);
 sleep 1000;
}

//IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
//IIIIIII              THREAD                      IIIIII
//IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
thread main
{float temp;
 stports.init();
 stports.LCDlight(-1);
 lcdext.init();
 twb.init();
// ------------- START MESSAGE -------------------------
 lcdext.print("   T-23-100");
 lcdext.line(2);
 lcdext.print("      DEMO");
 sleep 1000;
 lcdext.clear();
//--------------------------------------------------------
// -------- GET TEMP FROM SENSOR ADDRESS 85 --------------
//--------------------------------------------------------
 loop
 {
  temp=twbus.get_temp(85);
  if twbus.status
     no_sensor_msg();
// -----------    DISPLAY TEMPERATURE  -------------------
    else
    {
     lcdext.line(1);
     s = "TEMP= ";
     str.putfloatf(s,temp,2);
     str.putstring(s," C    ");
     lcdext.print(s);
    }
 }
}




Antworten bitte nur ins Forum!
Fragen per EMail auf Forum-Postings werden nicht beantwortet!

Das macht meine Heizung gerade


    Antwort schreiben


Antworten:

Re: notwendige Module (von Johannes - 29.10.2004 13:40)
    Re: notwendige Module (von André H. - 29.10.2004 19:34)