AVR again

2026., március 4.

Pic source: AVR microcontrollers
Pic source: AVR microcontrollers

A nagyon jó emlékek miatt és hogy megvan még a leszerelt működőképes hardver is, újra elővettem az új gépen az öreg AVR (Alf and Vegard’s RISC processor) nyaralóvezérlő projektemet.

Első lépésként most megnéztem, hogy ARM alapon is megvannak-e a fejlesztéshez szükséges komponensek:

13:27:50 Wed Mar 04 [flex@Mac:[~/Downloads] [0]
$ sw_vers

ProductName:            macOS
ProductVersion:         15.7.4
BuildVersion:           24G517

13:27:54 Wed Mar 04 [flex@Mac:[~/Downloads] [0]
$ cd ~/development/AVR/

13:55:08 Wed Mar 04 [flex@Mac:[~/development/AVR] [0]
$ cd new
new.fleischmann.hu/  newAVR-GSM-SMS2/

13:55:08 Wed Mar 04 [flex@Mac:[~/development/AVR] [0]
$ cd newAVR-GSM-SMS2/
/Users/flex/development/AVR/newAVR-GSM-SMS2

13:55:15 Wed Mar 04 [flex@Mac:[~/development/AVR/newAVR-GSM-SMS2] [0]
$ ls -l
total 4872
-rw-r--r--@  1 flex  staff      92 Jan  6  2016 __avr_gdbinit
-rw-r--r--@  1 flex  staff    2084 Jan  6  2016 AT
-rw-r--r--@  1 flex  staff   38491 Jun 15  2022 AVR-GSM-SMS.c
-rw-r--r--   1 flex  staff      13 Oct 18  2024 AVR-GSM-SMS.eep
-rwxr-xr-x   1 flex  staff  183400 Oct 18  2024 AVR-GSM-SMS.elf
-rw-r--r--   1 flex  staff   43557 Oct 18  2024 AVR-GSM-SMS.hex
-rw-r--r--   1 flex  staff  347249 Oct 18  2024 AVR-GSM-SMS.lss
-rw-r--r--   1 flex  staff  587393 Oct 18  2024 AVR-GSM-SMS.lst
-rw-r--r--   1 flex  staff   80437 Oct 18  2024 AVR-GSM-SMS.map
-rw-r--r--   1 flex  staff  142004 Oct 18  2024 AVR-GSM-SMS.o
-rw-r--r--   1 flex  staff   97009 Oct 18  2024 AVR-GSM-SMS.sym
-rw-r--r--@  1 flex  staff    8464 May 15  2017 AVR-GSM.c
-rw-r--r--@  1 flex  staff    1785 Jan 15  2016 AVR-GSM.h
-rw-r--r--   1 flex  staff  247355 Oct 18  2024 AVR-GSM.lst
-rw-r--r--   1 flex  staff   59808 Oct 18  2024 AVR-GSM.o
-rw-r--r--@  1 flex  staff     672 Jan  6  2016 eeprom.c
-rw-r--r--@  1 flex  staff     133 Jan  6  2016 eeprom.h
-rw-r--r--@  1 flex  staff    2871 Jan  6  2016 eeprom.lst
-rw-r--r--@  1 flex  staff    2812 Jan  6  2016 eeprom.o
drwxr-xr-x  10 flex  staff     320 Jan  6  2016 i2cmaster
-rw-------@  1 flex  staff    5651 Jan  6  2016 i2cmaster.h
-rw-r--r--@  1 flex  staff    1239 Jan  6  2016 Knowledge
-rwxr-xr-x@  1 flex  staff   21546 Jan 15  2016 lcd.c
-rwxr-xr-x@  1 flex  staff   11179 Jan  6  2016 lcd.h
-rw-r--r--   1 flex  staff  119951 Oct 18  2024 lcd.lst
-rw-r--r--   1 flex  staff   27260 Oct 18  2024 lcd.o
drwxr-xr-x   9 flex  staff     288 Jan  6  2016 lcdlibrary
-rw-------@  1 flex  staff   15523 Jan 18  2016 makefile
-rw-r--r--@  1 flex  staff    2013 Jan  6  2016 myAVR-GSM-SMS.smultronProject
-rw-r--r--@  1 flex  staff   17824 Jun 15  2022 o.html
-rwxr-xr-x@  1 flex  staff   37430 Jan  6  2016 test.c.old
-rw-r--r--@  1 flex  staff    5589 Jan  6  2016 tmp.c
-rw-------@  1 flex  staff    6218 Jan  6  2016 twimaster.c
-rw-r--r--   1 flex  staff   44730 Oct 18  2024 twimaster.lst
-rw-r--r--   1 flex  staff   11808 Oct 18  2024 twimaster.o
-rw-r--r--@  1 flex  staff   46647 Jun 15  2022 uart.c
-rwxr-xr-x@  1 flex  staff   21006 Jan  6  2016 uart.c.orig.c
-rw-r--r--@  1 flex  staff   17146 Jun 15  2022 uart.h
-rwxr-xr-x@  1 flex  staff    7325 Jan 28  2016 uart.h.orig.h
-rw-r--r--   1 flex  staff  122879 Oct 18  2024 uart.lst
-rw-r--r--   1 flex  staff   23336 Oct 18  2024 uart.o
drwxr-xr-x   9 flex  staff     288 Jan  6  2016 uartlibrary

13:55:20 Wed Mar 04 [flex@Mac:[~/development/AVR/newAVR-GSM-SMS2] [0]
$ make

-------- begin --------
expr: syntax error
sh: line 0: [: -eq: unary operator expected
usage: touch [-A [-][[hh]mm]SS] [-achm] [-r file] [-t [[CC]YY]MMDDhhmm[.SS]]
       [-d YYYY-MM-DDThh:mm:SS[.frac][tz]] file ...
sh: avr-gcc: command not found
make: *** [gccversion] Error 127

13:55:22 Wed Mar 04 [flex@Mac:[~/development/AVR/newAVR-GSM-SMS2] [0]
$ port install avr-gcc
Error: Insufficient privileges to write to MacPorts install prefix.

13:55:38 Wed Mar 04 [flex@Mac:[~/development/AVR/newAVR-GSM-SMS2] [0]
$ sudo port install avr-gcc
--->  Computing dependencies for avr-gcc
The following dependencies will be installed:
 avr-binutils
 gettext
 gettext-runtime
 gettext-tools-libs
 gmp
 isl
 libiconv
 libmpc
 libtextstyle
 lz4
 mpfr
 ncurses
 xz
 zlib
 zstd
Continue? [Y/n]: y
--->  Fetching archive for gmp
Attempting to fetch https://packages.macports.org/gmp/gmp-6.3.0_0.darwin_24.arm64.tbz2
Attempting to fetch https://packages.macports.org/gmp/gmp-6.3.0_0.darwin_24.arm64.tbz2.rmd160
--->  Installing gmp @6.3.0_0
--->  Activating gmp @6.3.0_0
--->  Cleaning gmp
--->  Fetching archive for mpfr
--->  Installing mpfr @4.2.2_0
--->  Activating mpfr @4.2.2_0
--->  Cleaning mpfr
--->  Fetching archive for isl
Attempting to fetch https://packages.macports.org/isl/isl-0.24_1.darwin_24.arm64.tbz2
Attempting to fetch https://packages.macports.org/isl/isl-0.24_1.darwin_24.arm64.tbz2.rmd160
--->  Installing isl @0.24_1
--->  Activating isl @0.24_1
--->  Cleaning isl
--->  Fetching archive for libiconv
--->  Installing libiconv @1.17_0
--->  Activating libiconv @1.17_0
--->  Cleaning libiconv
--->  Fetching archive for libmpc
--->  Installing libmpc @1.3.1_0
--->  Activating libmpc @1.3.1_0
--->  Cleaning libmpc
--->  Fetching archive for zlib
--->  Installing zlib @1.3.1_0
--->  Activating zlib @1.3.1_0
--->  Cleaning zlib
--->  Fetching archive for gettext-runtime
--->  Installing gettext-runtime @0.22.5_0
--->  Activating gettext-runtime @0.22.5_0
--->  Cleaning gettext-runtime
--->  Fetching archive for ncurses
Attempting to fetch https://packages.macports.org/ncurses/ncurses-6.6_0.darwin_24.arm64.tbz2
Attempting to fetch https://packages.macports.org/ncurses/ncurses-6.6_0.darwin_24.arm64.tbz2.rmd160
--->  Installing ncurses @6.6_0
--->  Activating ncurses @6.6_0
--->  Cleaning ncurses
--->  Fetching archive for libtextstyle
--->  Installing libtextstyle @0.22.5_0
--->  Activating libtextstyle @0.22.5_0
--->  Cleaning libtextstyle
--->  Fetching archive for gettext-tools-libs
--->  Installing gettext-tools-libs @0.22.5_0
--->  Activating gettext-tools-libs @0.22.5_0
--->  Cleaning gettext-tools-libs
--->  Fetching archive for gettext
--->  Installing gettext @0.22.5_0
--->  Activating gettext @0.22.5_0
--->  Cleaning gettext
--->  Fetching archive for lz4
--->  Installing lz4 @1.10.0_0
--->  Activating lz4 @1.10.0_0
--->  Cleaning lz4
--->  Fetching archive for xz
--->  Installing xz @5.8.1_0
--->  Activating xz @5.8.1_0
--->  Cleaning xz
--->  Fetching archive for zstd
--->  Installing zstd @1.5.7_0
--->  Activating zstd @1.5.7_0
--->  Cleaning zstd
--->  Fetching archive for avr-binutils
--->  Installing avr-binutils @2.45.1_0
--->  Activating avr-binutils @2.45.1_0
--->  Cleaning avr-binutils
--->  Fetching archive for avr-gcc
Attempting to fetch https://packages.macports.org/avr-gcc/avr-gcc-15.2.0_0%2Blto.darwin_24.arm64.tbz2
Attempting to fetch https://packages.macports.org/avr-gcc/avr-gcc-15.2.0_0%2Blto.darwin_24.arm64.tbz2.rmd160
--->  Installing avr-gcc @15.2.0_0+lto
--->  Activating avr-gcc @15.2.0_0+lto
--->  Cleaning avr-gcc
--->  Updating database of binaries
--->  Scanning binaries for linking errors
--->  No broken files found.
--->  No broken ports found.

13:56:20 Wed Mar 04 [flex@Mac:[~/development/AVR/newAVR-GSM-SMS2] [0]

$ sudo port install avr-libc
--->  Upgrading already installed dependencies of avr-libc
--->  Computing dependencies for avr-libc
--->  Fetching archive for avr-libc
Attempting to fetch https://packages.macports.org/avr-libc/avr-libc-2.2.0_0.darwin_24.noarch.tbz2
Attempting to fetch https://packages.macports.org/avr-libc/avr-libc-2.2.0_0.darwin_24.noarch.tbz2.rmd160
--->  Installing avr-libc @2.2.0_0
--->  Activating avr-libc @2.2.0_0
--->  Cleaning avr-libc
--->  Scanning binaries for linking errors
--->  No broken files found.
--->  No broken ports found.

13:58:35 Wed Mar 04 [flex@Mac:[~/development/AVR/newAVR-GSM-SMS2] [0]
$ sudo port install avr-gdb
Error: Cannot install avr-gdb for the arch 'x86_64' because
Error: its dependency avr-gcc is only installed for the arch 'arm64'
Error: and does not have a universal variant.
Error: Unable to execute port avr-gdb: architecture mismatch

13:58:44 Wed Mar 04 [flex@Mac:[~/development/AVR/newAVR-GSM-SMS2] [0]
$ sudo port install avrdude
--->  Computing dependencies for avrdude
The following dependencies will be installed:
 hidapi
 libconfuse
 libelf
 libftdi1
 libserialport
 libusb
 libusb-compat
 readline
Continue? [Y/n]: y
--->  Fetching archive for hidapi
Attempting to fetch https://packages.macports.org/hidapi/hidapi-0.12.0_0.darwin_24.arm64.tbz2.rmd160
--->  Installing hidapi @0.12.0_0
--->  Activating hidapi @0.12.0_0
--->  Cleaning hidapi
--->  Fetching archive for libelf
--->  Installing libelf @0.8.13_4
--->  Activating libelf @0.8.13_4
--->  Cleaning libelf
--->  Fetching archive for libserialport
--->  Installing libserialport @0.1.2_0
--->  Activating libserialport @0.1.2_0
--->  Cleaning libserialport
--->  Fetching archive for libusb
--->  Installing libusb @1.0.29_0
--->  Activating libusb @1.0.29_0
--->  Cleaning libusb
--->  Fetching archive for readline
--->  Installing readline @8.2.013_0
--->  Activating readline @8.2.013_0
--->  Cleaning readline
--->  Fetching archive for libusb-compat
--->  Installing libusb-compat @0.1.8_0
--->  Activating libusb-compat @0.1.8_0
--->  Cleaning libusb-compat
--->  Fetching archive for libconfuse
--->  Installing libconfuse @3.3_0
--->  Activating libconfuse @3.3_0
--->  Cleaning libconfuse
--->  Fetching archive for libftdi1
--->  Installing libftdi1 @1.5_2
--->  Activating libftdi1 @1.5_2
--->  Cleaning libftdi1
--->  Fetching archive for avrdude
Attempting to fetch https://packages.macports.org/avrdude/avrdude-8.1_0.darwin_24.arm64.tbz2
Attempting to fetch https://packages.macports.org/avrdude/avrdude-8.1_0.darwin_24.arm64.tbz2.rmd160
--->  Installing avrdude @8.1_0
--->  Activating avrdude @8.1_0
--->  Cleaning avrdude
--->  Scanning binaries for linking errors
--->  No broken files found.
--->  No broken ports found.

13:59:31 Wed Mar 04 [flex@Mac:[~/development/AVR/newAVR-GSM-SMS2] [0]
$ make

-------- begin --------
expr: syntax error
sh: line 0: [: -eq: unary operator expected
usage: touch [-A [-][[hh]mm]SS] [-achm] [-r file] [-t [[CC]YY]MMDDhhmm[.SS]]
       [-d YYYY-MM-DDThh:mm:SS[.frac][tz]] file ...
avr-gcc (GCC) 15.2.0
Copyright (C) 2025 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


Size before:
AVR-GSM-SMS.elf  :
section                     size      addr
.text                      14890         0
.data                        936   8388704
.bss                         420   8389640
.comment                      36         0
.note.gnu.avr.deviceinfo      60         0
.debug_aranges               328         0
.debug_info                22178         0
.debug_abbrev               4338         0
.debug_line                21089         0
.debug_frame                1640         0
.debug_str                  2784         0
.debug_line_str              494         0
.debug_loclists             6418         0
.debug_rnglists              151         0
Total                      75762




Compiling: AVR-GSM-SMS.c
avr-gcc -c -mmcu=atmega32 -I. -g -DF_CPU=7372800UL    -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes  -Wa,-adhlns=AVR-GSM-SMS.lst  -std=gnu99 -MD -MP -MF .dep/AVR-GSM-SMS.o.d AVR-GSM-SMS.c -o AVR-GSM-SMS.o
In file included from AVR-GSM-SMS.c:46:
AVR-GSM-SMS.c: In function ‘main’:
AVR-GSM-SMS.c:980:81: warning: pointer targets in passing argument 2 of ‘lcd_morph_p’ differ in signedness [-Wpointer-sign]
  980 |       if ( In_OPT2() ) lcd_morph_P( "Home Automation by   _flex from FleXoft.", rand_matrix1 );
      |                                                                                 ^~~~~~~~~~~~
      |                                                                                 |
      |                                                                                 const unsigned char *
AVR-GSM.h:60:59: note: in definition of macro ‘lcd_morph_P’
   60 | #define lcd_morph_P( __p, __r ) lcd_morph_p( PSTR( __p ), __r )
      |                                                           ^~~
AVR-GSM.h:59:53: note: expected ‘const char *’ but argument is of type ‘const unsigned char *’
   59 | extern void lcd_morph_p( const char *p, const char *r );
      |                                         ~~~~~~~~~~~~^
AVR-GSM-SMS.c:1033:52: warning: pointer targets in passing argument 2 of ‘lcd_morph’ differ in signedness [-Wpointer-sign]
 1033 |           if ( In_OPT2() ) lcd_morph( generalPage, rand_matrix2 );
      |                                                    ^~~~~~~~~~~~
      |                                                    |
      |                                                    const unsigned char *
AVR-GSM.h:57:45: note: expected ‘const char *’ but argument is of type ‘const unsigned char *’
   57 | extern void lcd_morph( char *p, const char *r );
      |                                 ~~~~~~~~~~~~^
AVR-GSM-SMS.c:1059:48: warning: pointer targets in passing argument 2 of ‘lcd_morph’ differ in signedness [-Wpointer-sign]
 1059 |       if ( In_OPT2() ) lcd_morph( generalPage, rand_matrix5 );
      |                                                ^~~~~~~~~~~~
      |                                                |
      |                                                const unsigned char *
AVR-GSM.h:57:45: note: expected ‘const char *’ but argument is of type ‘const unsigned char *’
   57 | extern void lcd_morph( char *p, const char *r );
      |                                 ~~~~~~~~~~~~^
AVR-GSM-SMS.c:1090:54: warning: pointer targets in passing argument 2 of ‘lcd_morph’ differ in signedness [-Wpointer-sign]
 1090 |             if ( In_OPT2() ) lcd_morph( generalPage, rand_matrix1 );
      |                                                      ^~~~~~~~~~~~
      |                                                      |
      |                                                      const unsigned char *
AVR-GSM.h:57:45: note: expected ‘const char *’ but argument is of type ‘const unsigned char *’
   57 | extern void lcd_morph( char *p, const char *r );
      |                                 ~~~~~~~~~~~~^
AVR-GSM-SMS.c:1106:49: warning: pointer targets in passing argument 2 of ‘lcd_morph’ differ in signedness [-Wpointer-sign]
 1106 |       if ( In_OPT2() ) lcd_morph( generalPage , rand_matrix2 );
      |                                                 ^~~~~~~~~~~~
      |                                                 |
      |                                                 const unsigned char *
AVR-GSM.h:57:45: note: expected ‘const char *’ but argument is of type ‘const unsigned char *’
   57 | extern void lcd_morph( char *p, const char *r );
      |                                 ~~~~~~~~~~~~^
AVR-GSM-SMS.c:1115:81: warning: pointer targets in passing argument 2 of ‘lcd_morph_p’ differ in signedness [-Wpointer-sign]
 1115 |       if ( In_OPT2() ) lcd_morph_P( " www.fleischmann.hu gyorgy@fleishmann.hu", rand_matrix3 );
      |                                                                                 ^~~~~~~~~~~~
      |                                                                                 |
      |                                                                                 const unsigned char *
AVR-GSM.h:60:59: note: in definition of macro ‘lcd_morph_P’
   60 | #define lcd_morph_P( __p, __r ) lcd_morph_p( PSTR( __p ), __r )
      |                                                           ^~~
AVR-GSM.h:59:53: note: expected ‘const char *’ but argument is of type ‘const unsigned char *’
   59 | extern void lcd_morph_p( const char *p, const char *r );
      |                                         ~~~~~~~~~~~~^
AVR-GSM-SMS.c:1137:48: warning: pointer targets in passing argument 2 of ‘lcd_morph’ differ in signedness [-Wpointer-sign]
 1137 |       if ( In_OPT2() ) lcd_morph( generalPage, rand_matrix4 );
      |                                                ^~~~~~~~~~~~
      |                                                |
      |                                                const unsigned char *
AVR-GSM.h:57:45: note: expected ‘const char *’ but argument is of type ‘const unsigned char *’
   57 | extern void lcd_morph( char *p, const char *r );
      |                                 ~~~~~~~~~~~~^
AVR-GSM-SMS.c:1150:48: warning: pointer targets in passing argument 2 of ‘lcd_morph’ differ in signedness [-Wpointer-sign]
 1150 |       if ( In_OPT2() ) lcd_morph( generalPage, rand_matrix4 );
      |                                                ^~~~~~~~~~~~
      |                                                |
      |                                                const unsigned char *
AVR-GSM.h:57:45: note: expected ‘const char *’ but argument is of type ‘const unsigned char *’
   57 | extern void lcd_morph( char *p, const char *r );
      |                                 ~~~~~~~~~~~~^
AVR-GSM-SMS.c:1165:48: warning: pointer targets in passing argument 2 of ‘lcd_morph’ differ in signedness [-Wpointer-sign]
 1165 |       if ( In_OPT2() ) lcd_morph( generalPage, rand_matrix4 );
      |                                                ^~~~~~~~~~~~
      |                                                |
      |                                                const unsigned char *
AVR-GSM.h:57:45: note: expected ‘const char *’ but argument is of type ‘const unsigned char *’
   57 | extern void lcd_morph( char *p, const char *r );
      |                                 ~~~~~~~~~~~~^
AVR-GSM-SMS.c:1186:48: warning: pointer targets in passing argument 2 of ‘lcd_morph’ differ in signedness [-Wpointer-sign]
 1186 |       if ( In_OPT2() ) lcd_morph( generalPage, rand_matrix1 );
      |                                                ^~~~~~~~~~~~
      |                                                |
      |                                                const unsigned char *
AVR-GSM.h:57:45: note: expected ‘const char *’ but argument is of type ‘const unsigned char *’
   57 | extern void lcd_morph( char *p, const char *r );
      |                                 ~~~~~~~~~~~~^
AVR-GSM-SMS.c:1208:48: warning: pointer targets in passing argument 2 of ‘lcd_morph’ differ in signedness [-Wpointer-sign]
 1208 |       if ( In_OPT2() ) lcd_morph( generalPage, rand_matrix1 );
      |                                                ^~~~~~~~~~~~
      |                                                |
      |                                                const unsigned char *
AVR-GSM.h:57:45: note: expected ‘const char *’ but argument is of type ‘const unsigned char *’
   57 | extern void lcd_morph( char *p, const char *r );
      |                                 ~~~~~~~~~~~~^
AVR-GSM-SMS.c:1221:48: warning: pointer targets in passing argument 2 of ‘lcd_morph’ differ in signedness [-Wpointer-sign]
 1221 |       if ( In_OPT2() ) lcd_morph( smsSentPage, rand_matrix5 );
      |                                                ^~~~~~~~~~~~
      |                                                |
      |                                                const unsigned char *
AVR-GSM.h:57:45: note: expected ‘const char *’ but argument is of type ‘const unsigned char *’
   57 | extern void lcd_morph( char *p, const char *r );
      |                                 ~~~~~~~~~~~~^
AVR-GSM-SMS.c:1230:81: warning: pointer targets in passing argument 2 of ‘lcd_morph_p’ differ in signedness [-Wpointer-sign]
 1230 |       if ( In_OPT2() ) lcd_morph_P( "1www.fleischmann.hu gyorgy@fleishmann.hu", rand_matrix3 );
      |                                                                                 ^~~~~~~~~~~~
      |                                                                                 |
      |                                                                                 const unsigned char *
AVR-GSM.h:60:59: note: in definition of macro ‘lcd_morph_P’
   60 | #define lcd_morph_P( __p, __r ) lcd_morph_p( PSTR( __p ), __r )
      |                                                           ^~~
AVR-GSM.h:59:53: note: expected ‘const char *’ but argument is of type ‘const unsigned char *’
   59 | extern void lcd_morph_p( const char *p, const char *r );
      |                                         ~~~~~~~~~~~~^
AVR-GSM-SMS.c:1239:81: warning: pointer targets in passing argument 2 of ‘lcd_morph_p’ differ in signedness [-Wpointer-sign]
 1239 |       if ( In_OPT2() ) lcd_morph_P( "2www.fleischmann.hu gyorgy@fleishmann.hu", rand_matrix3 );
      |                                                                                 ^~~~~~~~~~~~
      |                                                                                 |
      |                                                                                 const unsigned char *
AVR-GSM.h:60:59: note: in definition of macro ‘lcd_morph_P’
   60 | #define lcd_morph_P( __p, __r ) lcd_morph_p( PSTR( __p ), __r )
      |                                                           ^~~
AVR-GSM.h:59:53: note: expected ‘const char *’ but argument is of type ‘const unsigned char *’
   59 | extern void lcd_morph_p( const char *p, const char *r );
      |                                         ~~~~~~~~~~~~^
AVR-GSM-SMS.c:1336:9: error: implicit declaration of function ‘uart_wait_for_empty_buffer’; did you mean ‘uart_wait_for_emty_buffer’? [-Wimplicit-function-declaration]
 1336 |         uart_wait_for_empty_buffer();
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |         uart_wait_for_emty_buffer
AVR-GSM-SMS.c: In function ‘waiting_for_carrier_and_put_temporary_buffer’:
AVR-GSM-SMS.c:572:1: warning: control reaches end of non-void function [-Wreturn-type]
  572 | }
      | ^
AVR-GSM-SMS.c: At top level:
AVR-GSM-SMS.c:323:27: warning: ‘smsSentPage_’ defined but not used [-Wunused-const-variable=]
  323 | static const PROGMEM char smsSentPage_[] =         "Status SMS sent to:        ____________.";
      |                           ^~~~~~~~~~~~
make: *** [AVR-GSM-SMS.o] Error 1
14:16:45 Wed Mar 04 [flex@Mac:[~/development/AVR/newAVR-GSM-SMS2] [0]

Egyből nem lett még teljesen tökéletes, de mindenképpen bíztató az, hogy le akar fordulni és, ha kiszedem a problémás sort, akkor már rendben lefordul és fel is töltődik. Ezen a ponton mást még nem is kell tudnia.

Így itt egyelőre kicsit megtorpanok, mert erről a pontról már ugyanúgy az AI-val szeretnék továbbmenni most majdnem teljesen az elejéről, hogy lássam itt mit tud majd segíteni?!

A terv a következő:

Ennek a történetnek a folytatása következik majd valamikor…