Перейти к содержанию

помогите с программой в cvavr


begun

Рекомендуемые сообщения

здравствуйте,

есть программа для протеусовского дисплея с контроллером sed1520 на cvavr, которая четко работает в протеусе, но открыл исходник в cvavr 3.12,
скомпелир и выдает 2 error.
---------------------------------------------

#include ‹mega32.h›
#include ‹delay.h›
#include "sed1520.h"
#include "sed1520.c"
#define DELAY 2 /* hundrets of milliseconds (20 -› 2s) */

/* update display (framebuffer to LCD-RAM and delay for t*100 ms */
void demo_upd_delay(unsigned char t)
{ unsigned char i;

lcd_update_all();
for (i=0; i‹t; i++)
{ delay_ms(50);
delay_ms(50);
};
}
void main(void)
{
// Declare your local variables here
unsigned char a,b;

lcd_init(); /* initialize display */

while (1)
{ lcd_erase(); // clear display

// single dots
lcd_dot_set(0,0);
lcd_dot_set(121,0);
lcd_dot_set(0,31);
lcd_dot_set(121,31);
lcd_dot_set(60,15);
demo_upd_delay(DELAY);


//Рамка
lcd_rect(0,0,122,32,LCD_MODE_SET);
lcd_rect(2,2,118,28,LCD_MODE_SET);


//Диагональ

lcd_line(2,2,119,29,LCD_MODE_SET);
lcd_line(119,1,1,29,LCD_MODE_SET);
demo_upd_delay(DELAY);

lcd_erase();

for (a=5;a‹=8;a++) { lcd_circle(60,15,a,LCD_MODE_SET);
demo_upd_delay(DELAY);
lcd_circle(60,15,a,LCD_MODE_CLEAR);
};


// text and fonts

// Пишем русским шрифтом
//Это первая строка клавиатуры
lcd_erase();
lcd_text_p(0,0,&rus_shot,"Ghbdtn dctv! Ehf!!");
lcd_text_p(0,8,&rus_shot,"qwertyuiop[]\\");
lcd_text_p(0,16,&rus_shot,"QWERTYUIOP{}|");
demo_upd_delay(DELAY);
//Вторая строка клавиатуры
lcd_erase();
lcd_text_p(0,8,&rus_shot,"ASDFGHJKL:""");
lcd_text_p(0,16,&rus_shot,"asdfghjkl;'");
demo_upd_delay(DELAY);
//Третья строка клавиатуры
lcd_erase();
lcd_text_p(0,8,&rus_shot,"ZXCVBNM‹›?");
lcd_text_p(0,16,&rus_shot,"zxcvbnm,./");
demo_upd_delay(DELAY);
//Строка с цифрами и доп знаками
lcd_erase();
lcd_text_p(0,8,&rus_shot,"`1234567890-=");
lcd_text_p(0,16,&rus_shot,"~!@#$%^&*()_+ вне таблицы");
demo_upd_delay(DELAY);

//Латинский шрифт
lcd_erase();
//lcd_text_p(0,0,&FONT_FIVE_DOT,"qwertyuiopasdfghjkl ");
lcd_text_p(0,8,&FONT_SEVEN_DOT,"qwertyuiopasdfghjk l");
demo_upd_delay(DELAY);

// inverse
lcd_box(2,2,118,28,LCD_MODE_XOR);
demo_upd_delay(DELAY);

// Большой шрифт for a clock
lcd_erase();
lcd_text_p(4,7,&FONT_EIGHTEEN_DOT,"12:34:56");
demo_upd_delay(DELAY);

// fonts & inverse
//lcd_text(5,0,FONT_NINE_DOT,"EW12A03GLY");
lcd_erase();
lcd_text_p(5,16,&FONT_SEVEN_DOT,"Proteus VSM");
demo_upd_delay(DELAY);
lcd_box(0,0,SCRN_RIGHT+1,SCRN_BOTTOM+1,LCD_MODE_XO R);
demo_upd_delay(DELAY);
lcd_box(0,0,SCRN_RIGHT+1,SCRN_BOTTOM+1,LCD_MODE_XO R);
demo_upd_delay(DELAY);

// bitmap
lcd_erase();
lcd_bitmap(90, 1, &icon1_bmp, LCD_MODE_SET);
demo_upd_delay(DELAY);

lcd_erase();
lcd_bitmap(0, 0, &frame_bmp, LCD_MODE_SET);
demo_upd_delay(DELAY);

lcd_erase();
lcd_bitmap(0, 0, &icon_aist, LCD_MODE_SET);
demo_upd_delay(DELAY);
};

}
---------------------------------------------------------
после компиляции два ерора

------------------------------------------------------------
нашел программу для протеусовского дисплея с контроллером sed1520 на cvavr которая четко работает в протеусе но открыл исходник в cvavr 3.12
скомпелир и выдает 2 error.
---------------------------------------------

#include ‹mega32.h›
#include ‹delay.h›
#include "sed1520.h"
#include "sed1520.c"
#define DELAY 2 /* hundrets of milliseconds (20 -› 2s) */

/* update display (framebuffer to LCD-RAM and delay for t*100 ms */
void demo_upd_delay(unsigned char t)
{ unsigned char i;

lcd_update_all();
for (i=0; i‹t; i++)
{ delay_ms(50);
delay_ms(50);
};
}
void main(void)
{
// Declare your local variables here
unsigned char a,b;

lcd_init(); /* initialize display */

while (1)
{ lcd_erase(); // clear display

// single dots
lcd_dot_set(0,0);
lcd_dot_set(121,0);
lcd_dot_set(0,31);
lcd_dot_set(121,31);
lcd_dot_set(60,15);
demo_upd_delay(DELAY);


//Рамка
lcd_rect(0,0,122,32,LCD_MODE_SET);
lcd_rect(2,2,118,28,LCD_MODE_SET);


//Диагональ

lcd_line(2,2,119,29,LCD_MODE_SET);
lcd_line(119,1,1,29,LCD_MODE_SET);
demo_upd_delay(DELAY);

lcd_erase();

for (a=5;a‹=8;a++) { lcd_circle(60,15,a,LCD_MODE_SET);
demo_upd_delay(DELAY);
lcd_circle(60,15,a,LCD_MODE_CLEAR);
};


// text and fonts

// Пишем русским шрифтом
//Это первая строка клавиатуры
lcd_erase();
lcd_text_p(0,0,&rus_shot,"Ghbdtn dctv! Ehf!!");
lcd_text_p(0,8,&rus_shot,"qwertyuiop[]\\");
lcd_text_p(0,16,&rus_shot,"QWERTYUIOP{}|");
demo_upd_delay(DELAY);
//Вторая строка клавиатуры
lcd_erase();
lcd_text_p(0,8,&rus_shot,"ASDFGHJKL:""");
lcd_text_p(0,16,&rus_shot,"asdfghjkl;'");
demo_upd_delay(DELAY);
//Третья строка клавиатуры
lcd_erase();
lcd_text_p(0,8,&rus_shot,"ZXCVBNM‹›?");
lcd_text_p(0,16,&rus_shot,"zxcvbnm,./");
demo_upd_delay(DELAY);
//Строка с цифрами и доп знаками
lcd_erase();
lcd_text_p(0,8,&rus_shot,"`1234567890-=");
lcd_text_p(0,16,&rus_shot,"~!@#$%^&*()_+ вне таблицы");
demo_upd_delay(DELAY);

//Латинский шрифт
lcd_erase();
//lcd_text_p(0,0,&FONT_FIVE_DOT,"qwertyuiopasdfghjkl ");
lcd_text_p(0,8,&FONT_SEVEN_DOT,"qwertyuiopasdfghjk l");
demo_upd_delay(DELAY);

// inverse
lcd_box(2,2,118,28,LCD_MODE_XOR);
demo_upd_delay(DELAY);

// Большой шрифт for a clock
lcd_erase();
lcd_text_p(4,7,&FONT_EIGHTEEN_DOT,"12:34:56");
demo_upd_delay(DELAY);

// fonts & inverse
//lcd_text(5,0,FONT_NINE_DOT,"EW12A03GLY");
lcd_erase();
lcd_text_p(5,16,&FONT_SEVEN_DOT,"Proteus VSM");
demo_upd_delay(DELAY);
lcd_box(0,0,SCRN_RIGHT+1,SCRN_BOTTOM+1,LCD_MODE_XO R);
demo_upd_delay(DELAY);
lcd_box(0,0,SCRN_RIGHT+1,SCRN_BOTTOM+1,LCD_MODE_XO R);
demo_upd_delay(DELAY);

// bitmap
lcd_erase();
lcd_bitmap(90, 1, &icon1_bmp, LCD_MODE_SET);
demo_upd_delay(DELAY);

lcd_erase();
lcd_bitmap(0, 0, &frame_bmp, LCD_MODE_SET);
demo_upd_delay(DELAY);

lcd_erase();
lcd_bitmap(0, 0, &icon_aist, LCD_MODE_SET);
demo_upd_delay(DELAY);
};

}
---------------------------------------------------------
после компиляции два ерора;

------------------------------------------------------------
Error: D:\LCD-all info\sed1520\SED1520 for CVAVR\sed1520.h(61), #included from: main_sokol.c: storage modifier not allowed in this context
----------------------------------------------------
Error: D:\LCD-all info\sed1520\SED1520 for CVAVR\sed1520.h(72), #included from: main_sokol.c: storage modifier not allowed in this context
----------------------------------------------
и что интересно в двух строчек
в начале программы ,sed1520.h и sed1520.c они синего цвета.может это на что то указывает.

#include "sed1520.h"
#include "sed1520.c"-

Ссылка на комментарий
Поделиться на другие сайты

добрый день

дело как раз в том что если бы прогу написал я и вопросов бы не было

этот исходник с инета и с саита которого наверно уже нет

потому и не разобрался опираясь на свои знания

надежда на знающих и более подготовленных

а что сишник мешает в компиляции?

Ссылка на комментарий
Поделиться на другие сайты

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. 

Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке.

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

/* equate the LCD Controller control signals to their port assignments */
#define LCDDATAPORT  PORTA
#define LCDDATADDR   DDRA
#define LCDCTRLPORT  PORTB
#define LCDCTRLDDR   DDRB
#define LCDCMDPIN    0
#define LCDE1PIN     1
#define LCDE2PIN     2
/* draw modes */
#define LCD_MODE_CLEAR     0
#define LCD_MODE_SET       1
#define LCD_MODE_XOR       2
/* command function equates for SED1520 LCD Display Controller */
#define LCD_DISP_OFF       0xAE    /* turn LCD panel OFF */
#define LCD_DISP_ON        0xAF    /* turn LCD panel ON */
#define LCD_SET_LINE       0xC0    /* set line for COM0 (4 lsbs = ST3:ST2:ST1:ST0) */
#define LCD_SET_PAGE       0xB8    /* set page address (2 lsbs = P1:P0) */
#define LCD_SET_COL        0x00    /* set column address (6 lsbs = Y4:Y4:Y3:Y2:Y1:Y0) */
#define LCD_SET_ADC_NOR    0xA0    /* ADC set for normal direction */
#define LCD_SET_ADC_REV    0xA1    /* ADC set for reverse direction */
#define LCD_STATIC_OFF     0xA4    /* normal drive */
#define LCD_STATIC_ON      0xA5    /* static drive (power save) */
#define LCD_DUTY_16        0xA8    /* driving duty 1/16 */
#define LCD_DUTY_32        0xA9    /* driving duty 1/32 */
#define LCD_SET_MODIFY     0xE0    /* start read-modify-write mode */
#define LCD_CLR_MODIFY     0xEE    /* end read-modify-write mode */
#define LCD_RESET          0xE2    /* soft reset command */
/* LCD screen and bitmap image array consants */
#define LCD_X_BYTES        122
#define LCD_Y_BYTES        4
#define SCRN_LEFT        0
#define SCRN_TOP        0
#define SCRN_RIGHT        121
#define SCRN_BOTTOM        31
/* pixel level bit masks for display */
/* this array is setup to map the order */
/* of bits in a byte to the vertical order */
/* of bits at the LCD controller */
/* control-lines hardware-interface (only "write") */
#define LCD_CMD_MODE()     LCDCTRLPORT &= ~(1<<LCDCMDPIN)
#define LCD_DATA_MODE()    LCDCTRLPORT |=  (1<<LCDCMDPIN)
#define LCD_ENABLE_E1()    LCDCTRLPORT &= ~(1<<LCDE1PIN)
#define LCD_DISABLE_E1()   LCDCTRLPORT |=  (1<<LCDE1PIN)
#define LCD_ENABLE_E2()    LCDCTRLPORT &= ~(1<<LCDE2PIN)
#define LCD_DISABLE_E2()   LCDCTRLPORT |=  (1<<LCDE2PIN)
//Для совместимости с GNU 
//#define pgm_read_byte(x)         (*((unsigned char flash *)(x)))
//#define pgm_read_word(x)         (*((unsigned short flash *)(x)))

/* SED1520 is used with reverse direction (ADC_REV). 
   This value is the address of the leftmost column: */

#define LCD_STARTCOL_REVERSE    19
//***********************************************************************************************************
// for "NULL":
#ifndef NULL
#define NULL 0  
#endif
// Определение структур
flash struct FONT_DEF    // для шрифтов
 {  flash unsigned char store_width;             /* glyph storage width in bytes */   =============   61 =====
    flash unsigned char glyph_height;               /* glyph height for storage */
    flash unsigned char *glyph_table;            /* font table start address in memory */
    flash unsigned char fixed_width;             /* fixed width of glyphs. If zero */
                                                 /* then use the width table. */
    flash unsigned char *width_table;              /* variable width table start adress */
    flash unsigned char glyph_beg;                  /* start ascii offset in table */
    flash unsigned char glyph_end;                 /* end ascii offset in table */
    flash unsigned char glyph_def;                 /* code for undefined glyph code */
};
flash struct IMG_DEF    // для картинки 
 { flash unsigned char width_in_pixels;      /* Image width */     ====================  72=======
   flash unsigned char height_in_pixels;     /* Image height*/
   flash unsigned char *char_table;    /* Image table start address in memory  */
 };
//Выбрать нужные шрифты
//#include "FONT/FONT_FIVE_DOT.h"
//#include "FONT/FONT_SIX_DOT.h"
#include "FONT/FONT_SEVEN_DOT.h"
#include "FONT/FONT_EIGHTEEN_DOT.h"
//#include "FONT/FONT_NINE_DOT.h"
//#include "FONT/FONT_TEN_DOT.h"
//#include "FONT/FONT_FIFTEEN_DOT.h"
#include "FONT/rus_shot.h"
  
//Вставим картинки если нужно
#include "ICON/icon1_bmp.h"
#include "ICON/aist.h"
#include "ICON/frame_bmp.h"

//***********************************************************************************************************


// LCD Global data arrays
/* the LCD display image memory */
flash unsigned char l_mask_array[8] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; /* TODO: avoid or flash */

/* buffer arranged so page memory is sequential in RAM */
unsigned char l_display_array[LCD_Y_BYTES][LCD_X_BYTES];

/* LCD function prototype list */
void lcd_init(void);
void lcd_out_dat( unsigned char dat, unsigned char nctrl);
void lcd_out_ctl(unsigned char cmd,  unsigned char nctrl);
void lcd_fill( unsigned char pattern);
void lcd_erase(void);
void lcd_update( unsigned char top, unsigned char bottom);
void lcd_update_all(void);
void lcd_dot(unsigned char x,unsigned char y,unsigned char mode);

#define lcd_dot_set(x,y)    lcd_dot(x, y, LCD_MODE_SET)
#define lcd_dot_clear(x,y)  lcd_dot(x, y, LCD_MODE_CLEAR);
#define lcd_dot_switch(x,y) lcd_dot(x, y, LCD_MODE_XOR);

void lcd_line(unsigned int x1, unsigned int y1, unsigned int x2, unsigned int y2, unsigned char pixel);

void lcd_rect( unsigned char x, unsigned char y, unsigned char width, unsigned char height,unsigned char mode);
void lcd_box(unsigned char x, unsigned char y, unsigned char width, unsigned char height,  unsigned char mode);
void lcd_circle(unsigned int xCenter,unsigned int yCenter,unsigned int radius,  unsigned char mode);
void lcd_glyph(unsigned char left, unsigned char top, unsigned char width, unsigned char height, unsigned char *glyph_ptr, unsigned char store_width);

void lcd_text_intern(unsigned char left, unsigned char top, flash struct FONT_DEF *FNT,flash char *str, unsigned char inflash);
void lcd_text_p(unsigned char left, unsigned char top, flash struct FONT_DEF *FNT,flash char *str);

#define lcd_text_P(lcdl_,lcdt_,lcdf_,lcds_)  lcd_text_p(lcdl_,lcdt_,lcdf_,PSTR(lcds_))

void lcd_bitmap(unsigned char left,unsigned char top, flash struct IMG_DEF *img_ptr,unsigned char mode);

//LCD_DEBUG
void lcd_test(unsigned char pattern);
void lcd_raw(unsigned char page, unsigned char col, unsigned char nctrl, unsigned char pattern);

Ссылка на комментарий
Поделиться на другие сайты

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Вместо

26 minutes ago, begun said:

flash struct FONT_DEF    // для шрифтов
 {  flash unsigned char store_width;             /* glyph storage width in bytes */   =============   61 =====
    flash unsigned char glyph_height;               /* glyph height for storage */
    flash unsigned char *glyph_table;            /* font table start address in memory */
    flash unsigned char fixed_width;             /* fixed width of glyphs. If zero */
                                                 /* then use the width table. */
    flash unsigned char *width_table;              /* variable width table start adress */
    flash unsigned char glyph_beg;                  /* start ascii offset in table */
    flash unsigned char glyph_end;                 /* end ascii offset in table */
    flash unsigned char glyph_def;                 /* code for undefined glyph code */
};
flash struct IMG_DEF    // для картинки 
 { flash unsigned char width_in_pixels;      /* Image width */     ====================  72=======
   flash unsigned char height_in_pixels;     /* Image height*/
   flash unsigned char *char_table;    /* Image table start address in memory  */
 };

поудаляйте лишние flash. В определении структур оставьте. Как ниже.

27 minutes ago, begun said:

flash struct FONT_DEF    // для шрифтов
 {  unsigned char store_width;             /* glyph storage width in bytes */
    unsigned char glyph_height;               /* glyph height for storage */
    unsigned char *glyph_table;            /* font table start address in memory */
    unsigned char fixed_width;             /* fixed width of glyphs. If zero */
                                                 /* then use the width table. */
    unsigned char *width_table;              /* variable width table start adress */
    unsigned char glyph_beg;                  /* start ascii offset in table */
    unsigned char glyph_end;                 /* end ascii offset in table */
    unsigned char glyph_def;                 /* code for undefined glyph code */
};
flash struct IMG_DEF    // для картинки 
 { unsigned char width_in_pixels;      /* Image width */
   unsigned char height_in_pixels;     /* Image height*/
   unsigned char *char_table;    /* Image table start address in memory  */
 };

 

Ссылка на комментарий
Поделиться на другие сайты

шесть ошибок после вставки

 

Error: sed1520.h: a value of type 'flash unsigned char [1536]' can't be used to initialize an entity of type 'unsigned char *'
---------------------------------------------------------
Error: sed1520.h:a value of type 'flash unsigned char [1458]' can't be used to initialize an entity of type 'unsigned char *'
-------------------------------------------------------
Error: sed1520.h: a value of type 'flash unsigned char [768]' can't be used to initialize an entity of type 'unsigned char *'
-----------------------------------------------------
Error:  sed1520.h: a value of type 'flash unsigned char [120]' can't be used to initialize an entity of type 'unsigned char *'
-------------------------------------------------
Error: sed1520.h: a value of type 'flash unsigned char [512]' can't be used to initialize an entity of type 'unsigned char *'
-----------------------------------------------------
Error: sed1520.h: a value of type 'flash unsigned char [512]' can't be used to initialize an entity of type 'unsigned char *'
 

Ссылка на комментарий
Поделиться на другие сайты

Программа писалась под другой версией компилятора. Поищите более старую версию. Можете скинуть весь проект, я попробую скомпилировать.

Ссылка на комментарий
Поделиться на другие сайты

Для таблиц надо оставить flash

8 hours ago, begun said:

flash struct FONT_DEF    // для шрифтов
 {  unsigned char store_width;             /* glyph storage width in bytes */   =============   61 =====
    unsigned char glyph_height;               /* glyph height for storage */
    flash unsigned char *glyph_table;            /* font table start address in memory */
    unsigned char fixed_width;             /* fixed width of glyphs. If zero */
                                                 /* then use the width table. */
    flash unsigned char *width_table;              /* variable width table start adress */
    unsigned char glyph_beg;                  /* start ascii offset in table */
    unsigned char glyph_end;                 /* end ascii offset in table */
    unsigned char glyph_def;                 /* code for undefined glyph code */
};
flash struct IMG_DEF    // для картинки 
 { unsigned char width_in_pixels;      /* Image width */     ====================  72=======
   unsigned char height_in_pixels;     /* Image height*/
   flash unsigned char *char_table;    /* Image table start address in memory  */
 };

 

Ссылка на комментарий
Поделиться на другие сайты

извиняюсь но после вставки две ошибки

 

Error: C:\sed1520.h(72), #included from: main_sokol.c: declaration syntax error
---------------------------------------------------------
Error: C:\sed1520.h(61), #included from: main_sokol.c: declaration syntax error

а у вас компиляция прошла нормально?

у меня 3.12 cvavr. в ранной  lcd графические не поддерживаются.

Ссылка на комментарий
Поделиться на другие сайты

да, исправился .глазам не верю.

 я в восторге.

как вас поблагодарить.

не буду спрашивать, что там такое было.

вы видимо очень хорошо разбирайтесь в этих вопросах.

большое вам спасибо за проявленное внимание и знания.

не терпится внести свои поправки  и получить конечный результат.

в общем нужно мне вывести свой шрифт и на этом пути была такая загвоздка.

конечно без вас я просто не смог бы что либо сделать

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...