summaryrefslogtreecommitdiff
path: root/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/scale/scale_rptparser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/scale/scale_rptparser.cpp')
-rw-r--r--tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/scale/scale_rptparser.cpp150
1 files changed, 0 insertions, 150 deletions
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/scale/scale_rptparser.cpp b/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/scale/scale_rptparser.cpp
deleted file mode 100644
index 01ed980cfb..0000000000
--- a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/scale/scale_rptparser.cpp
+++ /dev/null
@@ -1,150 +0,0 @@
-/* Parser for standard HID scale (usage page 0x8d) data input report (ID 3) */
-#include "scale_rptparser.h"
-
-const char* UNITS[13] = {
- "units", // unknown unit
- "mg", // milligram
- "g", // gram
- "kg", // kilogram
- "cd", // carat
- "taels", // lian
- "gr", // grain
- "dwt", // pennyweight
- "tonnes", // metric tons
- "tons", // avoir ton
- "ozt", // troy ounce
- "oz", // ounce
- "lbs" // pound
-};
-
-ScaleReportParser::ScaleReportParser(ScaleEvents *evt) :
- scaleEvents(evt)
-{}
-
-void ScaleReportParser::Parse(HID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf)
-{
- bool match = true;
-
- // Checking if there are changes in report since the method was last called
- for (uint8_t i=0; i<RPT_SCALE_LEN; i++) {
- if( buf[i] != oldScale[i] ) {
- match = false;
- break;
- }
- }
- // Calling Game Pad event handler
- if (!match && scaleEvents) {
- scaleEvents->OnScaleChanged((const ScaleEventData*)buf);
-
- for (uint8_t i=0; i<RPT_SCALE_LEN; i++) oldScale[i] = buf[i];
- }
-}
-
-ScaleEvents::ScaleEvents( Max_LCD* pLCD ) :
-
- pLcd( pLCD )
-
-{}
-
-void ScaleEvents::LcdPrint( const char* str )
-{
-
- while( *str ) {
-
- pLcd->write( *str++ );
-
- }
-}
-
-void ScaleEvents::OnScaleChanged(const ScaleEventData *evt)
-{
-
- pLcd->clear();
- pLcd->home();
- pLcd->setCursor(0,0);
-
- if( evt->reportID != 3 ) {
-
- const char inv_report[]="Invalid report!";
-
- Serial.println(inv_report);
- LcdPrint(inv_report);
-
- return;
-
- }//if( evt->reportID != 3...
-
- switch( evt->status ) {
-
- case REPORT_FAULT:
- Serial.println(F("Report fault"));
- break;
-
- case ZEROED:
- Serial.println(F("Scale zero set"));
- break;
-
- case WEIGHING: {
-
- const char progress[] = "Weighing...";
- Serial.println(progress);
- LcdPrint(progress);
- break;
- }
-
- case WEIGHT_VALID: {
-
- char buf[10];
- double weight = evt->weight * pow( 10, evt->exp );
-
-
-
- Serial.print(F("Weight: "));
- Serial.print( weight );
- Serial.print(F(" "));
- Serial.println( UNITS[ evt->unit ]);
-
- LcdPrint("Weight: ");
- dtostrf( weight, 4, 2, buf );
- LcdPrint( buf );
- LcdPrint( UNITS[ evt->unit ]);
-
- break;
-
- }//case WEIGHT_VALID...
-
- case WEIGHT_NEGATIVE: {
-
- const char negweight[] = "Negative weight";
- Serial.println(negweight);
- LcdPrint(negweight);
- break;
- }
-
- case OVERWEIGHT: {
-
- const char overweight[] = "Max.weight reached";
- Serial.println(overweight);
- LcdPrint( overweight );
- break;
- }
-
- case CALIBRATE_ME:
-
- Serial.println(F("Scale calibration required"));
- break;
-
- case ZERO_ME:
-
- Serial.println(F("Scale zeroing required"));
- break;
-
- default:
-
- Serial.print(F("Undefined status code: "));
- Serial.println( evt->status );
- break;
-
- }//switch( evt->status...
-
-}