how to send RF12 packet from ATTINY (BASCOM)

Hello ,
please - can you help me :
I have Arduino as central node and some home made temperature wireles sensors (sensor = lithium battery+ds18b20+attiny25+rfm12b).
How to create RF12 packet (exactly which bytes i need send) if i want receive this packet in arduino. For example i need send from attiny only 2 bytes: {100,100}
my idea is:
Spi16(&Hb8aa) --B8.. is RF12 command to transmit 1 byte , in this case "aa" , SPi16() is sending function (this is not important)
Spi16(&Hb8aa)
Spi16(&Hb8aa) -- preamble end (3xaa was sending)
Spi16(&Hb82D) -- SYNC 2D
Spi16(&Hb801) -- group is 1
Spi16(&Hb801) -- header C=0,D=0,A=0 , node ide =1 => 01 (it is OK ?)
Spi16(&Hb802) -- LEN is 2 bytes
Spi16(&Hb864) -- DATA (100 decimal)
Spi16(&Hb864) -- DATA (100 decimal)
Spi16(&Hb8**??) -- CRC16 , but how to calculate CRC16 (compatible with arduino) in BASCOM ?????
Spi16(&Hb8
??**) -- CRC16 I need BASCOM routine for x^16 + x^15 + x^2 + 1 ?

of course , before sending from attiny - I must setting rfm modul : correct frequency,data rate and etc. - it is no problem for me....
Here is piece my old BASCOM program from my home automation project :

Send_data:
    D = Spi16(&H823d)                                       'TX on, VBD on
    Waitms 5
    D = Spi16(&H0000)
    Data_out(3) = High(d)
    Wait_rfm12
    D = Spi16(&Hb8aa)
    Wait_rfm12
    D = Spi16(&Hb8aa)
    Wait_rfm12
    D = Spi16(&Hb82d)
    Wait_rfm12
    D = Spi16(&Hb801)                                       'SYNC v tejto siet 01 !!!
    Data_out(1) = 1                                         'jedinecne ID modulu v sieti
    Data_out(2) = Pck_id                                    'poradove cislo paketu odoslane z modulu (0-255)
    Data_out(4) = T2                                        'teplota Hi .byte
    Data_out(5) = T1                                        'teplota Lo .byte
    Data_out(6) = 0                                         'rezerva
    Data_out(7) = 0
    Data_out(8) = 0
    Data_out(9) = 0
    Data_out(10) = 0
    Data_out(11) = Crc8(data_out(1) , 10)                   'CRC z prvych 10 bytov
    Data_out(12) = "x"
    For N = 1 To 12
         Wait_rfm12
         D = &HB800 + Data_out(n)
         D = Spi16(d)
    Next N
    Wait_rfm12
    D = Spi16(&Hb8aa)
    Wait_rfm12
    Pck_id = Pck_id + 1
    Waitms 30
    D = Spi16(&H8201)                                       'standby
Return

thanks !

AVR Libc includes a few CRC variations. They are documented here...
http://www.nongnu.org/avr-libc/user-manual/group__util__crc.html

It looks like _crc16_update uses the desired polynomial.

uint16_t crc;

crc = 0;
crc = _crc16_update( crc, /* byte 1 goes here */ );
crc = _crc16_update( crc, /* byte 2 goes here */ );
...
crc = _crc16_update( crc, /* byte N goes here */ );

thanks - good idea !

ARDUINO:

crc = 0;
  crc = _crc16_update( crc, 49 );
  crc = _crc16_update( crc, 50 );
  crc = _crc16_update( crc, 51 );    
  crc = _crc16_update( crc, 52 );    
  crc = _crc16_update( crc, 53 );    
  crc = _crc16_update( crc, 54 );    
  crc = _crc16_update( crc, 55 );    
  crc = _crc16_update( crc, 56 );    
  crc = _crc16_update( crc, 57 );      
   Serial.println(crc);

result BB3D

BASCOM:

S = "123456789"
Print Hex(crc16uni(s , 9 , 0 , &H8005 , 1 , 1))             'crc16

result BB3D