SoftPWM issues on Attiny88

Hi I am trying to make this battle bot and i got it all to work fine on my arduino unos but when I tried compiling it for a attiny88 i get this error

Arduino: 1.8.19 (Windows Store 1.8.57.0) (Windows 10), Board: "ATtiny88 (Micronucleus, MH-ET t88 w/16MHz CLOCK), Enabled, 16 MHz (external 16MHz, USB), MH Tiny, B.O.D. Enabled (4.3v), Reset, Upgrade (via USB, fuses unchanged), Always, Enabled, Port A (pins 23~26)"

In file included from C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:

44:0:

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp: In function 'void SoftPWMBegin(uint8_t)':

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:39:3: error: 'TIFR2' was not declared in this scope

TIFR2 = (1 << TOV2); /* clear interrupt flag */ \

^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:39:3: note: suggested alternative: 'TIFR0'

TIFR2 = (1 << TOV2); /* clear interrupt flag */ \

^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:39:17: error: 'TOV2' was not declared in this scope

TIFR2 = (1 << TOV2); /* clear interrupt flag */ \

             ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:39:17: note: suggested alternative: 'TOV0'

TIFR2 = (1 << TOV2); /* clear interrupt flag */ \

             ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:40:3: error: 'TCCR2B' was not declared in this scope

TCCR2B = (1 << CS21); /* start timer (ck/8 prescalar) */ \

^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:40:3: note: suggested alternative: 'TCCR1B'

TCCR2B = (1 << CS21); /* start timer (ck/8 prescalar) */ \

^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:40:18: error: 'CS21' was not declared in this scope

TCCR2B = (1 << CS21); /* start timer (ck/8 prescalar) */ \

              ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:40:18: note: suggested alternative: 'CS01'

TCCR2B = (1 << CS21); /* start timer (ck/8 prescalar) */ \

              ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:41:3: error: 'TCCR2A' was not declared in this scope

TCCR2A = (1 << WGM21); /* CTC mode */ \

^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:41:3: note: suggested alternative: 'TCCR0A'

TCCR2A = (1 << WGM21); /* CTC mode */ \

^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:41:18: error: 'WGM21' was not declared in this scope

TCCR2A = (1 << WGM21); /* CTC mode */ \

              ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:41:18: note: suggested alternative: 'WGM11'

TCCR2A = (1 << WGM21); /* CTC mode */ \

              ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:42:3: error: 'OCR2A' was not declared in this scope

OCR2A = (ocr); /* We want to have at least 30Hz or else it gets choppy */ \

^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:42:3: note: suggested alternative: 'OCR0A'

OCR2A = (ocr); /* We want to have at least 30Hz or else it gets choppy */ \

^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:43:3: error: 'TIMSK2' was not declared in this scope

TIMSK2 = (1 << OCIE2A); /* enable timer2 output compare match interrupt */ \

^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:43:3: note: suggested alternative: 'TIMSK0'

TIMSK2 = (1 << OCIE2A); /* enable timer2 output compare match interrupt */ \

^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:43:18: error: 'OCIE2A' was not declared in this scope

TIMSK2 = (1 << OCIE2A); /* enable timer2 output compare match interrupt */ \

              ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:43:18: note: suggested alternative: 'OCIE0A'

TIMSK2 = (1 << OCIE2A); /* enable timer2 output compare match interrupt */ \

              ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp: In function 'void SoftPWMSet(int8_t, uint8_t, uint8_t)':

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:37:37: error: 'TCNT2' was not declared in this scope

#define SOFTPWM_TIMER_SET(val) (TCNT2 = (val))

                                 ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:220:5: note: in expansion of macro 'SOFTPWM_TIMER_SET'

 SOFTPWM_TIMER_SET(0);

 ^~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:37:37: note: suggested alternative: 'TCNT0'

#define SOFTPWM_TIMER_SET(val) (TCNT2 = (val))

                                 ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:220:5: note: in expansion of macro 'SOFTPWM_TIMER_SET'

 SOFTPWM_TIMER_SET(0);

 ^~~~~~~~~~~~~~~~~

exit status 1

Error compiling for board ATtiny88 (Micronucleus, MH-ET t88 w/16MHz CLOCK).

This is the code im using

[code]

#include <SoftPWM.h>
#include <SoftPWM_timer.h>

#include <nRF24L01.h>
#include <printf.h>
#include <RF24.h>
#include <RF24_config.h>

RF24 radio(9,10);
const uint64_t pipe = 0xE8E8F0F0E1LL; 
uint8_t msg[5]; 



int leftFor = 2;
int leftBack=3;
int rightFor = 4;
int rightBack=5;

int data;
int dataLF;
int dataLB;
int dataRF;
int dataRB;

void setup() {
  // put your setup code here, to run once:
  
  radio.begin();
  radio.openReadingPipe(1,pipe); 
  radio.startListening();
  SoftPWMBegin();
  SoftPWMSet(leftFor, 0);
  SoftPWMSet(leftBack, 0);
  SoftPWMSet(rightFor, 0);
  SoftPWMSet(rightBack, 0);


}

void loop() {

  //if signal from the radio move the bot, otherwise fail to an "all off" condition
  if (radio.available()){
    radio.read(msg,5);
    dataLF=msg[0];
    dataLB=msg[1];
    dataRF=msg[2];
    dataRB=msg[3];
    data=msg[4];

    //analogWrite(motor,data);
    if((dataLF>0&&dataLB>0)||(dataRF>0&&dataRB>0)){
      //error condition (attempting to put pwm signal into both forwards and backwards at the same time)
      Serial.println("BOTH ABOVE ERROR");
      SoftPWMSet(leftFor, 0);
      SoftPWMSet(leftBack, 0);
      SoftPWMSet(rightFor, 0);
      SoftPWMSet(rightBack, 0);
      
    }else{
      SoftPWMSet(leftFor, dataLF);
      SoftPWMSet(leftBack, dataLB);
      SoftPWMSet(rightFor, dataRF);
      SoftPWMSet(rightBack, dataRB);
    }
    
  }else{
    //No signal from radio, this can happen if the radio is transmitting too slowly
    //either reduce the delay in the tx code or increase the delay below
    SoftPWMSet(leftFor, 0);
    SoftPWMSet(leftBack, 0);
    SoftPWMSet(rightFor, 0);
    SoftPWMSet(rightBack, 0);
  }

  //delay for sinking with the tx, adjust as needed
  delay(20);

}
[/code]

This is the specs from the manufacturer on the board

  • Support for the Ardu-ino IDE 1.0+ (OSX/Win/Linux)
  • Power via USB or External Source - 5v or 7-35v (12v or less recommended automatic selection)
  • On-board 500ma 5V regulator
  • Built-in USB
  • 26 I/O Pins (2 are used for USB only if your program actively communicates over USB, otherwise you can use all 6 even if you are programming via USB)
  • 8k flash memory (about 6k after bootloader)
  • I2C and SPI
  • 26-PWM (26 pins with Software PWM*,only two(D9,D10) with hardware PWM )
  • ADC on 8 pins
  • Power LED and Test/Status LED
  • Package: 10PCS ATTINY88 Microcontroller Development Board

Notice how it says 26 pins with Software PWM so I don't get what the problem is

I'm open to any suggestions ya'll have!

Try changing the order of these two lines...

I tried that and it's still giving me error messages

Be sure to show the errors.

Sorry forgot that, I hope this is what your looking for.

Arduino: 1.8.19 (Windows Store 1.8.57.0) (Windows 10), Board: "ATtiny88 (Micronucleus, MH-ET t88 w/16MHz CLOCK), Enabled, 16 MHz (external 16MHz, USB), MH Tiny, B.O.D. Enabled (4.3v), Reset, Upgrade (via USB, fuses unchanged), Always, Enabled, Port A (pins 23~26)"
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.57.0_x86__mdqgnx93n4wtt\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.57.0_x86__mdqgnx93n4wtt\hardware -hardware C:\Users\Nate\Documents\ArduinoData\packages -tools C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.57.0_x86__mdqgnx93n4wtt\tools-builder -tools C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.57.0_x86__mdqgnx93n4wtt\hardware\tools\avr -tools C:\Users\Nate\Documents\ArduinoData\packages -built-in-libraries C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.57.0_x86__mdqgnx93n4wtt\libraries -libraries C:\Users\Nate\Documents\Arduino\libraries -fqbn=ATTinyCore:avr:attinyx8micr:LTO=enable,sketchclock=16external,pinmapping=mhtiny,bod=4v3,resetpin=reset,burnmode=upgrade,bootentry=always,millis=enabled,neopixelport=porta -ide-version=10819 -build-path C:\Users\CARPEN~1.DES\AppData\Local\Temp\arduino_build_755422 -warnings=none -build-cache C:\Users\CARPEN~1.DES\AppData\Local\Temp\arduino_cache_943364 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avrdude.path=C:\Users\Nate\Documents\ArduinoData\packages\arduino\tools\avrdude\6.3.0-arduino18 -prefs=runtime.tools.avrdude-6.3.0-arduino18.path=C:\Users\Nate\Documents\ArduinoData\packages\arduino\tools\avrdude\6.3.0-arduino18 -prefs=runtime.tools.avr-gcc.path=C:\Users\Nate\Documents\ArduinoData\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7 -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path=C:\Users\Nate\Documents\ArduinoData\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7 -prefs=runtime.tools.micronucleus.path=C:\Users\Nate\Documents\ArduinoData\packages\ATTinyCore\tools\micronucleus\2.5-azd1b -prefs=runtime.tools.micronucleus-2.5-azd1b.path=C:\Users\Nate\Documents\ArduinoData\packages\ATTinyCore\tools\micronucleus\2.5-azd1b -verbose H:\wedge bot\receive\receive\receive.ino

C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.57.0_x86__mdqgnx93n4wtt\arduino-builder -compile -logger=machine -hardware C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.57.0_x86__mdqgnx93n4wtt\hardware -hardware C:\Users\Nate\Documents\ArduinoData\packages -tools C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.57.0_x86__mdqgnx93n4wtt\tools-builder -tools C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.57.0_x86__mdqgnx93n4wtt\hardware\tools\avr -tools C:\Users\Nate\Documents\ArduinoData\packages -built-in-libraries C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.57.0_x86__mdqgnx93n4wtt\libraries -libraries C:\Users\Nate\Documents\Arduino\libraries -fqbn=ATTinyCore:avr:attinyx8micr:LTO=enable,sketchclock=16external,pinmapping=mhtiny,bod=4v3,resetpin=reset,burnmode=upgrade,bootentry=always,millis=enabled,neopixelport=porta -ide-version=10819 -build-path C:\Users\CARPEN~1.DES\AppData\Local\Temp\arduino_build_755422 -warnings=none -build-cache C:\Users\CARPEN~1.DES\AppData\Local\Temp\arduino_cache_943364 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avrdude.path=C:\Users\Nate\Documents\ArduinoData\packages\arduino\tools\avrdude\6.3.0-arduino18 -prefs=runtime.tools.avrdude-6.3.0-arduino18.path=C:\Users\Nate\Documents\ArduinoData\packages\arduino\tools\avrdude\6.3.0-arduino18 -prefs=runtime.tools.avr-gcc.path=C:\Users\Nate\Documents\ArduinoData\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7 -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path=C:\Users\Nate\Documents\ArduinoData\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7 -prefs=runtime.tools.micronucleus.path=C:\Users\Nate\Documents\ArduinoData\packages\ATTinyCore\tools\micronucleus\2.5-azd1b -prefs=runtime.tools.micronucleus-2.5-azd1b.path=C:\Users\Nate\Documents\ArduinoData\packages\ATTinyCore\tools\micronucleus\2.5-azd1b -verbose H:\wedge bot\receive\receive\receive.ino

Using board 'attinyx8micr' from platform in folder: C:\Users\Nate\Documents\ArduinoData\packages\ATTinyCore\hardware\avr\1.5.2

Using core 'tiny' from platform in folder: C:\Users\Nate\Documents\ArduinoData\packages\ATTinyCore\hardware\avr\1.5.2

Detecting libraries used...

"C:\\Users\\Nate\\Documents\\ArduinoData\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=attiny88 -DF_CPU=16000000L -DCLOCK_SOURCE=18 -DARDUINO=10819 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -DHASUSB -DNEOPIXELPORT=PORTA "-IC:\\Users\\Nate\\Documents\\ArduinoData\\packages\\ATTinyCore\\hardware\\avr\\1.5.2\\cores\\tiny" "-IC:\\Users\\Nate\\Documents\\ArduinoData\\packages\\ATTinyCore\\hardware\\avr\\1.5.2\\variants\\tinyX8_MH" "C:\\Users\\CARPEN~1.DES\\AppData\\Local\\Temp\\arduino_build_755422\\sketch\\receive.ino.cpp" -o nul

Alternatives for SoftPWM_timer.h: [SoftPWM@1.0.1]

ResolveLibrary(SoftPWM_timer.h)

  -> candidates: [SoftPWM@1.0.1]

"C:\\Users\\Nate\\Documents\\ArduinoData\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=attiny88 -DF_CPU=16000000L -DCLOCK_SOURCE=18 -DARDUINO=10819 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -DHASUSB -DNEOPIXELPORT=PORTA "-IC:\\Users\\Nate\\Documents\\ArduinoData\\packages\\ATTinyCore\\hardware\\avr\\1.5.2\\cores\\tiny" "-IC:\\Users\\Nate\\Documents\\ArduinoData\\packages\\ATTinyCore\\hardware\\avr\\1.5.2\\variants\\tinyX8_MH" "-IC:\\Users\\Nate\\Documents\\Arduino\\libraries\\SoftPWM" "C:\\Users\\CARPEN~1.DES\\AppData\\Local\\Temp\\arduino_build_755422\\sketch\\receive.ino.cpp" -o nul

Alternatives for nRF24L01.h: [RF24@1.4.1]

ResolveLibrary(nRF24L01.h)

  -> candidates: [RF24@1.4.1]

"C:\\Users\\Nate\\Documents\\ArduinoData\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=attiny88 -DF_CPU=16000000L -DCLOCK_SOURCE=18 -DARDUINO=10819 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -DHASUSB -DNEOPIXELPORT=PORTA "-IC:\\Users\\Nate\\Documents\\ArduinoData\\packages\\ATTinyCore\\hardware\\avr\\1.5.2\\cores\\tiny" "-IC:\\Users\\Nate\\Documents\\ArduinoData\\packages\\ATTinyCore\\hardware\\avr\\1.5.2\\variants\\tinyX8_MH" "-IC:\\Users\\Nate\\Documents\\Arduino\\libraries\\SoftPWM" "-IC:\\Users\\Nate\\Documents\\Arduino\\libraries\\RF24" "C:\\Users\\CARPEN~1.DES\\AppData\\Local\\Temp\\arduino_build_755422\\sketch\\receive.ino.cpp" -o nul

Alternatives for SPI.h: [SPI@2.0.0]

ResolveLibrary(SPI.h)

  -> candidates: [SPI@2.0.0]

"C:\\Users\\Nate\\Documents\\ArduinoData\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=attiny88 -DF_CPU=16000000L -DCLOCK_SOURCE=18 -DARDUINO=10819 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -DHASUSB -DNEOPIXELPORT=PORTA "-IC:\\Users\\Nate\\Documents\\ArduinoData\\packages\\ATTinyCore\\hardware\\avr\\1.5.2\\cores\\tiny" "-IC:\\Users\\Nate\\Documents\\ArduinoData\\packages\\ATTinyCore\\hardware\\avr\\1.5.2\\variants\\tinyX8_MH" "-IC:\\Users\\Nate\\Documents\\Arduino\\libraries\\SoftPWM" "-IC:\\Users\\Nate\\Documents\\Arduino\\libraries\\RF24" "-IC:\\Users\\Nate\\Documents\\ArduinoData\\packages\\ATTinyCore\\hardware\\avr\\1.5.2\\libraries\\SPI" "C:\\Users\\CARPEN~1.DES\\AppData\\Local\\Temp\\arduino_build_755422\\sketch\\receive.ino.cpp" -o nul

"C:\\Users\\Nate\\Documents\\ArduinoData\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=attiny88 -DF_CPU=16000000L -DCLOCK_SOURCE=18 -DARDUINO=10819 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -DHASUSB -DNEOPIXELPORT=PORTA "-IC:\\Users\\Nate\\Documents\\ArduinoData\\packages\\ATTinyCore\\hardware\\avr\\1.5.2\\cores\\tiny" "-IC:\\Users\\Nate\\Documents\\ArduinoData\\packages\\ATTinyCore\\hardware\\avr\\1.5.2\\variants\\tinyX8_MH" "-IC:\\Users\\Nate\\Documents\\Arduino\\libraries\\SoftPWM" "-IC:\\Users\\Nate\\Documents\\Arduino\\libraries\\RF24" "-IC:\\Users\\Nate\\Documents\\ArduinoData\\packages\\ATTinyCore\\hardware\\avr\\1.5.2\\libraries\\SPI" "C:\\Users\\Nate\\Documents\\Arduino\\libraries\\SoftPWM\\SoftPWM.cpp" -o nul

"C:\\Users\\Nate\\Documents\\ArduinoData\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=attiny88 -DF_CPU=16000000L -DCLOCK_SOURCE=18 -DARDUINO=10819 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -DHASUSB -DNEOPIXELPORT=PORTA "-IC:\\Users\\Nate\\Documents\\ArduinoData\\packages\\ATTinyCore\\hardware\\avr\\1.5.2\\cores\\tiny" "-IC:\\Users\\Nate\\Documents\\ArduinoData\\packages\\ATTinyCore\\hardware\\avr\\1.5.2\\variants\\tinyX8_MH" "-IC:\\Users\\Nate\\Documents\\Arduino\\libraries\\SoftPWM" "-IC:\\Users\\Nate\\Documents\\Arduino\\libraries\\RF24" "-IC:\\Users\\Nate\\Documents\\ArduinoData\\packages\\ATTinyCore\\hardware\\avr\\1.5.2\\libraries\\SPI" "-IC:\\Users\\Nate\\Documents\\Arduino\\libraries\\RF24\\utility" "C:\\Users\\Nate\\Documents\\Arduino\\libraries\\RF24\\RF24.cpp" -o nul

"C:\\Users\\Nate\\Documents\\ArduinoData\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=attiny88 -DF_CPU=16000000L -DCLOCK_SOURCE=18 -DARDUINO=10819 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -DHASUSB -DNEOPIXELPORT=PORTA "-IC:\\Users\\Nate\\Documents\\ArduinoData\\packages\\ATTinyCore\\hardware\\avr\\1.5.2\\cores\\tiny" "-IC:\\Users\\Nate\\Documents\\ArduinoData\\packages\\ATTinyCore\\hardware\\avr\\1.5.2\\variants\\tinyX8_MH" "-IC:\\Users\\Nate\\Documents\\Arduino\\libraries\\SoftPWM" "-IC:\\Users\\Nate\\Documents\\Arduino\\libraries\\RF24" "-IC:\\Users\\Nate\\Documents\\ArduinoData\\packages\\ATTinyCore\\hardware\\avr\\1.5.2\\libraries\\SPI" "C:\\Users\\Nate\\Documents\\ArduinoData\\packages\\ATTinyCore\\hardware\\avr\\1.5.2\\libraries\\SPI\\SPI.cpp" -o nul

Generating function prototypes...

"C:\\Users\\Nate\\Documents\\ArduinoData\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=attiny88 -DF_CPU=16000000L -DCLOCK_SOURCE=18 -DARDUINO=10819 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -DHASUSB -DNEOPIXELPORT=PORTA "-IC:\\Users\\Nate\\Documents\\ArduinoData\\packages\\ATTinyCore\\hardware\\avr\\1.5.2\\cores\\tiny" "-IC:\\Users\\Nate\\Documents\\ArduinoData\\packages\\ATTinyCore\\hardware\\avr\\1.5.2\\variants\\tinyX8_MH" "-IC:\\Users\\Nate\\Documents\\Arduino\\libraries\\SoftPWM" "-IC:\\Users\\Nate\\Documents\\Arduino\\libraries\\RF24" "-IC:\\Users\\Nate\\Documents\\ArduinoData\\packages\\ATTinyCore\\hardware\\avr\\1.5.2\\libraries\\SPI" "C:\\Users\\CARPEN~1.DES\\AppData\\Local\\Temp\\arduino_build_755422\\sketch\\receive.ino.cpp" -o "C:\\Users\\CARPEN~1.DES\\AppData\\Local\\Temp\\arduino_build_755422\\preproc\\ctags_target_for_gcc_minus_e.cpp"

"C:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.57.0_x86__mdqgnx93n4wtt\\tools-builder\\ctags\\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\\Users\\CARPEN~1.DES\\AppData\\Local\\Temp\\arduino_build_755422\\preproc\\ctags_target_for_gcc_minus_e.cpp"

Compiling sketch...

"C:\\Users\\Nate\\Documents\\ArduinoData\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=attiny88 -DF_CPU=16000000L -DCLOCK_SOURCE=18 -DARDUINO=10819 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -DHASUSB -DNEOPIXELPORT=PORTA "-IC:\\Users\\Nate\\Documents\\ArduinoData\\packages\\ATTinyCore\\hardware\\avr\\1.5.2\\cores\\tiny" "-IC:\\Users\\Nate\\Documents\\ArduinoData\\packages\\ATTinyCore\\hardware\\avr\\1.5.2\\variants\\tinyX8_MH" "-IC:\\Users\\Nate\\Documents\\Arduino\\libraries\\SoftPWM" "-IC:\\Users\\Nate\\Documents\\Arduino\\libraries\\RF24" "-IC:\\Users\\Nate\\Documents\\ArduinoData\\packages\\ATTinyCore\\hardware\\avr\\1.5.2\\libraries\\SPI" "C:\\Users\\CARPEN~1.DES\\AppData\\Local\\Temp\\arduino_build_755422\\sketch\\receive.ino.cpp" -o "C:\\Users\\CARPEN~1.DES\\AppData\\Local\\Temp\\arduino_build_755422\\sketch\\receive.ino.cpp.o"

Compiling libraries...

Compiling library "SoftPWM"

"C:\\Users\\Nate\\Documents\\ArduinoData\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=attiny88 -DF_CPU=16000000L -DCLOCK_SOURCE=18 -DARDUINO=10819 -DARDUINO_AVR_ATTINYX8 -DARDUINO_ARCH_AVR -DHASUSB -DNEOPIXELPORT=PORTA "-IC:\\Users\\Nate\\Documents\\ArduinoData\\packages\\ATTinyCore\\hardware\\avr\\1.5.2\\cores\\tiny" "-IC:\\Users\\Nate\\Documents\\ArduinoData\\packages\\ATTinyCore\\hardware\\avr\\1.5.2\\variants\\tinyX8_MH" "-IC:\\Users\\Nate\\Documents\\Arduino\\libraries\\SoftPWM" "-IC:\\Users\\Nate\\Documents\\Arduino\\libraries\\RF24" "-IC:\\Users\\Nate\\Documents\\ArduinoData\\packages\\ATTinyCore\\hardware\\avr\\1.5.2\\libraries\\SPI" "C:\\Users\\Nate\\Documents\\Arduino\\libraries\\SoftPWM\\SoftPWM.cpp" -o "C:\\Users\\CARPEN~1.DES\\AppData\\Local\\Temp\\arduino_build_755422\\libraries\\SoftPWM\\SoftPWM.cpp.o"

In file included from C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:44:0:

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp: In function 'void SoftPWMBegin(uint8_t)':

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:39:3: error: 'TIFR2' was not declared in this scope

   TIFR2 = (1 << TOV2);    /* clear interrupt flag */ \

   ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

   SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

   ^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:39:3: note: suggested alternative: 'TIFR0'

   TIFR2 = (1 << TOV2);    /* clear interrupt flag */ \

   ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

   SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

   ^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:39:17: error: 'TOV2' was not declared in this scope

   TIFR2 = (1 << TOV2);    /* clear interrupt flag */ \

                 ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

   SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

   ^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:39:17: note: suggested alternative: 'TOV0'

   TIFR2 = (1 << TOV2);    /* clear interrupt flag */ \

                 ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

   SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

   ^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:40:3: error: 'TCCR2B' was not declared in this scope

   TCCR2B = (1 << CS21);   /* start timer (ck/8 prescalar) */ \

   ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

   SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

   ^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:40:3: note: suggested alternative: 'TCCR1B'

   TCCR2B = (1 << CS21);   /* start timer (ck/8 prescalar) */ \

   ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

   SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

   ^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:40:18: error: 'CS21' was not declared in this scope

   TCCR2B = (1 << CS21);   /* start timer (ck/8 prescalar) */ \

                  ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

   SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

   ^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:40:18: note: suggested alternative: 'CS01'

   TCCR2B = (1 << CS21);   /* start timer (ck/8 prescalar) */ \

                  ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

   SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

   ^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:41:3: error: 'TCCR2A' was not declared in this scope

   TCCR2A = (1 << WGM21);  /* CTC mode */ \

   ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

   SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

   ^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:41:3: note: suggested alternative: 'TCCR0A'

   TCCR2A = (1 << WGM21);  /* CTC mode */ \

   ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

   SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

   ^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:41:18: error: 'WGM21' was not declared in this scope

   TCCR2A = (1 << WGM21);  /* CTC mode */ \

                  ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

   SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

   ^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:41:18: note: suggested alternative: 'WGM11'

   TCCR2A = (1 << WGM21);  /* CTC mode */ \

                  ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

   SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

   ^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:42:3: error: 'OCR2A' was not declared in this scope

   OCR2A = (ocr);          /* We want to have at least 30Hz or else it gets choppy */ \

   ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

   SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

   ^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:42:3: note: suggested alternative: 'OCR0A'

   OCR2A = (ocr);          /* We want to have at least 30Hz or else it gets choppy */ \

   ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

   SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

   ^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:43:3: error: 'TIMSK2' was not declared in this scope

   TIMSK2 = (1 << OCIE2A); /* enable timer2 output compare match interrupt */ \

   ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

   SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

   ^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:43:3: note: suggested alternative: 'TIMSK0'

   TIMSK2 = (1 << OCIE2A); /* enable timer2 output compare match interrupt */ \

   ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

   SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

   ^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:43:18: error: 'OCIE2A' was not declared in this scope

   TIMSK2 = (1 << OCIE2A); /* enable timer2 output compare match interrupt */ \

                  ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

   SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

   ^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:43:18: note: suggested alternative: 'OCIE0A'

   TIMSK2 = (1 << OCIE2A); /* enable timer2 output compare match interrupt */ \

                  ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

   SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

   ^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp: In function 'void SoftPWMSet(int8_t, uint8_t, uint8_t)':

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:37:37: error: 'TCNT2' was not declared in this scope

 #define SOFTPWM_TIMER_SET(val)     (TCNT2 = (val))

                                     ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:220:5: note: in expansion of macro 'SOFTPWM_TIMER_SET'

     SOFTPWM_TIMER_SET(0);

     ^~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:37:37: note: suggested alternative: 'TCNT0'

 #define SOFTPWM_TIMER_SET(val)     (TCNT2 = (val))

                                     ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:220:5: note: in expansion of macro 'SOFTPWM_TIMER_SET'

     SOFTPWM_TIMER_SET(0);

     ^~~~~~~~~~~~~~~~~

Using library SoftPWM at version 1.0.1 in folder: C:\Users\Nate\Documents\Arduino\libraries\SoftPWM 

Using library RF24 at version 1.4.1 in folder: C:\Users\Nate\Documents\Arduino\libraries\RF24 

Using library SPI at version 2.0.0 in folder: C:\Users\Nate\Documents\ArduinoData\packages\ATTinyCore\hardware\avr\1.5.2\libraries\SPI 

exit status 1

Error compiling for board ATtiny88 (Micronucleus, MH-ET t88 w/16MHz CLOCK).


At the bottom of the errors in post #5 you see three lines of "Using library"... none say SoftPWM.h or SoftPWM_timer.h... are those in an #ifndef/#ifdef? (looked at code)

Remove/re-install the libraries used by this sketch?

Arduino: 1.8.19 (Windows Store 1.8.57.0) (Windows 10), Board: "ATtiny88 (Micronucleus, MH-ET t88 w/16MHz CLOCK), Enabled, 16 MHz (external 16MHz, USB), MH Tiny, B.O.D. Enabled (4.3v),

Reset, Upgrade (via USB, fuses unchanged), Always, Enabled, Port A (pins 23~26)"

In file included from C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:44:0:

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp: In function 'void SoftPWMBegin(uint8_t)':

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:39:3: error: 'TIFR2' was not declared in this scope

TIFR2 = (1 << TOV2); /* clear interrupt flag */ \

^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:39:3: note: suggested alternative: 'TIFR0'

TIFR2 = (1 << TOV2); /* clear interrupt flag */ \

^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:39:17: error: 'TOV2' was not declared in this scope

TIFR2 = (1 << TOV2); /* clear interrupt flag */ \

             ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:39:17: note: suggested alternative: 'TOV0'

TIFR2 = (1 << TOV2); /* clear interrupt flag */ \

             ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:40:3: error: 'TCCR2B' was not declared in this scope

TCCR2B = (1 << CS21); /* start timer (ck/8 prescalar) */ \

^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:40:3: note: suggested alternative: 'TCCR1B'

TCCR2B = (1 << CS21); /* start timer (ck/8 prescalar) */ \

^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:40:18: error: 'CS21' was not declared in this scope

TCCR2B = (1 << CS21); /* start timer (ck/8 prescalar) */ \

              ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:40:18: note: suggested alternative: 'CS01'

TCCR2B = (1 << CS21); /* start timer (ck/8 prescalar) */ \

              ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:41:3: error: 'TCCR2A' was not declared in this scope

TCCR2A = (1 << WGM21); /* CTC mode */ \

^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:41:3: note: suggested alternative: 'TCCR0A'

TCCR2A = (1 << WGM21); /* CTC mode */ \

^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:41:18: error: 'WGM21' was not declared in this scope

TCCR2A = (1 << WGM21); /* CTC mode */ \

              ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:41:18: note: suggested alternative: 'WGM11'

TCCR2A = (1 << WGM21); /* CTC mode */ \

              ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:42:3: error: 'OCR2A' was not declared in this scope

OCR2A = (ocr); /* We want to have at least 30Hz or else it gets choppy */ \

^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:42:3: note: suggested alternative: 'OCR0A'

OCR2A = (ocr); /* We want to have at least 30Hz or else it gets choppy */ \

^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:43:3: error: 'TIMSK2' was not declared in this scope

TIMSK2 = (1 << OCIE2A); /* enable timer2 output compare match interrupt */ \

^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:43:3: note: suggested alternative: 'TIMSK0'

TIMSK2 = (1 << OCIE2A); /* enable timer2 output compare match interrupt */ \

^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:43:18: error: 'OCIE2A' was not declared in this scope

TIMSK2 = (1 << OCIE2A); /* enable timer2 output compare match interrupt */ \

              ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:43:18: note: suggested alternative: 'OCIE0A'

TIMSK2 = (1 << OCIE2A); /* enable timer2 output compare match interrupt */ \

              ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:171:3: note: in expansion of macro 'SOFTPWM_TIMER_INIT'

SOFTPWM_TIMER_INIT(SOFTPWM_OCR);

^~~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp: In function 'void SoftPWMSet(int8_t, uint8_t, uint8_t)':

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:37:37: error: 'TCNT2' was not declared in this scope

#define SOFTPWM_TIMER_SET(val) (TCNT2 = (val))

                                 ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:220:5: note: in expansion of macro 'SOFTPWM_TIMER_SET'

 SOFTPWM_TIMER_SET(0);

 ^~~~~~~~~~~~~~~~~

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM_timer.h:37:37: note: suggested alternative: 'TCNT0'

#define SOFTPWM_TIMER_SET(val) (TCNT2 = (val))

                                 ^

C:\Users\Nate\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp:220:5: note: in expansion of macro 'SOFTPWM_TIMER_SET'

 SOFTPWM_TIMER_SET(0);

 ^~~~~~~~~~~~~~~~~

exit status 1

Error compiling for board ATtiny88 (Micronucleus, MH-ET t88 w/16MHz CLOCK).

This report would have more information with
"Show verbose output during compilation"*
option enabled in File -> Preferences.> Blockquote

*this is what I did last time so maybe that's the problem. hopefully this helps

Are the libraries (which call the timers) for the Tiny88 the same as the ATmega328P?

I'm supposed to be able to use the same libraries.

here's a link to the soft pwm lib
this is the attiny core I'm using Attinycore
these are the exact boards I have Attiny88

I agree with you, libraries could be borrowed, I have used tiny88 with ATmega328P libraries... but I do not see TIMSK2 (example from the error report) on the tiny88 datasheet. I do not know the datasheet insides at all.

Have you tried Arduin Nano? The clones are as cheap as the tiny88 (US$3 to US$7), and the footprint is the same (Nano and 88).

Ok thanks, I decided to go with the arduino pro mini clone(Like the instructable says) & it uploaded fine but I'm having an issue with the motor driver so if you have any recommendations I started a new topic here L9110s dual H-bridge smokes

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.