Example #1
0
//!*************************************************************
//!	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);
}
Example #2
0
/*
 * 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();
}
Example #3
0
void printInteger(long n) {
  if (n < 0) {
    serial_write('-');
    n = -n;
  }

  printIntegerInBase(n, 10);
}
Example #4
0
//!*************************************************************
//!	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);
}
Example #5
0
void printInteger(long n)
{
  if(n < 0){
    printByte('-');
    n = -n;
  }
  printIntegerInBase(n, 10);
}
Example #6
0
/*
 * 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();
}
Example #7
0
/*
 * 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();
}
Example #8
0
/*
 * 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();
}
Example #9
0
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"));
}
Example #10
0
/*
 * 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();
}
Example #11
0
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"));  

}
Example #12
0
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;
  }
}
Example #13
0
//!*************************************************************
//!	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);	
}	
Example #14
0
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);
}
Example #16
0
void printBinary(unsigned long n)
{
    printIntegerInBase(n, 2);
}
Example #17
0
void printOctal(unsigned long n)
{
    printIntegerInBase(n, 8);
}
Example #18
0
void printHex(unsigned long n)
{
    printIntegerInBase(n, 16);
}
Example #19
0
/*
 * print( n ) - prints an unsigned long integer
 * 
 */
void WaspUSB::print(unsigned long n)
{
	secureBegin();
	printIntegerInBase(n, 10, _uart);
	secureEnd();
}