Skip to content

Commit

Permalink
upd
Browse files Browse the repository at this point in the history
  • Loading branch information
AlexGyver committed Sep 1, 2019
1 parent 9b679e0 commit ad84f21
Show file tree
Hide file tree
Showing 11 changed files with 138 additions and 361 deletions.
21 changes: 16 additions & 5 deletions GyverCore/boards.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@
###################################
## GyverCore on 328 based boards ##
###################################

nano.build.extra_flags={extra_flags.timer} {extra_flags.init}

## BOARD ##
nano.name=ATmega328 based

Expand Down Expand Up @@ -99,6 +102,14 @@ nano.menu.boot.optiboot.speeds.US16MHZ=115200
nano.menu.boot.optiboot.speeds.US8MHZ=57600
nano.menu.boot.optiboot.speeds.US1MHZ=7200

nano.menu.boot.optiboot_v8=OptiBoot v8
nano.menu.boot.optiboot_v8.upload.maximum_size=32256
nano.menu.boot.optiboot_v8.fuses.BOOT=110
nano.menu.boot.optiboot_v8.bootloader.dir=optiboot_v8
nano.menu.boot.optiboot_v8.speeds.US16MHZ=115200
nano.menu.boot.optiboot_v8.speeds.US8MHZ=57600
nano.menu.boot.optiboot_v8.speeds.US1MHZ=7200

nano.menu.boot.no=Without bootloader
nano.menu.boot.no.upload.maximum_size=32768
nano.menu.boot.no.fuses.BOOT=111
Expand All @@ -111,6 +122,7 @@ nano.menu.boot.no.speeds.US1MHZ=666
menu.timers=System timer

nano.menu.timers.yes_millis=enable
nano.menu.timers.yes_millis.extra_flags.timer=
nano.menu.timers.no_millis=disable
nano.menu.timers.no_millis.build.extra_flags=-D_GYVERCORE_NOMILLIS

Expand All @@ -129,8 +141,7 @@ nano.menu.bod.bod_4_3.bootloader.extended_fuses=0xFC
## INIT ##
menu.init=Initialization

nano.menu.init.default=default
nano.menu.init.default.build.extra_flags=-D_GYVERCORE_DEF_INIT
nano.menu.init.light_init=light (beta)
nano.menu.init.light_init.build.extra_flags=-D_GYVERCORE_LIGHT_INIT
nano.menu.init.no_init=disable
nano.menu.init.enable=enable
nano.menu.init.enable.extra_flags.init=
nano.menu.init.no_init=disable
nano.menu.init.no_init.extra_flags.init=-D_GYVERCORE_NOINIT
33 changes: 33 additions & 0 deletions GyverCore/bootloaders/optiboot_v8/atmega328.hex
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
:107E000001C0DCC0112484B7882361F0982F9A70D8
:107E1000923041F081FF02C097EF94BF282E80E09E
:107E2000B8D0EEC085E08093810082E08093C000EE
:107E300088E18093C10086E08093C20080E1809356
:107E4000C4008EE0A6D0259A86E020E33CEF91E0C6
:107E5000309385002093840096BBB09BFECF1D9A83
:107E6000A8954091C00047FD02C0815089F7EE24DB
:107E7000E39495E0D92E21E1C22E7FD0813461F4C4
:107E80007CD0182F8CD01238E9F0113811F488E02A
:107E900001C083E06BD067C0823411F484E103C079
:107EA000853419F485E083D05EC0853539F465D01A
:107EB000C82F63D0D82FCC0FDD1F54C0863521F4D6
:107EC00084E075D080E0E6CF843609F02EC055D02E
:107ED00054D0F82E52D0B82E00E011E04ED0F80168
:107EE00081938F01FE12FACF5AD0F5E4BF1201C080
:107EF000FFCF83E0FE0187BFE89507B600FCFDCF0A
:107F0000A0E0B1E0FE018D919D910C01E7BEE895E6
:107F100011243296FA12F7CFFE01D7BEE89507B6C4
:107F200000FCFDCFC7BEE8951EC0843771F425D094
:107F300024D0F82E22D033D08E01F80185918F0104
:107F400015D0FA94F110F9CF0EC0853739F427D047
:107F50008EE10CD085E90AD08FE09CCF813511F4F9
:107F600088E017D01CD080E101D087CF9091C0006D
:107F700095FFFCCF8093C60008958091C00087FFD5
:107F8000FCCF8091C00084FD01C0A8958091C600FF
:107F90000895E0E6F0E098E1908380830895EDDFB6
:107FA000803219F088E0F5DFFFCF84E1DFCFCF9397
:107FB000C82FE3DFC150E9F7CF91F1CFFC010A01EF
:107FC00067BFE895112407B600FCFDCF667029F065
:0C7FD000452B19F481E187BFE895089566
:027FFE00000879
:0400000300007E007B
:00000001FF
1 change: 1 addition & 0 deletions GyverCore/bootloaders/optiboot_v8/emptyBoot.hex
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
:107E0000112484B714BE81FFF0D085E080938100F7
11 changes: 0 additions & 11 deletions GyverCore/cores/arduino/Arduino.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,13 +44,6 @@ extern "C"{
#define EXTERNAL 0
#define THERMOMETR 22

#define PWM_8BIT 0
#define PWM_10BIT 1

#define PWM_DEFAULT 0
#define PWM_8KHZ 1
#define PWM_31KHZ 2

// ===== MATH MACRO =====
#ifdef abs
#undef abs
Expand Down Expand Up @@ -111,10 +104,6 @@ void init(void);
// ===== PIN OPERATION ======
// new
void lightInit(void);
void setPWM_20kHz(byte pin);
void setPWM_9_10_resolution(boolean resolution); // 0 - 8 бит, 1 - 10 бит
void setPwmFreqnuency(byte pin, byte freq); //default, 8KHZ, 31KHZ
void setPWM_default(byte pin);
void analogStartConvert(byte pin);
void analogPrescaler(uint8_t prescl);
int analogGet();
Expand Down
23 changes: 23 additions & 0 deletions GyverCore/cores/arduino/Init.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#include "Arduino.h"

void init() { // функция инициализации
cli();
/* timer 0 */
TCCR0A = 0b00000011; // fast pwm 8 bit
TCCR0B = 0b00000011; // делитель 64
#ifndef _GYVERCORE_NOMILLIS
TIMSK0 |= (1<<TOIE0); // ovf interrupt вкл
#endif
/* timer 1 */
TCCR1A = 0b00000001; // phasecorrect pwm 8 bit
TCCR1B = 0b00001011; // делитель 64
/* timer 2 */
TCCR2A = 0b00000001; // phasecorrect pwm 8 bit
TCCR2B = 0b00000100; // делитель 64
/* adc */
ADCSRA = 0b10000010; // делитель - 4 [0,1,2 bits - делитель]
/* ADC prescalers: 001 >> /2 010 >> /4 011 >> /8 100 >> /16 101 >> /32 110 >> /64 111 >> /128*/
/* UART */
UCSR0B = 0; // пока не вызван Serial.begin / uartBegin выводы 0/1 свободны для работы.
sei();
}
20 changes: 0 additions & 20 deletions GyverCore/cores/arduino/lightInit.cpp

This file was deleted.

11 changes: 4 additions & 7 deletions GyverCore/cores/arduino/main.cpp
Original file line number Diff line number Diff line change
@@ -1,14 +1,11 @@
/* Главный цикл программы */

#pragma message "GyverCore v1.7.2 inside. Enjoy"
#pragma message "GyverCore v1.7.3 inside. Enjoy"

#include <Arduino.h>
int main(void)
{ WDTCSR |= (1<<WDCE); // даем разрешение отключить ватчдог
WDTCSR = 0; // Первым делом отключаем ватчдог
#if defined (_GYVERCORE_DEF_INIT)
int main(void) {
#ifndef _GYVERCORE_NOINIT
init(); // инициализация таймеров и ацп
#elif defined (_GYVERCORE_LIGHT_INIT)
lightInit();// лёгкая инициализация таймеров и ацп
#endif
setup(); // функция setup
for(;;) { // бесконечный цикл
Expand Down
Loading

0 comments on commit ad84f21

Please sign in to comment.