SMBus conflict with SPI?... RF22 wireless addition to temperature monitor

I am a noob to Arduino and programming. I would like to monitor temperatures in a bee hive and send the data into my home wirelessly. I use the LM95214 temp sensor with MMBT3904 transistors for sensors. I fabricated a PC and using SMBus on my DUE arduino I am able to read 5 temperatures (4 remote and 1 local to the chip). Next I purchased some HopeRF RF22 transciever modules and used Mike McCauleys code for arduinos. He has done a very extensive and well documented job of programming arduinos to do very basic to very elaborate wireless communication with these modules. I’ve inquired on his forum about my problem but he says I have programming issues and it should work if I have separate chip selects. So here’s my situation and questions:
-I can read data continuously on my serial monitor using SMBus to read my temperature sensor.
-I can attach one wireless module to one arduino at a server PC and the same at a client PC and run Mikes RF22 simple client and server programs and the two PCs communicate by sending the “Hello World” message and responding with “Received message”. this is all done swith SPI and the commands that Mike created in his RF22 library.
-When I add my temperature module to the client and attempt to send my array of temperature data instead of Mikes array of characters the program hangs on the ‘rf22.waitPacketSent()’ line. My serial monitor shows the temperatures, and prints “message sent” but won’t go any further. I tried disabling interupts and re-enabling them. My questions are:

*Is there something obviously wrong with my code that I’m not understanding?
*Is there a chip select for SMBus that might be causing contention with the SPI bus? I couldn’t find anything in the Arduino Wire library.
*I’ll even take advise on my code structure. As I said I’m new at this and have been learning from tutorials and reading examples.
*I’ll attach the data sheet for the temp sensor and Mikes code for a simple communication as well as the .h file. I can also send the .cpp file if it helps but I’m afraid I may already be asking alot.

Thank you so much for any advice, suggestions or comments.

Here’s my code:

// Reads data from an LM95214 slave device

// Created 18 Feb 2013
#include <Wire.h>
#include <SPI.h>
#include <RF22.h>

RF22 rf22;

//Address of the 95214 temp sensor- A0 pin state low = 0x18 (#24)
//Command register is 0x00
//Local MSB temp MSB is 0x10 (#16)
//Remote temp1 signed MSB reg is 0x11 (#17)
//Remote temp2 signed MSB reg is 0x12 (#18)
//Remote temp3 signed MSB reg is 0x13 (#19)
//Remote temp4 signed MSB reg is 0x14 (#20)

int temp_address = 24;//This too can be an array for each level in the hive (bot, mid, top)

int led=13;
int i;
//int s;
int addr=0;
//int sens=0;

void setup()
Wire.begin(); // joining the I2C bus
Serial.begin(9600); // start serial for output
if (!rf22.init())
Serial.println(“RF22 init failed”);
// Defaults after init are 434.0MHz, 0.05MHz AFC pull-in, modulation FSK_Rb2_4Fd36

void loop()
//Make the LED blink every time the loop runs
pinMode (led,OUTPUT);
digitalWrite (led, HIGH);
digitalWrite (led, LOW);

//Arrays for address and temp sensors
const int address ={16,17,18,19,20};//set up the addresses as an incrementing array
int sensor[5] = {0,0,0,0,0};//this array will have 5 temperature readings corresponding to each address
for (i=0;i<5;i++)
// sens=sensor*;*

* //Send a transmission to begin communication*
* //start the trans message*

* Wire.beginTransmission(temp_address);*

* Wire.write(addr); //write to local temp register*
* Wire.endTransmission(); //complete the transmission*

* Wire.requestFrom (temp_address, 1); //request 1 byte of data*
* Wire.endTransmission();*

* //wait for a response*
* while(Wire.available() != 0) // wait for bus available to change state to 0*

_ sensor =; // receive local temperature byte as an integer
// Serial.print(" TempC=");

* }
cli(); //disable interupts*

* sei(); //enable interupts for the SPI bus*
* // while (1)*_

* Serial.println(“Sending to rf22_server”);
// Send a message to rf22_server*

* // uint8_t data = sensor;*

rf22.send((uint8_t*)sensor, sizeof(sensor));//although the next statement prints to SM there is nothing rec’d at server
* Serial.println(“message sent!”);*

* rf22.waitPacketSent(); //this command appears to think we’re still in TX mode and won’t allow us to continue while in TX mode*
* Serial.println(“program got this far!”);*
* // Now wait for a reply*

* int buf[RF22_MAX_MESSAGE_LEN];
_ int len = sizeof(buf);
if (rf22.waitAvailableTimeout(500))
// Should be a message for us now _

if (rf22.recv((uint8_t)buf, (uint8_t*)&len))

* {*
* Serial.print("got reply: ");*
_ Serial.println((char*)buf);
* }

* {
Serial.println(“recv failed”);

* {_
Serial.println(“No reply, is rf22_server running?”);
_ }*_

//I need to do some math operation here to check the sign bit to see if temp < 0
//There are intermittant erroneous temps for one round of readings… check for valid temp range
//“TempC” could be an array of names pertaining to the sensor location
//This is an array measurement of one level, another array could add 2 more levels of temperature

* delay(2000);*
Serial.println ("");
LM95214.pdf (816 KB)
rf22_client.pde (1.18 KB)
rf22_server.pde (1.03 KB)
RF22.h (56.8 KB)