aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Bodenmann <joel.bodenmann@hevs.ch>2012-10-24 16:38:43 +0200
committerJoel Bodenmann <joel.bodenmann@hevs.ch>2012-10-24 16:38:43 +0200
commite0c8011553db0129039d7c8101e4906fa9677fcf (patch)
tree3241b154105416193048762f585863ed1e0be2cd
parent6005051ac7a795cc48f6bf48ff9097dd7275ced3 (diff)
downloaduGFX-e0c8011553db0129039d7c8101e4906fa9677fcf.tar.gz
uGFX-e0c8011553db0129039d7c8101e4906fa9677fcf.tar.bz2
uGFX-e0c8011553db0129039d7c8101e4906fa9677fcf.zip
graph grid drawing fix
-rw-r--r--drivers/gdisp/S6D1121/gdisp_lld.c2
-rw-r--r--src/graph.c32
2 files changed, 24 insertions, 10 deletions
diff --git a/drivers/gdisp/S6D1121/gdisp_lld.c b/drivers/gdisp/S6D1121/gdisp_lld.c
index bf2e60f5..e199f58f 100644
--- a/drivers/gdisp/S6D1121/gdisp_lld.c
+++ b/drivers/gdisp/S6D1121/gdisp_lld.c
@@ -105,7 +105,7 @@ bool_t GDISP_LLD(init)(void) {
int FSMC_Bank = 0;
/* FSMC timing */
- FSMC_Bank1->BTCR[FSMC_Bank+1] = (10) | (10 << 8) | (10 << 16);
+ FSMC_Bank1->BTCR[FSMC_Bank+1] = (6) | (10 << 8) | (10 << 16);
/* Bank1 NOR/SRAM control register configuration */
FSMC_Bank1->BTCR[FSMC_Bank] = FSMC_BCR1_MWID_0 | FSMC_BCR1_WREN | FSMC_BCR1_MBKEN;
diff --git a/src/graph.c b/src/graph.c
index bd9c39c2..871e1e18 100644
--- a/src/graph.c
+++ b/src/graph.c
@@ -98,17 +98,31 @@ void graphDrawFourQuadrants(Graph *g) {
origin.x = middle_x;
origin.y = middle_y;
- /* X Axis */
+ /* X - Axis */
gdispDrawLine(g->x0, middle_y, g->x1, middle_y, g->color);
- if(g->grid_size > 0)
- for(i = 0; i <= (length_y / g->grid_size); i++)
- _horizontalDotLine(g->x0, g->y0 + g->grid_size * i, g->x1, g->dot_space, g->color);
-
- /* Y Axis */
+
+ /* draw X - Grid ? */
+ if(g->grid_size > 0) {
+ for(i = 1; i <= (middle_y / g->grid_size); i++) {
+ if(g->grid_size + g->grid_size * i <= middle_y)
+ _horizontalDotLine(g->x0, middle_y - g->grid_size * i, g->x1, g->dot_space, g->color);
+ if(g->grid_size * i <= middle_y)
+ _horizontalDotLine(g->x0, middle_y + g->grid_size * i, g->x1, g->dot_space, g->color);
+ }
+ }
+
+ /* Y - Axis */
gdispDrawLine(middle_x, g->y0, middle_x, g->y1, g->color);
- if(g->grid_size > 0)
- for(i = 0; i <= (length_x / g->grid_size); i++)
- _verticalDotLine(g->x0 + g->grid_size * i, g->y0, g->y1, g->dot_space, g->color);
+
+ /* draw Y - Grid ? */
+ if(g->grid_size > 0) {
+ for(i = 1; i <= (middle_x / g->grid_size); i++) {
+ if(g->grid_size + g->grid_size * i <= middle_x)
+ _verticalDotLine(middle_x - g->grid_size * i, g->y0, g->y1, g->dot_space, g->color);
+ if(g->grid_size * i <= middle_x)
+ _verticalDotLine(middle_x + g->grid_size * i, g->y0, g->y1, g->dot_space, g->color);
+ }
+ }
}
void graphDrawDot(coord_t x, coord_t y, uint16_t radius, color_t color) {