//!************************************************************* //! Name: send(long n, uint8_t base) //! Description: Sends data through the SPI. //! Param : long n: data to send. //! : uint8_t base : base representation. //! Returns: void //!************************************************************* void Wasp485::send(long n, uint8_t base) { if (base == BYTE) maxWrite(THR_REG,(char) n); else printIntegerInBase(n, base); }
/* * print( n ) - prints an unsigned long integer adding an EOL and a carriage return * */ void WaspUSB::println(unsigned long n) { secureBegin(); printIntegerInBase((uint32_t)n, 10, _uart); printNewline(_uart); secureEnd(); }
void printInteger(long n) { if (n < 0) { serial_write('-'); n = -n; } printIntegerInBase(n, 10); }
//!************************************************************* //! Name: send(long n) //! Description: Sends data through the SPI. //! Param : long n: data to send. //! Returns: void //!************************************************************* void Wasp485::send( long n) { if (n < 0) { maxWrite(THR_REG, '-'); n = -n; } printIntegerInBase(n , 10); }
void printInteger(long n) { if(n < 0){ printByte('-'); n = -n; } printIntegerInBase(n, 10); }
/* * print( n ) - prints a long integer * */ void WaspUSB::print(long n) { secureBegin(); if (n < 0) { printByte('-',_uart); n = -n; } printIntegerInBase((uint32_t)n, 10, _uart); secureEnd(); }
/* * print( n ) - prints an integer adding an EOL and a carriage return * */ void WaspUSB::println(int n) { secureBegin(); if (n < 0) { printByte('-',_uart); n = -n; } printIntegerInBase((uint32_t) n, 10, _uart); printNewline(_uart); secureEnd(); }
/* * printFloat( number , digits ) - prints a 'float' number * Parameters: * number : the number to print * digits : the number of non-integer part digits * */ void WaspUSB::printFloat(double number, uint8_t digits) { secureBegin(); // Handle negative numbers if (number < 0.0) { printByte('-', _uart); number = -number; } // Round correctly so that print(1.999, 2) prints as "2.00" double rounding = 0.5; for (uint8_t i=0; i<digits; ++i) rounding /= 10.0; number += rounding; // Extract the integer part of the number and print it unsigned long int_part = (unsigned long)number; double remainder = number - (double)int_part; printIntegerInBase(int_part, 10, _uart); // Print the decimal point, but only if there are digits beyond if (digits > 0) printByte('.',_uart); // Extract digits from the remainder one at a time while (digits-- > 0) { remainder *= 10.0; int toPrint = int(remainder); printIntegerInBase( (long) toPrint, 10, _uart); remainder -= toPrint; } secureEnd(); }
void settings_dump() { printPgmString(PSTR("$0 = ")); printFloat(settings.steps_per_mm[X_AXIS]); printPgmString(PSTR(" (steps/mm x)\r\n$1 = ")); printFloat(settings.steps_per_mm[Y_AXIS]); printPgmString(PSTR(" (steps/mm y)\r\n$2 = ")); printFloat(settings.steps_per_mm[Z_AXIS]); printPgmString(PSTR(" (steps/mm z)\r\n$3 = ")); printInteger(settings.pulse_microseconds); printPgmString(PSTR(" (microseconds step pulse)\r\n$4 = ")); printFloat(settings.default_feed_rate); printPgmString(PSTR(" (mm/min default feed rate)\r\n$5 = ")); printFloat(settings.default_seek_rate); printPgmString(PSTR(" (mm/min default seek rate)\r\n$6 = ")); printFloat(settings.mm_per_arc_segment); printPgmString(PSTR(" (mm/arc segment)\r\n$7 = ")); printInteger(settings.invert_mask); printPgmString(PSTR(" (step port invert mask. binary = ")); printIntegerInBase(settings.invert_mask, 2); printPgmString(PSTR(")\r\n$8 = ")); printFloat(settings.acceleration/(60*60)); // Convert from mm/min^2 for human readability printPgmString(PSTR(" (acceleration in mm/sec^2)\r\n$9 = ")); printFloat(settings.junction_deviation); printPgmString(PSTR(" (cornering junction deviation in mm)")); printPgmString(PSTR("\r\n'$x=value' to set parameter or just '$' to dump current settings\r\n")); }
/* * print( n , base ) - prints a long number in the specified base * */ void WaspUSB::print(long n, int base) { secureBegin(); if (base == 0) { printByte((char) n, _uart); } else if (base == 10) { printInteger(n, _uart); } else { printIntegerInBase(n, base, _uart); } secureEnd(); }
void settings_dump() { printPgmString(PSTR("PortC")); printInteger(PORTC); // printPgmString(PSTR("\r\nPortA")); printInteger(PORTA); // printPgmString(PSTR("\r\nPortB")); printInteger(PORTB); printPgmString(PSTR("\r\nddrC")); printInteger(DDRC); // printPgmString(PSTR("\r\nddrA")); printInteger(DDRA); // printPgmString(PSTR("\r\nddrB")); printInteger(DDRB); printPgmString(PSTR("\r\n$0 = ")); printFloat(settings.steps_per_mm[X_AXIS]); printPgmString(PSTR(" (steps/mm x)\r\n$1 = ")); printFloat(settings.steps_per_mm[Y_AXIS]); printPgmString(PSTR(" (steps/mm y)\r\n$2 = ")); printFloat(settings.steps_per_mm[Z_AXIS]); printPgmString(PSTR(" (steps/mm z)\r\n$3 = ")); printInteger(settings.pulse_microseconds); printPgmString(PSTR(" (microseconds step pulse)\r\n$4 = ")); printFloat(settings.default_feed_rate); printPgmString(PSTR(" (mm/min default feed rate)\r\n$5 = ")); printFloat(settings.default_seek_rate); printPgmString(PSTR(" (mm/min default seek rate)\r\n$6 = ")); printFloat(settings.mm_per_arc_segment); printPgmString(PSTR(" (mm/arc segment)\r\n$7 = ")); printInteger(settings.invert_mask); printPgmString(PSTR(" (step port invert mask. binary = ")); printIntegerInBase(settings.invert_mask, 2); printPgmString(PSTR(")\r\n$8 = ")); printFloat(settings.acceleration); printPgmString(PSTR(" (acceleration in mm/sec^2)\r\n$9 = ")); printFloat(settings.max_jerk); printPgmString(PSTR(" (max instant cornering speed change in delta mm/min)")); printPgmString(PSTR("\r\n'$x=value' to set parameter or just '$' to dump current settings\r\n")); }
void printFloat(double n) { if (n < 0) { serial_write('-'); n = -n; } n += 0.5/1000; // Add rounding factor long integer_part; integer_part = (int)n; printIntegerInBase(integer_part,10); serial_write('.'); n -= integer_part; int decimals = 3; uint8_t decimal_part; while(decimals-- > 0) { n *= 10; decimal_part = (int) n; serial_write('0'+decimal_part); n -= decimal_part; } }
//!************************************************************* //! Name: send(unsigned long n) //! Description: Sends data through the SPI. //! Param : unsigned long n: data to send. //! Returns: void //!************************************************************* void Wasp485::send(unsigned long n) { printIntegerInBase(n , 10); }
void WaspXBee::printNumber(unsigned long n, uint8_t base) { printIntegerInBase(n, base, _uart); }
void HardwareSerial::printNumber(unsigned long n, uint8_t base) { printIntegerInBase(n, base); }
void printBinary(unsigned long n) { printIntegerInBase(n, 2); }
void printOctal(unsigned long n) { printIntegerInBase(n, 8); }
void printHex(unsigned long n) { printIntegerInBase(n, 16); }
/* * print( n ) - prints an unsigned long integer * */ void WaspUSB::print(unsigned long n) { secureBegin(); printIntegerInBase(n, 10, _uart); secureEnd(); }