LINUX.ORG.RU

Сообщения saufesma

 

Не игнорируется пользователь

 ,

За игнорировал Не работает javascript код (комментарий) static_lab, а он все равно у меня в Уведомлениях висит. Непорядок! Надо чтоб он оттуда пропал.

saufesma
()

Присвоенный порядок переменных меняется местами непонятно где

 ,

let y12, y11, x12, x11, bv;
…………………………..
app.post('/init', (req, res) => {
    ({ y12, y11, x12, x11, bv } = req.body);
    console.log('После присваивания:', { y12, y11, x12, x11, bv });
      console.log(`y12 = ${y12}`);
       console.log(`y11 = ${y11}`);
       console.log(`x12 = ${x12}`);
       console.log(`x11 = ${x11}`);
       console.log(`xv = ${xv}`);
       console.log(`bv = ${bv}`);
});

function FFF(y12, y11, x12, x11, xv, bv) {
   if (y12 === undefined || y11 === undefined || x12 === undefined || x11 === undefined || bv === undefined) {
    // Code to execute if any variable is undefined
       console.log('После вызова FFF:', { y12, y11, x12, x11, xv, bv });
   } else {
       console.log(`y12 = ${y12}`);
       console.log(`y11 = ${y11}`);
       console.log(`x12 = ${x12}`);
       console.log(`x11 = ${x11}`);
       console.log(`xv = ${xv}`);
       console.log(`bv = ${bv}`);
    const deltaX = x12 - x11;
    const deltaY = y12 - y11;
    const m = deltaY / deltaX;
    const Uvel = (m * xv + bv);
    return parseFloat(Uvel.toFixed(1)); 
   }
}; 

самый прикол

$ node item.js
Server is running on port 3000
После присваивания: { y12: 12.3, y11: 4.02, x12: 3.03, x11: 0.9, bv: 0.526 }
y12 = 12.3
y11 = 4.02
x12 = 3.03
x11 = 0.9
xv = 0
bv = 0.526

а это выхлоп FFF(y12, y11, x12, x11, xv, bv)
y12 = 0.9
y11 = 3.03
x12 = 4.02
x11 = 12.3
xv = 1.911 это верно
bv = 0.526 это верно
в верных вариантах вопрос, xv bv меняю местами а числовые значения как присохли к своим местам. Пчему порядок переменных нарушается?

saufesma
()

Не работает javascript код

 ,

Index.html имеет этот код

function uploadData() {
    const y12 = parseFloat(document.getElementById("U2").value);
    const y11 = parseFloat(document.getElementById("U1").value);
    const x12 = parseFloat(document.getElementById("n2").value);
    const x11 = parseFloat(document.getElementById("n1").value);
    const bv = parseFloat(document.getElementById("b").value);

    fetch('/init', {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json'
        },
        body: JSON.stringify({ y12, y11, x12, x11, bv })
    })
    .then(response => response.json())
    .then(data => {
        console.log(data.array);
    })
    .catch(error => {
        console.error('Error:', error);
    });
}

item.js вот этот код

let y12, y11, x12, x11, bv;
……………...
app.post('/init', (req, res) => {
    //const { y12, y11, x12, x11, bv = req.body;
 console.log('Полный req.body:', req.body); // что приходит на сервер

    const y12 = req.body.y12;
    const y11 = req.body.y11;
    const x12 = req.body.x12;
    const x11 = req.body.x11;
    const bv = req.body.bv;

    console.log('После присваивания:', { y12, y11, x12, x11, bv });
});

уже не соображаю. Почему y12, y11, x12, x11, bv undefined в item.js? Нашел ошибку в button теперь в консоли

$ node item.js
Server is running on port 3000
Полный req.body: { y12: 12.3, y11: 4.02, x12: 3.03, x11: 0.9, bv: 0.526 }
После присваивания: { y12: 12.3, y11: 4.02, x12: 3.03, x11: 0.9, bv: 0.526 }
One or more variables are undefined

saufesma
()

Как и где взять profile file for OpenVPN connect

 ,

Ну вот такой вопрос.

saufesma
()

Код который не могу написать на common lisp

 , ,

Emacs lisp code

(mapcar (lambda (chr) 
          (if (eql chr ?.) 
              ?. 
              (- chr ?0))) 
        "123.45")
;; => (1 2 3 46 4 5)  ; . is 46 in ASCII 

Lispworks doesn't go.

Может кто-нибудь сможет перевести этот код на общий Лисп?

Aaa, наверное так

(map 'list '#(lambda (chr) 
          (if (eql chr ?.) 
              ?. 
              (- chr ?0))) 
        "123.45")
;; => попробовать не могу сейчас(1 2 3 46 4 5)  ; . is 46 in ASCII 

saufesma
()

Почему игнорируемые остаются в треде и Уведомлениях?

 ,

Вот такой простой вопрос интересует

saufesma
()

Разработчики электроники, отзовитесь

 , ,

Здесь на форуме есть разрабы электроники такие как Jim Williams автор Analog circuit design and lot of other articles, Bob Pease plenty of articles. Просто интересует какие проекты ведете. И конечно же как вы эти поделки продаете и где их можно купить.

saufesma
()

Atmega8 command in

 ,

Терзают смутные сомнения

in r18, 0x04
in r19, 0x05

Command in reads port. А так как я написал можно? Компилятор ошибок не выдает. Симулировать не на чем в данный момент.

saufesma
()

Как сделать работу в avr-gcc более удобной

 , ,

Покажите какие плюшки и как подключить чтобы было видно как работает код а то после

avr-gcc -mmcu=atmega8 -nostartfiles -Wl,--undefined=_mmcu blink.s -o blink.elf
ничего не видно, а после
vr-objdump -h blink.elf
ничего не понятно. Где синтаксис взять, а то тыкаться устал
.equ DDRB = 0x37  ;ОШИБКА

;;; Blinks LED on PB0 (pin 14) using a simple delay loop.
; blink.s — AVR GAS syntax for avr-gcc

; Symbol definitions (note the comma in .equ)
.equ DDRB,  0x37          ; I/O address of DDRB for ATmega8
.equ PORTB, 0x38          ; I/O address of PORTB
.equ PB0,   0             ; bit number 0

.org 0x0000
rjmp reset                 ; reset vector

reset:
    ldi  r16, (1 << PB0)   ; PB0 is a plain constant
    out  DDRB, r16         ; set PB0 as output

loop:
    ldi r16, (1<<PB0)      ; PB0 high
    out PORTB, r16
    rcall DELAY

    ldi r16, (0<<PB0)      ; PB0 low
    out PORTB, r16
    rcall DELAY
    rjmp loop

DELAY:
    ldi r17, 200
D1: dec r17
    brne D1
    ldi r18, 255
D2: dec r18
    brne D2
	ret

	/* Define the .mmcu section for simavr */
.section .mmcu,"a",@progbits

/* VCD Trace Header: tells simavr to create 'trace.vcd' */
.byte 0x01          /* tag for AVR_MMCU_TAG_VCD_TRACE */
.byte 24            /* size of this chunk */
.asciz "trace.vcd"  /* filename */

/* Trace entry: Monitor PORTB (Address 0x38 for ATmega8) */
.byte 0x02          /* tag for a trace symbol */
.byte 8             /* size */
.byte 0x38          /* address of PORTB in ATmega8 */
.byte 0x01          /* mask (bit 0) */
.asciz "LED_PIN"    /* name of the trace in GTKWave */

.byte 0x00          /* End of section */
	

Вот, что ИИ советует

To make pure-assembler projects behave like they did in AVR Studio, you mainly need to:

Assemble and link via avr-gcc (using the right -mmcu) rather than calling avr-as/avr-ld directly.

Use avr-objcopy and avr-size in the same way as for C, just changing how you pass the source.

Assembling like AVR Studio

Typical command for one .S (or .asm) file:

bash
avr-gcc -mmcu=atmega328p -x assembler-with-cpp -Wa,-gstabs \
  -c main.S -o main.o

Notes:

    -mmcu=... selects the same device as in AVR Studio’s project settings.

    -x assembler-with-cpp lets you use #define, #include, etc., through the C preprocessor (Studio often did that behind the scenes).

    -Wa,options passes options to the assembler; -gstabs or -g lets you debug in GDB/simulavr similarly to Studio’s debug info.
If you don’t want the C preprocessor, just use:
bash
avr-gcc -mmcu=atmega328p -x assembler -c main.S -o main.o
(or rename to .s and drop -x entirely). Linking and startup like Studio

If you want a “full” application with reset vector, interrupt vectors, and the C runtime (like a C project in Studio), you typically:

Provide your own entry label (often _start or similar) in assembly.

Link with the standard libraries and startup from avr-libc via avr-gcc:

bash
avr-gcc -mmcu=atmega328p -Wl,-Map=project.map \
  main.o other.o -o project.elf
If you want only your own hand‑written vectors and no C runtime, you can still use avr-gcc as a driver but add linker flags (linker script, no crt, etc.); for example:
bash
avr-gcc -mmcu=atmega328p -nostartfiles -nostdlib \
  -Wl,-Map=project.map,-Tyour_linker_script.ld \
  main.o -o project.elf
That corresponds more to a “bare” AVR Studio asm project where you manage vector table and initialization yourself. Generating HEX and size info

Same idea as in a C project; just apply to your .elf:

bash
avr-objcopy -O ihex -R .eeprom project.elf project.hex

avr-objcopy -O ihex -j .eeprom --set-section-flags .eeprom=alloc,load \
  --change-section-lma .eeprom=0 \
  project.elf project_eeprom.hex

avr-size -C --mcu=atmega328p project.elf
This will give you HEX and size output very similar to Studio’s. Minimal “AVR Studio‑style” asm Makefile

For an all‑assembly project:

MCU = atmega328p
CC  = avr-gcc
OBJCOPY = avr-objcopy
SIZE = avr-size

ASFLAGS = -mmcu=$(MCU) -x assembler-with-cpp -Wa,-gstabs
LDFLAGS = -mmcu=$(MCU) -Wl,-Map=project.map

all: project.hex

project.elf: main.o
	$(CC) $(LDFLAGS) $^ -o $@

%.o: %.S
	$(CC) $(ASFLAGS) -c $< -o $@

project.hex: project.elf
	$(OBJCOPY) -O ihex -R .eeprom $< $@
	$(SIZE) -C --mcu=$(MCU) $<
saufesma
()

Вот ведь делали вещи! АВК 6

 ,

Вот ведь как, да....

https://sfrolov.livejournal.com/132393.html

saufesma
()

Компьютер Сетунь

 ,

Советский компьютер «Сетунь» — уникальный малый ЭВМ на троичной логике, разработанной в 1959 году в Вычислительном центре МГУ под руководством Николая Брусенцова при участии С. Л. Соболева.

Что это за машина «Сетунь» была первой и единственной серийной ЭВМ, работавшей не в двоичной, а в троичной системе логики (разряды соответствовали степеням тройки, а не двойки).

Всего было изготовлено около пятидесяти машин на Казанском заводе математических машин, значительная часть пошла в вузы СССР для обучения и научных расчётов.

Троичная логика и «триты» Вместо битов (0/1) использовались триты — три состояния (например 0, 1 и 2), что позволяло более компактно представлять числа и алгоритмы.

В памяти минимальной единицей был так называемый «трайт» — слово из шести тритов, что примерно соответствует 9,5 бита в двоичном представлении.

Технические особенности Машина строилась на ферритодиодных элементах: был создан специальный троичный вариант ячейки памяти на базе стандартной двоичной ферритодиодной ячейки Гутенмахера.​

Тактовая частота процессора составляла порядка 200 кГц; по меркам конца 1950‑х это был весьма достойный показатель для экспериментальной архитектуры.​

Программирование и язык Для «Сетуни» был создан собственный язык высокого уровня DSSP, ориентированный на стековую и троичную архитектуру машины.

Использовались нетрадиционные обозначения чисел: отрицательные троичные и девятеричные цифры при печати выводились перевёрнутыми на 180 градусов для наглядного отличия.​

Почему проект закрыли По оценкам разработчиков, троичная логика позволяла выполнять типичные задачи примерно в 1,5 раза быстрее аналогичных двоичных машин того времени за счёт меньшего числа операций.

Тем не менее, проект был свёрнут в начале 1960‑х: сыграли роль бюрократическое сопротивление, ориентация промышленности на двоичные стандарты и нежелание руководства поддерживать «нестандартную» архитектуру.

saufesma
()

Из прошлого

 , ,

saufesma
()

Как у вас, программистов, зарождаются проекты?

 , ,

Все, что меня интересует это какие идеи вами двигают, автоматические считалки или основательные программные продукты такие как Microsoft office.

У меня проекты больше похожи на автоматизированные считалки, а глобальные идеи не приходят.

saufesma
()

Тут есть разработчики электронной аппаратуры?

 , ,

Если есть отзовитесь. Если у кого есть поделки поделитесь. Если не трудно.

saufesma
()

А модераторам тут платят?

 , ,

У меня два вопроса 1 модераторам тут платят? 2. Этот сайт приносит доход владельцу?

saufesma
()

Почему у нас нет таких контор

 , ,

https://common-lisp.net/lisp-companies

Что вы делаете чтобы таковые появились? Вопрос будет решаться радикально. С задержкой по времени чтобы не возникало истерии в обществе. Каждый участник этого треда регистрируется и заносится в список. С последующей отправкой в органы.

saufesma
()

Приходил к кому нибудь заказчик в лице завода

 ,

Заказать разработку автоматизации процесса или программы, скажем, технической считалки? Если да то о чем были эти считалки, какие прцессы?

Перемещено Zhbert из development

saufesma
()

CLIME an EMACS SLIME backend for McCLIM

 , ,

saufesma
()

Не понятно как использовать выхлоп всех доступных функций для работы с объектом

 , ,

Все доступные функции для работы с объектом лежат в прототипе

увидеть их можно так:

<select id="list"></select>
<script>console.dir(document.querySelector('#list').__proto__)</script>

Когда вы используете

console.dir(document.querySelector('#list').__proto__), вы получаете доступ к прототипу (или родительскому объекту) элемента <select> с идентификатором list. Это может быть полезно для понимания свойств и методов, доступных для данного элемента. Что можно получить из console.dir(document.querySelector('#list').__proto__)

Свойства и методы элемента:

Вы увидите все свойства и методы, которые доступны для элемента <select>, включая стандартные методы DOM, такие как: add(): Добавляет новый элемент <option> в список. remove(): Удаляет элемент <option> из списка. item(): Возвращает элемент <option> по индексу. selectedIndex: Свойство, которое указывает индекс выбранного элемента. value: Свойство, которое возвращает или устанавливает значение выбранного элемента.

Свойства HTML:

Вы также увидите свойства, специфичные для HTML-элемента <select>, такие как: length: Количество элементов <option> в списке. multiple: Указывает, может ли пользователь выбрать несколько элементов. name: Имя элемента, которое отправляется на сервер при отправке формы.

События:

Прототип включает методы для работы с событиями, такие как addEventListener() и removeEventListener(), которые позволяют добавлять и удалять обработчики событий для элемента.

Наследование:

Вы также увидите, что прототип элемента <select> наследует свойства и методы от других объектов, таких как HTMLElement и Element, что дает доступ к более общим свойствам и методам, доступным для всех HTML-элементов.

Пример использования

Если вы хотите получить информацию о текущем выбранном элементе в списке, вы можете использовать следующее:

javascript
const selectElement = document.querySelector('#list');
const selectedValue = selectElement.value; // Получаем значение выбранного элемента
const selectedIndex = selectElement.selectedIndex; // Получаем индекс выбранного элемента

console.log(`Выбранное значение: ${selectedValue}, Индекс: ${selectedIndex}`);

Заключение

Использование console.dir() с __proto__ позволяет вам исследовать структуру и методы объекта, что может быть полезно для отладки и понимания возможностей элемента <select> и его взаимодействия с JavaScript.

saufesma
()

Нужна функция для работы с таблицой

 , ,

Перепишите функцию, пожалуйста, чтобы при нажатии на ячейку с числом код пробегает по всем ячейкам таблицы и выдаёт количество ячеек содержащих данное число. И подкрашивает эти ячейки в другой цвет.

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatable" content="ie=edge">
    <title>Document</title>
</head>
  <body>
    <style>
      table, tr, td{
	  border: 1px solid;
  border-collapse: collapse;
}
      </style>
    <table id="myTable">
      <tr>
	<td>string</td>
	<td>4</td>	
      </tr>
            <tr>
	<td>string</td>
	<td>4</td>	
	    </tr>
	          <tr>
	<td>string</td>
	<td>4</td>	
		  </tr>
		        <tr>
	<td>string</td>
	<td>10</td>	
			</tr>
			      <tr>
	<td>string</td>
	<td>12</td>	
      </tr>
	      <tr>
	<td>string</td>
	<td>4</td>	
	      </tr>
	            <tr>
	<td>string</td>
	<td>4</td>	
      </tr>
      </table>
<button onclick="myFunction()">Try it</button>

<script>
function myFunction() {
  alert(document.getElementById("myTable").rows[2].cells[1].innerHTML);
}
</script>
  </body>
</html>

криво нахожу индекс ячейки
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatable" content="ie=edge">
    <title>Document</title>
</head>
<html>
<head>
<style>
   table,
   td {
      border: 1px solid black;
   }
</style>
</head>
<body>
<table id="position1">
  <tr>
    <td onclick="runM(this)">TL</td>
    <td onclick="runM(this)">TC</td>
    <td onclick="runM(this)">TR</td>
  </tr>  
</table>
<script>
     function runM(txt){
	 console.log(txt.cellIndex);
     }
</script>
</body>
</html>

saufesma
()

RSS подписка на новые темы