NcBool NcFile::sync( void ) { if (!data_mode()) return 0; if (NcError::set_err( nc_sync(the_id) ) != NC_NOERR) return 0; int i; for (i = 0; i < num_dims(); i++) { if (dimensions[i]->is_valid()) { dimensions[i]->sync(); } else { // someone else added a new dimension dimensions[i] = new NcDim(this,i); } } for (i = 0; i < num_vars(); i++) { if (variables[i]->is_valid()) { variables[i]->sync(); } else { // someone else added a new variable variables[i] = new NcVar(this,i); } } return 1; }
int lcd_spi_complete_event(void * context, const void * data){ int j; int i; //deassert CS each time a SPI event completes deassert_cs(); i = lcd_page - 0xB0; if( i == LCD_COLS ){ lcd_hold = 0x00; update_count(); //interrupt again on next timer match return 0; //all done } switch(lcd_write_state){ case LCD_WRITE_PAGE: command_mode(); lcd_buffer[0] = lcd_page; lcd_buffer[1] = 0x10; lcd_buffer[2] = 0x00; op.nbyte = 3; assert_cs(); lcd_write_state = LCD_WRITE_DATA; hwpl_spi_write(context, &op); return 1; case LCD_WRITE_DATA: data_mode(); assert_cs(); for(j=0;j<LCD_ROWS;j++){ //128 rows high lcd_buffer[j] = mem[LCD_ROWS - j - 1][i]; } op.nbyte = LCD_ROWS; lcd_page++; lcd_write_state = LCD_WRITE_PAGE; hwpl_spi_write(context, &op); break; } return 1; }