RoboterCC - Robotic Code Compiler
Forum Robot Kits NIBObee Nibobeelib: Fehler in der bgx1?

Welcome

Nachrichten

Sie sind nicht eingeloggt.

Werbung

Letzte Themen

  • Keine Beiträge vorhanden

Site-Statistic

  • 7433 private projects
  • 378 public projects
  • 16180353 lines compiled
  • 58212 builds
NIBO @ facebook YouTube Twitter
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
  • Seite:
  • 1

THEMA: Nibobeelib: Fehler in der bgx1?

Nibobeelib: Fehler in der bgx1? 9 Jahre 7 Monate her #3003

Ich wollte die nobobeelib mal mit -Werror kompilieren, in der aktuellen Version (SVN Rev. 59) bin ich dabei über folgendes gestoßen:
void bgx1_drawBitmap(uint8_t width, uint8_t height, const uint8_t bitmap[]) {
  const uint8_t * data = bitmap;
  uint8_t row_size = ((width-1)/8+1);
  uint8_t rows_per_tile = BITMAP_MAX/row_size;
  uint8_t x = bgx1_y;
  uint8_t y = bgx1_x;
  while (height) {
    bgx1_move(x, y);  <<<<<<<< In dieser Variante wird bgx1_move aufgerufen
    uint8_t h = (height>rows_per_tile)?rows_per_tile:height;
    bgx1_drawTile(width, h, data);
    while (h--) {
      data += row_size;
      height--;
      y++;
    }
  }  
}
 
void bgx1_drawBitmap_P(uint8_t width, uint8_t height, PGM_P bitmap) {
  PGM_P data = bitmap;
  uint8_t row_size = ((width-1)/8+1);
  uint8_t rows_per_tile = BITMAP_MAX/row_size;
  uint8_t x = bgx1_y; <<<<<< Warnung, unbenutzte Variable x
  uint8_t y = bgx1_x;
  while (height) {
                  <<<<<<<< Hier nicht
    uint8_t h = (height>rows_per_tile)?rows_per_tile:height;
    bgx1_drawTile_P(width, h, data);
    while (h--) {
      data += row_size;
      height--;
      y++;
    }
  }  
}
 

Eigentlich sollten wohl beide Varianten bis auf die Herkunft der Bitmap das gleiche machen, aber nur die nicht-_P Variante macht vorm dem Zeichnen ein bgx1_move, die _P-Variante aber nicht, weswegen es die Warnung nach der unbenutzten Variable gibt. Ich tendiere dazu in die _P Variante das bgx1_move einzubauen, binmir aber nicht 100%ig sicher, ob das dem Sinn der Bib entspricht. In der Doku steht, dass die Funktion an der aktuellen Positionen zeichnen soll. Wenn ich den Code richtig verstehe, nimmt die nicht _P variante die aktuelle Position nach einer Zeichenoperation (move gehört da nicht dazu), wäährend die _P Variante immer dann richtig ist, wenn vorher die Startposition mit move explizit gesetzt wurde?
Wenn das so sit würde ich bgx1_x/y in der bgx1_move ebenfalls setzen und in beiden drawBitmaps Variante das bgx1_move durchführen.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Nibobeelib: Fehler in der bgx1? 9 Jahre 7 Monate her #3004

  • workwind
  • workwinds Avatar
  • OFFLINE
  • Administrator
  • Beiträge: 573
-> svn update

Besten Dank! ;-)

-workwind-
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Nibobeelib: Fehler in der bgx1? 9 Jahre 6 Monate her #3007

  • BirgerT
  • BirgerTs Avatar
  • OFFLINE
  • Gold Boarder
  • Beiträge: 325
Und warum ist die BGX1 Firmware nicht mit im SVN Snapshot Download Paket..?

Schön auch, wenn der Source Code im Download Paket so wie im Repository nach Hardware sortiert ist und die NiboBee Examples mit beinhalten täte.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Nibobeelib: Fehler in der bgx1? 9 Jahre 6 Monate her #3008

  • BirgerT
  • BirgerTs Avatar
  • OFFLINE
  • Gold Boarder
  • Beiträge: 325
:oops: , habe gerade entdeckt, dass alles dabei ist, wenn der Snapshot aus "Tree[222]/niborobolib" heruntergeladen wird.

Bei einem Snapshot aus "Tree[222]" ist nur ein Teil dabei..?!

Edit..
Beim Snapshot aus ../niborobolib sind keine Hexfiles und Libs dabei - also braucht man doch beide o.a. Snapshots
Letzte Änderung: 9 Jahre 6 Monate her von BirgerT.
Der Administrator hat öffentliche Schreibrechte deaktiviert.
  • Seite:
  • 1
Ladezeit der Seite: 0.074 Sekunden

Werbung