Is is possible to have the grovepi board do some processing of data and then do a callback to RPI? Or is the only model for the RPI to continuously poll the grovepi?
Technically it is possible, but it’ll require some work. The Raspberry Pi and the GrovePi are connected by three interfaces: SPI, I2C and Serial. SPI is used for code upload only, I2C is used for communicating b/w the python programs and the GrovePi and Serial is used to interface sensors. Since we use I2C right now which is master driver, you cannot interrupt from the GrovePi. What you can do is to use one of the SPI pins and toggle that to tell the Pi that the GrovePi wants to send some data, and write a program which monitors that pin on the Pi and issues appropriate command when it sees the pin change. This would definitely require reqwork on the firmware and some work on the software too.