Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Diff: main.cpp
- Revision:
- 1:044238f7bdda
- Parent:
- 0:efb5eec6b8ea
- Child:
- 2:a5bc7b3779f7
--- a/main.cpp Fri Feb 22 12:26:52 2019 +0000
+++ b/main.cpp Fri Feb 22 12:57:19 2019 +0000
@@ -9,10 +9,65 @@
*/
#include "mbed.h"
-
+#include "N5110.h"
+#include <vector>
+
+ N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
int main()
{
- while (true) {
+ lcd.init();
+
+ while(1) {
+ lcd.clear();
+ for(int i = 0; i<5; i++){
+ float points[4][2] = {{rand()%20,rand()%20},{20+rand()%20, rand()%20}, {20+rand()%20,20+rand()%20}, {rand()%20,20+rand()%20}};
+
+ float length = sqrt(pow((double)(points[0][0]-points[1][0]),2.0) + pow((double)(points[0][1]-points[1][1]),2));
+ float length1 = sqrt(pow((double)(points[2][0]-points[3][0]),2.0) + pow((double)(points[2][1]-points[3][1]),2));
+
+ int diffX1 = points[0][0]-points[1][0];
+ int diffY1 = points[0][1]-points[1][1];
+ int diffX2 = points[2][0]-points[3][0];
+ int diffY2 = points[2][1]-points[3][1];
+
+ if (abs(diffX1) > abs(diffX2)){
+
+ float step = (float)diffY1/(float)diffX1;
+ float stepSmall1 = (float)diffX2/(float)diffX1;
+ float stepSmall2 = (float)diffY2/(float)diffX1;
+ lcd.printString("top",0,0);
+ for(int s = 0; s<= abs(diffX1)-1; s++){
+ lcd.drawLine(points[0][0]+s, rint(points[0][1]+step*s), rint(points[3][0]-stepSmall1*s), rint(points[3][1]-stepSmall2*s), 0);
+ lcd.drawLine(points[0][0]+s+1, rint(points[0][1]+step*s), rint(points[3][0]-stepSmall1*s-1), rint(points[3][1]-stepSmall2*s), 0);
+ }
+ lcd.printString("a",10,0);
+ }
+ else{
+ lcd.printString("bottom",0,0);
+ float step = (float)diffY2/(float)diffX2;
+ float stepSmall1 = (float)diffX1/(float)diffX2;
+ float stepSmall2 = (float)diffY1/(float)diffX2;
+
+ for(int s = 0; s<= abs(diffX2)-1; s++){
+ lcd.drawLine(points[0][0]-stepSmall1*s, rint(points[0][1]-stepSmall2*s),rint(points[3][0]+s), rint(points[3][1]+step*s), 0);
+ lcd.drawLine(points[0][0]-stepSmall1*s-1, rint(points[0][1]-stepSmall2*s),rint(points[3][0]+s+1), rint(points[3][1]+step*s), 0);
+ }
+ }
+ for (int i = 0; i < 3; i++){
+ lcd.drawLine(points[i][0],
+ points[i][1],
+ points[i+1][0],
+ points[i+1][1],
+ 1);
+ }
+ lcd.drawLine(points[0][0],
+ points[0][1],
+ points[3][0],
+ points[3][1],
+ 1);
+ }
+ lcd.refresh(); // refresh the LCD so the pixels appear
+ wait_ms(1000/1); // this gives a refresh rate of 10 frames per second
}
}
\ No newline at end of file