Hi Matt,
Would not be a better ideea for storing this work in the casualties folder
utill a better ideea apears?

Vasile

On Thu, Mar 11, 2010 at 4:22 AM, <[email protected]> wrote:

> Revision: 1762
> Author: [email protected]
> Date: Wed Mar 10 18:22:04 2010
> Log: removed crc lib + sample, needs more thought
> http://code.google.com/p/jallib/source/detail?r=1762
>
> Deleted:
>  /trunk/include/jal/crc.jal
>  /trunk/sample/18f4620_crc.jal
>
> =======================================
> --- /trunk/include/jal/crc.jal  Mon Mar  8 21:03:04 2010
> +++ /dev/null
> @@ -1,154 +0,0 @@
> --- Title: Library for CRC data error checking.
> --- Author: Matthew Schinkel - borntechi.com, copyright (c) 2009, all
> rights reserved.
> --- Adapted-by:
> --- Compiler: >=2.4m
> ---
> --- This file is part of jallib (http://jallib.googlecode.com)
> --- Released under the ZLIB license (
> http://www.opensource.org/licenses/zlib-license.html)
> ---
> --- Description: This library creates CRC data and also verifies CRC data
> ---
> --- Notes:
> --- Currently only supports 3-Bit CRC. Please add others if needed.
> ---
> --- Sources:
> --- http://www.ece.unb.ca/tervo/ee4253/crc.shtml
> --- http://en.wikipedia.org/wiki/Cyclic_redundancy_check
> ---
> -
>
> ---------------------------------------------------------------------------------
> --- returns a 3-bit crc generated from a data byte
> --- insert a 4 bit polynomial, here are some polynomial examples:
> --- 1011 = x3+x+1
> --- 1101 = x3+x2+1
>
> ---------------------------------------------------------------------------------
> -function crc_3_byte_create(byte in polynomial, byte in data) return byte
> is
> -   var word remainder = data
> -   var word polynomial2 = polynomial
> -
> -   remainder = remainder << 3       -- add 3 zero's right of byte
> -
> -   polynomial2 = polynomial2 << 7   -- move the polynomial to left
> -
> -   -- make each data byte readable
> -   var bit bit10 at remainder : 10
> -   var bit bit9 at remainder : 9
> -   var bit bit8 at remainder : 8
> -   var bit bit7 at remainder : 7
> -   var bit bit6 at remainder : 6
> -   var bit bit5 at remainder : 5
> -   var bit bit4 at remainder : 4
> -   var bit bit3 at remainder : 3
> -
> -   if bit10 == 1 then
> -      remainder = remainder ^ polynomial2 -- xor
> -   end if
> -   polynomial2 = polynomial2 >> 1         -- shift
> -
> -   if bit9 == 1 then
> -      remainder = remainder ^ polynomial2
> -   end if
> -   polynomial2 = polynomial2 >> 1
> -
> -   if bit8 == 1 then
> -      remainder = remainder ^ polynomial2
> -   end if
> -   polynomial2 = polynomial2 >> 1
> -
> -   if bit7 == 1 then
> -      remainder = remainder ^ polynomial2
> -   end if
> -   polynomial2 = polynomial2 >> 1
> -
> -   if bit6 == 1 then
> -      remainder = remainder ^ polynomial2
> -   end if
> -   polynomial2 = polynomial2 >> 1
> -
> -   if bit5 == 1 then
> -      remainder = remainder ^ polynomial2
> -   end if
> -   polynomial2 = polynomial2 >> 1
> -
> -   if bit4 == 1 then
> -      remainder = remainder ^ polynomial2
> -   end if
> -   polynomial2 = polynomial2 >> 1
> -
> -   if bit3 == 1 then
> -      remainder = remainder ^ polynomial2
> -   end if
> -
> -   return byte(remainder)                  -- return the crc data created
> -end function
> -
>
> ---------------------------------------------------------------------------------
> --- returns true or false if 3-bit crc is correct
> --- insert same polynomial as create function
>
> ---------------------------------------------------------------------------------
> -function crc_3_byte_verify(byte in polynomial, byte in data, byte in crc)
> return byte is
> -   var word remainder = data
> -   var word polynomial2 = polynomial
> -
> -   -- add the crc data to right side of byte
> -   remainder = remainder << 3
> -   remainder = remainder + crc
> -
> -   polynomial2 = polynomial2 << 7 -- move polynomial to left
> -
> -   -- make each data byte readable
> -   var bit bit10 at remainder : 10
> -   var bit bit9 at remainder : 9
> -   var bit bit8 at remainder : 8
> -   var bit bit7 at remainder : 7
> -   var bit bit6 at remainder : 6
> -   var bit bit5 at remainder : 5
> -   var bit bit4 at remainder : 4
> -   var bit bit3 at remainder : 3
> -
> -   if bit10 == 1 then
> -      remainder = remainder ^ polynomial2 -- xor
> -   end if
> -   polynomial2 = polynomial2 >> 1         -- shift
> -
> -   if bit9 == 1 then
> -      remainder = remainder ^ polynomial2
> -   end if
> -   polynomial2 = polynomial2 >> 1
> -
> -   if bit8 == 1 then
> -      remainder = remainder ^ polynomial2
> -   end if
> -   polynomial2 = polynomial2 >> 1
> -
> -   if bit7 == 1 then
> -      remainder = remainder ^ polynomial2
> -   end if
> -   polynomial2 = polynomial2 >> 1
> -
> -   if bit6 == 1 then
> -      remainder = remainder ^ polynomial2
> -   end if
> -   polynomial2 = polynomial2 >> 1
> -
> -   if bit5 == 1 then
> -      remainder = remainder ^ polynomial2
> -   end if
> -   polynomial2 = polynomial2 >> 1
> -
> -   if bit4 == 1 then
> -      remainder = remainder ^ polynomial2
> -   end if
> -   polynomial2 = polynomial2 >> 1
> -
> -   if bit3 == 1 then
> -      remainder = remainder ^ polynomial2
> -   end if
> -
> -   -- return if data is good
> -   if remainder == 0 then
> -      return true
> -   else
> -      return false
> -   end if
> -end function
> =======================================
> --- /trunk/sample/18f4620_crc.jal       Mon Mar  8 21:03:04 2010
> +++ /dev/null
> @@ -1,61 +0,0 @@
> --- Title: Sample file for CRC data error checking.
> --- Author: Matthew Schinkel - borntechi.com, copyright (c) 2009, all
> rights reserved.
> --- Adapted-by:
> --- Compiler: >=2.4m
> ---
> --- This file is part of jallib (http://jallib.googlecode.com)
> --- Released under the BSD license (
> http://www.opensource.org/licenses/bsd-license.php)
> ---
> --- Description: This sample shows usage of the CRC library which can be
> used
> ---              to create or verify crc data.
> ---
> --- Notes:
> ---
> --- Sources:
> --- http://www.ece.unb.ca/tervo/ee4253/crc.shtml
> --- http://en.wikipedia.org/wiki/Cyclic_redundancy_check
> ---
> -
> -include 18f4620                    -- target PICmicro
> ---
> --- This program assumes a 20 MHz resonator or crystal
> --- is connected to pins OSC1 and OSC2.
> --- Unspecified configuration bits may cause a different frequency!
> -pragma target clock 20_000_000     -- oscillator frequency
> --- configuration memory settings (fuses)
> -pragma target OSC  HS              -- HS crystal or resonator
> -pragma target WDT  disabled        -- no watchdog
> -pragma target LVP  disabled        -- no Low Voltage Programming
> -pragma target MCLR external        -- reset externally
> -
> --- setup uart for communication
> -const serial_hw_baudrate  = 115200   -- set the baudrate
> -include serial_hardware
> -serial_hw_init()
> -
> -include crc
> -
> --- Imaginary master device code
> -const byte poly = 0b1101                -- choose a polynomial
> -var byte crc                            -- holds 3-bit crc data
> -crc = crc_3_byte_create(poly, 0b110010) -- create the crc data
> -
> --- Imaginary data transmission here
> -
> --- Imaginary slave device code
> -const byte poly2 = 0b1101                              -- use same
> polynomial
> -var byte is_good_data                                  -- holds true or
> false
> -is_good_data = crc_3_byte_verify(poly2, 0b110010, crc) -- verify crc data
> -
> -forever loop -- now do something after data has been recieved
> -   _usec_delay (1_000_000)
> -
> -   -- sends 3-bit crc data
> -   serial_hw_data = (crc)
> -
> -   -- You will receive TRUE, unless the data input for
> -   -- create function is different then data input for
> -   -- verify function
> -   serial_hw_data = (is_good_data)
> -end loop
> -
>
> --
> You received this message because you are subscribed to the Google Groups
> "jallib" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<jallib%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/jallib?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"jallib" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/jallib?hl=en.

Reply via email to