From ef43c007e0c76d694bd0d4510d7a5b581cc9e2d5 Mon Sep 17 00:00:00 2001 From: Rob Tillaart Date: Thu, 23 Dec 2021 10:04:07 +0100 Subject: [PATCH] update library.json, license, minor edits (#6) --- LICENSE | 2 +- ParallelPrinter.cpp | 8 +++++--- ParallelPrinter.h | 14 ++++++++------ README.md | 13 +++++++++---- .../ParallelPrinter_test.ino | 7 +++---- examples/PrinterSimulator/PrinterSimulator.ino | 5 +---- .../Serial2ParallelPrinter.ino | 5 ++--- library.json | 2 +- library.properties | 2 +- test/unit_test_001.cpp | 18 ++++++++++-------- 10 files changed, 41 insertions(+), 35 deletions(-) diff --git a/LICENSE b/LICENSE index 39d07e3..c9bd779 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2013-2021 Rob Tillaart +Copyright (c) 2013-2022 Rob Tillaart Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/ParallelPrinter.cpp b/ParallelPrinter.cpp index 45bb2dd..ce06df7 100644 --- a/ParallelPrinter.cpp +++ b/ParallelPrinter.cpp @@ -1,7 +1,7 @@ // // FILE: ParallelPrinter.cpp // AUTHOR: Rob Tillaart -// VERSION: 0.2.3 +// VERSION: 0.2.4 // PURPOSE: parallel printer class that implements the Print interface // DATE: 2013-09-30 // URL: https://github.com/RobTillaart/ParallelPrinter @@ -13,6 +13,7 @@ // 0.2.2 2021-01-14 update readme, add linefeed(), add keywords.txt // 0.2.3 2021-11-11 update Arduino-CI, readme,md // add isBusy(); +// 0.2.4 2021-12-23 update library.json, license, minor edits #include "ParallelPrinter.h" @@ -34,7 +35,7 @@ ParallelPrinter::ParallelPrinter(uint8_t STROBE, uint8_t BUSY, uint8_t OOP, uint pinMode(_oopPin, INPUT); pinMode(_busyPin, INPUT); pinMode(_strobePin, OUTPUT); - + // DATA LINES for (uint8_t i = 0; i < 8; i++) { @@ -143,7 +144,7 @@ void ParallelPrinter::sendByte(uint8_t c) // BLOCK WHEN OUT OF PAPER TODO // while (digitalRead(_oopPin) == LOW) yield(); // indication in hardware? - + Serial.write(c); // debugging return; @@ -168,3 +169,4 @@ void ParallelPrinter::sendByte(uint8_t c) // -- END OF FILE -- + diff --git a/ParallelPrinter.h b/ParallelPrinter.h index f50e331..d6c5402 100644 --- a/ParallelPrinter.h +++ b/ParallelPrinter.h @@ -2,7 +2,7 @@ // // FILE: ParallelPrinter.h // AUTHOR: Rob Tillaart -// VERSION: 0.2.3 +// VERSION: 0.2.4 // PURPOSE: parallel printer class that implements the Print interface // DATE: 2013-09-30 // URL: https://github.com/RobTillaart/ParallelPrinter @@ -11,10 +11,10 @@ #include "Arduino.h" -#define PARALLELPRINTER_VERSION (F("0.2.3")) +#define PARALLELPRINTER_VERSION (F("0.2.4")) -#define FORMFEED 12 -#define LINEFEED 10 +#define FORMFEED 12 +#define LINEFEED 10 class ParallelPrinter: public Print @@ -36,7 +36,7 @@ public: uint8_t getLineNumber() { return _lineNr; }; uint8_t getPageNumber() { return _pageNr; }; uint8_t getPosition() { return _pos; }; - + // n = 2,4,6,8 void setTabSize(uint8_t n) { _tabSize = n; }; uint8_t getTabSize() { return _tabSize; }; @@ -54,6 +54,7 @@ public: void setStrobeDelay(uint16_t n = 2000) { _strobeDelay = n; }; uint16_t getStrobeDelay() { return _strobeDelay; }; + private: // COMMUNICATION uint8_t _strobePin; // inform printer new data on the line. @@ -72,10 +73,11 @@ private: uint8_t _pageNr; uint8_t _tabSize; uint8_t _lineFeed; - + bool _printLineNumber; uint16_t _strobeDelay; }; // -- END OF FILE -- + diff --git a/README.md b/README.md index b770a50..7e6e0ec 100644 --- a/README.md +++ b/README.md @@ -86,13 +86,18 @@ https://en.wikipedia.org/wiki/Parallel_port#Centronics - update documentation - extend unit tests? -- test more -- extend simulator sketch +- test more. +- extend simulator sketch. - Make a front end of a parallel printer, - Accepts the clocked bytes and print them e.g. over serial. - derive e.g. an HP or an EPSON printer from this class. - - special modes e.g. bold italic underline + - special modes e.g. bold italic underline. +- **write(uint8_t \* buf, uint8_t length)** should be added + - might not really add to performance.. +- fix blocking TODO in sendByte + + ## Operation -See examples +See examples. diff --git a/examples/ParallelPrinter_test/ParallelPrinter_test.ino b/examples/ParallelPrinter_test/ParallelPrinter_test.ino index 84d3ddd..571653d 100644 --- a/examples/ParallelPrinter_test/ParallelPrinter_test.ino +++ b/examples/ParallelPrinter_test/ParallelPrinter_test.ino @@ -1,11 +1,9 @@ // // FILE: ParPrinter_test.ino // AUTHOR: Rob Tillaart -// VERSION: 0.1.0 // PURPOSE: demo // DATE: 2020-05-26 -// (c) : MIT -// + #include "ParallelPrinter.h" @@ -59,7 +57,7 @@ void test3() for (int i = 0; i < 100; i++) PP.print("Hello World "); PP.printLineNumber(false); for (int i = 0; i < 100; i++) PP.print("Hello World "); - + PP.setTabSize(4); PP.printLineNumber(true); for (int i = 0; i < 100; i++) PP.print("Hello World "); @@ -83,3 +81,4 @@ void test3() // -- END OF FILE -- + diff --git a/examples/PrinterSimulator/PrinterSimulator.ino b/examples/PrinterSimulator/PrinterSimulator.ino index 3ea216e..2149d83 100644 --- a/examples/PrinterSimulator/PrinterSimulator.ino +++ b/examples/PrinterSimulator/PrinterSimulator.ino @@ -1,12 +1,9 @@ // // FILE: PrinterSimulator.ino // AUTHOR: Rob Tillaart -// VERSION: 0.1.0 // PURPOSE: demo // DATE: 2020-06-24 -// (c) : MIT - - +// // Simple parallel printer simulator, prints to serial... // version could be made with a shiftin register .... diff --git a/examples/Serial2ParallelPrinter/Serial2ParallelPrinter.ino b/examples/Serial2ParallelPrinter/Serial2ParallelPrinter.ino index 0250c47..b11c9e2 100644 --- a/examples/Serial2ParallelPrinter/Serial2ParallelPrinter.ino +++ b/examples/Serial2ParallelPrinter/Serial2ParallelPrinter.ino @@ -1,11 +1,9 @@ // // FILE: Serial2ParPrinter.ino // AUTHOR: Rob Tillaart -// VERSION: 0.1.1 // PURPOSE: demo // DATE: 2020-05-26 -// (c) : MIT -// + #include "ParallelPrinter.h" @@ -32,3 +30,4 @@ void loop() // -- END OF FILE -- + diff --git a/library.json b/library.json index cde7b40..a1e40b6 100644 --- a/library.json +++ b/library.json @@ -15,7 +15,7 @@ "type": "git", "url": "https://github.com/RobTillaart/ParallelPrinter.git" }, - "version": "0.2.3", + "version": "0.2.4", "license": "MIT", "frameworks": "arduino", "platforms": "*", diff --git a/library.properties b/library.properties index 6b00369..8004dc1 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=ParallelPrinter -version=0.2.3 +version=0.2.4 author=Rob Tillaart maintainer=Rob Tillaart sentence=Experimental (not complete) library to connect a parallel printer to Arduino. diff --git a/test/unit_test_001.cpp b/test/unit_test_001.cpp index 2d74977..dbf1d1f 100644 --- a/test/unit_test_001.cpp +++ b/test/unit_test_001.cpp @@ -38,33 +38,34 @@ unittest_setup() { + fprintf(stderr, "PARALLELPRINTER_VERSION: %s\n", (char *) PARALLELPRINTER_VERSION); } + unittest_teardown() { } + /* unittest(test_new_operator) { assertEqualINF(exp(800)); assertEqualINF(0.0/0.0); assertEqualINF(42); - + assertEqualNAN(INFINITY - INFINITY); assertEqualNAN(0.0/0.0); assertEqualNAN(42); } */ -// minimal +// minimal unittest(test_constructor_basic) { - fprintf(stderr, "VERSION: %s\n", PARALLELPRINTER_VERSION); - ParallelPrinter PP; - + PP.begin(); assertEqual(80, PP.getLineLength()); assertEqual(60, PP.getPageLength()); @@ -86,7 +87,7 @@ unittest(test_constructor_basic) // fprintf(stderr, "%d\n", PP.getLineNumber()); // fprintf(stderr, "%d\n", PP.getPageNumber()); // fprintf(stderr, "%d\n", PP.getPosition()); - + assertEqual(3, PP.getLineNumber()); // 0 based assertEqual(4, PP.getPageNumber()); // 0 based assertEqual(11, PP.getPosition()); // 0 based @@ -108,7 +109,7 @@ unittest(test_tabs_linefeed) fprintf(stderr, "0\t"); PP.setLineFeed(0); assertEqual(1, PP.getLineFeed()); // minimum LF size - + for (int LF = 1; LF < 4; LF +=2 ) { fprintf(stderr, "%d\t", LF); @@ -128,11 +129,12 @@ unittest(test_OutOfPaper) // TODO // state->digitalPin[12] = 0; // assertFalse(PP.isOutOfPaper()); - // + // // state->digitalPin[12] = 1; // assertTrue(PP.isOutOfPaper()); } + unittest_main() // --------