print

Writes variables to output device

Author Oliver "Kiste" Seitz, Copyright (c) 2011, all rights reserved.
Adapted-by Rob Hamerling
Compiler 2.4o

Description

.
Prints variables to output device, typically an lcd or a serial port
Input variables: bit, byte, sbyte, word, sword, dword, sdword
Output formats: decimal, hexadecimal, binary and some specials
.
For decimal output an arbitrary variable size supported.
The user may define a constant with a positive value greater than one.
  const PRINT_MAX_VAR_SIZE
before including this library to specify the highest variable size
is required for his program.
When not specified by the user a default of 4 is used, which means
variables upto dword or sdword are supported.
.
Examples:
.
var sword bhl = -684
.
Print the signed word in decimal notation on an LCD
  print_sword_dec(lcd, bhl)
will send "-684" to device 'lcd'
.
To send the same signed word to a serial port:
  print_sword_dec(serial_hw_data, bhl)
.
Specials:
print_crlf(serial_hw_data) will send CR + LF to the device 'serial_hw_data'.
.
const byte str1[] = "JalLibWorld V1.0"
print_string(lcd, str1) will display the string 'str' on an lcd.
.
. Note - the whole string - that is the length of the array -
. is printed. When you use a variable array to construct strings,
. you might want to terminate at a termination character like 0x00.
. You can set this termination character with:
. const byte print_string_terminator = 0x00
. (or use a var if you want to change it at runtime.)


Notes

.
- This library replaces an older version which had no scalability.
  It should be compatible with the old library except for:
  * All procedures for binary output have been renamed to
    print_xxxx_bin() for name consistency with '_dec' and '_hex'.
  * print_bit_truefalse() has been renamed to print_bit_logic()
  * print_bit_highlow() has been renamed to print_bit_level()
  * print_bit_10() has been renamed to print_bit_bin()
  * For renamed procedures a procedure issuing a deprecation
    warning is provided for compatibility.
  * The procedure print_sword_fp_dec() has been dropped.
    For output of fixed point numbers use the format library.
  * Some procedures are added to print signed bytes, words and double
    words in binary and hexadecimal format (without sign!).


Dependencies


Summary

Global variables/contants

Procedures

Private

Functions


API details

Global variables/contants

  • var bit print_prefix = FALSE

    Variable to indicate if formatted variables should have a prefix.
    When specified 'TRUE' the following prefixes will be part of the output:
     binary formats will be prefixed with '0b'
     hexadecimal formats will be prefixed with '0x'
     (decimal formats never have prefixes)
    

  • const PRINT_MAX_VAR_SIZE = 4

    Constant to define the maximum supported variable size (in bytes)
    to be supported by this library.
    

  • var byte*PRINT_MAX_VAR_SIZE _print_dec_divisor

    Global variable to determine number of decimal digits
    

Procedures

Private
  • _make_tenfold_divisor()

    Title:     Multiply _print_dec_divisor by 10
    Arguments: none
    Returns:   nothing
    Notes:     Used to determine the number of decimal digits
    
    


Functions


Related samples

Here are the list of samples which use this library:

16f193716f1937_serial_hw_int_cts.jal
16f193716f1937_serial_hardware.jal
16f648a16f648a_startersguide.jal
16f648a16f648a_serial_print.jal
16f648a16f648a_lcd_hd44780_pcf8574.jal
16f648a16f648a_serial_hardware.jal
16f648a16f648a_serial_hw_int_cts.jal
16f648a16f648a_i2c_sw_l1.jal
16f648a16f648a_lcd_hd44780_4bit.jal
16f648a16f648a_sqrt.jal
16f648a16f648a_i2c_sw_l0.jal
16f648a16f648a_ds18b20_single.jal
16f648a16f648a_backlight.jal
16f648a16f648a_lcd_dsm0822a.jal
16f648a16f648a_random.jal
16f72316f723_lcd_dsm0822a.jal
16f72316f723_serial_print.jal
16f72316f723_i2c_hw_slave_msg.jal
16f72316f723_sqrt.jal
16f72316f723_adc_independent.jal
16f72316f723_random.jal
16f72316f723_i2c_sw_l0.jal
16f72316f723_serial_hw_int_cts.jal
16f72316f723_i2c_sw_l1.jal
16f72316f723_startersguide.jal
16f72316f723_serial_hardware.jal
16f72316f723_i2c_hw_slave_eeprom_simulator.jal
16f72316f723_lcd_hd44780_pcf8574.jal
16f7316f73_serial_hw_int_cts.jal
16f7316f73_startersguide.jal
16f7316f73_adc_dependent.jal
16f7316f73_random.jal
16f7316f73_lcd_hd44780_pcf8574.jal
16f7316f73_lcd_dsm0822a.jal
16f7316f73_i2c_sw_l0.jal
16f7316f73_i2c_hw_slave_msg.jal
16f7316f73_serial_hardware.jal
16f7316f73_i2c_hw_slave_eeprom_simulator.jal
16f7316f73_serial_print.jal
16f7316f73_sqrt.jal
16f7316f73_i2c_sw_l1.jal
16f81916f819_ee25aa02e48_lcd.jal
16f81916f819_mcp2515_can_monitor.jal
16f81916f819_mcp2515_canid4_monitor.jal
16f876a16f876a_keyboard_lcd.jal
16f876a16f876a_adc.jal
16f876a16f876a_t6603.jal
16f876a16f876a_sht.jal
16f876a16f876a_rtc_lcd.jal
16f876a16f876a_tc77.jal
16f87716f877_backlight.jal
16f87716f877_i2c_sw_l1.jal
16f87716f877_servo_rc_slave.jal
16f87716f877_lcd_dsm0822a.jal
16f87716f877_serial_hw_int_cts.jal
16f87716f877_i2c_hw_slave_eeprom_simulator.jal
16f87716f877_adc_dependent.jal
16f87716f877_sqrt.jal
16f87716f877_lcd_hd44780_pcf8574.jal
16f87716f877_keyboard.jal
16f87716f877_serial_print.jal
16f87716f877_serial_hardware.jal
16f87716f877_ds18b20_single.jal
16f87716f877_slip_isr.jal
16f87716f877_adc.jal
16f87716f877_lcd_hd44780_4bit.jal
16f87716f877_startersguide.jal
16f87716f877_i2c_sw_l0.jal
16f87716f877_fat32_small_pata_hard_disk.jal
16f87716f877_i2c_hw_l0.jal
16f87716f877_fat32_small_sd_card.jal
16f87716f877_slip_poll.jal
16f87716f877_pata_hard_disk.jal
16f87716f877_i2c_hw_slave_msg.jal
16f87716f877_sd_card.jal
16f87716f877_random.jal
16f87716f877_stopwatch.jal
16f87716f877_i2c_hw_l1.jal
16f877a16f877a_i2c_hw_slave_msg.jal
16f877a16f877a_random.jal
16f877a16f877a_sqrt.jal
16f877a16f877a_sd_card.jal
16f877a16f877a_i2c_hw_l1.jal
16f877a16f877a_co2_t6603.jal
16f877a16f877a_pata_hard_disk.jal
16f877a16f877a_stopwatch.jal
16f877a16f877a_keyboard.jal
16f877a16f877a_print_serial_numbers.jal
16f877a16f877a_startersguide.jal
16f877a16f877a_lcd_dsm0822a.jal
16f877a16f877a_adc_dependent.jal
16f877a16f877a_lcd_hd44780_4bit.jal
16f877a16f877a_i2c_hw_l0.jal
16f877a16f877a_lcd_hd44780_pcf8574.jal
16f877a16f877a_fat32_small_pata_hard_disk.jal
16f877a16f877a_servo_rc_slave.jal
16f877a16f877a_23k256.jal
16f877a16f877a_serial_hw_int_cts.jal
16f877a16f877a_keyboard_lcd.jal
16f877a16f877a_rtc_lcd.jal
16f877a16f877a_ds18b20_single.jal
16f877a16f877a_slip_poll.jal
16f877a16f877a_i2c_hw_slave_eeprom_simulator.jal
16f877a16f877a_i2c_sw_l1.jal
16f877a16f877a_i2c_sw_l0.jal
16f877a16f877a_slip_isr.jal
16f877a16f877a_serial_print.jal
16f877a16f877a_serial_hardware.jal
16f877a16f877a_backlight.jal
16f877a16f877a_serial_software.jal
16f877a16f877a_fat32_small_sd_card.jal
16f8816f88_i2c_hw_slave_msg.jal
16f8816f88_adc_highres.jal
16f8816f88_i2c_hw_slave_eeprom_simulator.jal
16f8816f88_adc_independent.jal
16f8816f88_i2c_sw_l0.jal
16f8816f88_ds18b20_single.jal
16f8816f88_lcd_hd44780_pcf8574.jal
16f8816f88_remember_me.jal
16f8816f88_backlight.jal
16f8816f88_random.jal
16f8816f88_lcd_dsm0822a.jal
16f8816f88_startersguide.jal
16f8816f88_print_serial_numbers.jal
16f8816f88_adc_lowres.jal
16f8816f88_serial_hardware.jal
16f8816f88_serial_hw_int_cts.jal
16f8816f88_sqrt.jal
16f8816f88_i2c_sw_l1.jal
16f8816f88_lcd_hd44780_4bit.jal
16f8816f88_serial_print.jal
16f88616f886_rtc_lcd_4mhz.jal
16f88616f886_pwm_adc_freq.jal
16f88616f886_rtc_lcd_125khz.jal
16f88616f886_rtc_lcd_20mhz.jal
16f88616f886_math.jal
16f88616f886_pwm_adc_res.jal
18f14k5018f14k50_serial_hw_int_cts.jal
18f14k5018f14k50_usb_serial.jal
18f14k5018f14k50_random.jal
18f14k5018f14k50_usb_hid_mouse.jal
18f14k5018f14k50_serial_hardware.jal
18f14k5018f14k50_i2c_hw_l0.jal
18f14k5018f14k50_adc_independent.jal
18f14k5018f14k50_lcd_dsm0822a.jal
18f14k5018f14k50_i2c_sw_l1.jal
18f14k5018f14k50_usb_bootloader_autostart.jal
18f14k5018f14k50_i2c_hw_slave_msg.jal
18f14k5018f14k50_lcd_hd44780_pcf8574.jal
18f14k5018f14k50_i2c_sw_l0.jal
18f14k5018f14k50_i2c_hw_l1.jal
18f14k5018f14k50_startersguide.jal
18f14k5018f14k50_i2c_hw_slave_eeprom_simulator.jal
18f14k5018f14k50_usb_hid_generic.jal
18f14k5018f14k50_sqrt.jal
18f14k5018f14k50_serial_print.jal
18f14k5018f14k50_usb_bootloader.jal
18f245018f2450_usb_hid_mouse.jal
18f245018f2450_usb_serial.jal
18f245018f2450_sqrt.jal
18f245018f2450_adc_dependent.jal
18f245018f2450_startersguide.jal
18f245018f2450_serial_print.jal
18f245018f2450_usb_bootloader_autostart.jal
18f245018f2450_usb_hid_generic.jal
18f245018f2450_serial_hardware.jal
18f245018f2450_lcd_hd44780_pcf8574.jal
18f245018f2450_random.jal
18f245018f2450_i2c_sw_l0.jal
18f245018f2450_usb_bootloader.jal
18f245018f2450_serial_hw_int_cts.jal
18f245018f2450_lcd_hd44780_4bit.jal
18f245018f2450_i2c_sw_l1.jal
18f245018f2450_lcd_dsm0822a.jal
18f245018f2450_ds18b20_single.jal
18f258518f2585_can_monitor.jal
18f258518f2585_canid4_monitor.jal
18f258518f2585_can_serial_hw.jal
18f258518f2585_canid4_serial_adapter.jal
18f258518f2585_can_serial_adapter.jal
18f25j1018f25j10_test_mlx90615.jal
18f25k2218f25k22_eusart2.jal
18f262018f2620_random.jal
18f262018f2620_lcd_hd44780_pcf8574.jal
18f262018f2620_i2c_sw_l1.jal
18f262018f2620_startersguide.jal
18f262018f2620_i2c_sw_l0.jal
18f262018f2620_i2c_hw_l0.jal
18f262018f2620_lcd_dsm0822a.jal
18f262018f2620_sqrt.jal
18f262018f2620_serial_hardware.jal
18f262018f2620_adc_dependent.jal
18f262018f2620_serial_hw_int_cts.jal
18f262018f2620_i2c_hw_slave_eeprom_simulator.jal
18f262018f2620_i2c_hw_slave_msg.jal
18f262018f2620_serial_print.jal
18f262018f2620_rtc_tmr3.jal
18f262018f2620_i2c_hw_l1.jal
18f26j1118f26j11_rtcc_hw_kbd_lcd.jal
18f27j5318f27j53_pps_rx2tx2.jal
18f27j5318f27j53_dht11.jal
18f45218f452_fat32_small_pata_hard_disk.jal
18f45218f452_pata_hard_disk.jal
18f45218f452_fat32_small_sd_card.jal
18f45218f452_sd_card.jal
18f45218f452_stopwatch.jal
18f45218f452_23k256.jal
18f45218f452_servo_rc_slave.jal
18f452518f4525_fat32_sd_card.jal
18f452518f4525_sd_card.jal
18f452518f4525_mp3_decoder_vs1053b_pata_hard_disk.jal
18f452518f4525_mp3_decoder_vs1053b_sd_card.jal
18f452518f4525_servo_rc_slave.jal
18f452518f4525_fat32_small_pata_hard_disk.jal
18f452518f4525_slip_poll.jal
18f452518f4525_pata_hard_disk.jal
18f452518f4525_fat32_pata_hard_disk.jal
18f452518f4525_stopwatch.jal
18f452518f4525_slip_isr.jal
18f452518f4525_fat32_small_sd_card.jal
18f455018f4550_stopwatch.jal
18f455018f4550_lcd_dsm0822a.jal
18f455018f4550_lcd_hd44780_4bit.jal
18f455018f4550_usb_bootloader_autostart.jal
18f455018f4550_i2c_hw_l1.jal
18f455018f4550_dynamic_adc.jal
18f455018f4550_i2c_sw_l0.jal
18f455018f4550_random.jal
18f455018f4550_ir2serial.jal
18f455018f4550_usb_bootloader.jal
18f455018f4550_i2c_sw_l1.jal
18f455018f4550_startersguide.jal
18f455018f4550_lcd_hd44780_pcf8574.jal
18f455018f4550_i2c_hw_l0.jal
18f455018f4550_serial_hw_int_cts.jal
18f455018f4550_adc_dependent.jal
18f455018f4550_servo_rc_slave.jal
18f455018f4550_adc.jal
18f455018f4550_sqrt.jal
18f455018f4550_serial_software.jal
18f455018f4550_slip_isr.jal
18f455018f4550_i2c_hw_slave_eeprom_simulator.jal
18f455018f4550_usb_hid_generic.jal
18f455018f4550_usb_hid_mouse.jal
18f455018f4550_ds18b20_single.jal
18f455018f4550_serial_print.jal
18f455018f4550_sd_card.jal
18f455018f4550_usb_serial.jal
18f455018f4550_fat32_sd_card.jal
18f455018f4550_slip_poll_usb.jal
18f455018f4550_i2c_hw_slave_msg.jal
18f455018f4550_fat32_small_sd_card.jal
18f455018f4550_serial_hardware.jal
18f455018f4550_slip_poll.jal
18f455018f4550_23k256.jal
18f458518f4585_canid4_monitor.jal
18f462018f4620_slip_poll.jal
18f462018f4620_mp3_decoder_vs1053b_sd_card.jal
18f462018f4620_servo_rc_slave.jal
18f462018f4620_glcd_touch_stm032qvt_003.jal
18f462018f4620_fat32_sd_card.jal
18f462018f4620_fat32_pata_hard_disk.jal
18f462018f4620_fat32_small_pata_hard_disk.jal
18f462018f4620_serial_hardware.jal
18f462018f4620_slip_isr.jal
18f462018f4620_stopwatch.jal
18f462018f4620_pata_hard_disk.jal
18f462018f4620_sd_card.jal
18f462018f4620_fat32_small_sd_card.jal
18f462018f4620_ps2_keyboard.jal
18f462018f4620_mp3_decoder_vs1053b_pata_hard_disk.jal
18f46k2218f46k22_glcd_touch_stm032qvt_003.jal
18f46k2218f46k22_slip_isr.jal
18f46k2218f46k22_slip_poll.jal
18f631018f6310_serial_hw_int_cts.jal
18f652018f6520_serial_hw_int_cts.jal
18f67j5018f67j50_sd_card.jal
18f67j5018f67j50_fat32_small_pata_hard_disk.jal
18f67j5018f67j50_slip_poll_usb.jal
18f67j5018f67j50_fat32_sd_card.jal
18f67j5018f67j50_mp3_decoder_vs1053b_sd_card.jal
18f67j5018f67j50_fat32_small_sd_card.jal
18f67j5018f67j50_pata_hard_disk.jal
18f67j5018f67j50_slip_poll.jal
18f67j5018f67j50_mp3_decoder_vs1053b_pata_hard_disk.jal
18f67j5018f67j50_slip_isr.jal
18f67j5018f67j50_fat32_pata_hard_disk.jal
18f67j5018f67j50_23k256.jal
18f67j5018f67j50_serial_hardware.jal
18f67j5018f67j50_stopwatch.jal