Open
Description
At the moment, the hardware-specific API is visible in the arduino sketches by default.
( ie implementation details are bleeding into the Arduino abstract API).
Therefore users can write code like
PORTB &= ~(1 << PB3); // reset bit 3 of PORT B
and even
digitalWrite(PB1 , HIGH); //This doesnt work
This confusion can be eliminated if the hw-specific headers are not included in the sketch by default.
If advanced users really need these defines, they can include the headers explicitly.
Samples:
https://www.instructables.com/id/ATTiny-Port-Manipulation/
PORTB |= (1 << PB3); //replaces digitalWrite(PB3, HIGH);
damellis/attiny#127