Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
en:netzer:process [2012/08/02 21:45] – [Register areas (PABs)] Completed command interface svesch | en:netzer:process [2025/06/11 20:42] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 45: | Line 45: | ||
This PAB is a real SRAM area in the Netzer space. | This PAB is a real SRAM area in the Netzer space. | ||
- | The size is 256 bytes. | + | The size is 128 bytes. |
- | Therefore | + | Therefore |
The common PAB is used as scratch area. | The common PAB is used as scratch area. | ||
The process has exclusive access, no other Netzer software module can change the common PAB. | The process has exclusive access, no other Netzer software module can change the common PAB. | ||
Line 59: | Line 59: | ||
For communication between bit and integer areas a copying via the common PAB can be used. | For communication between bit and integer areas a copying via the common PAB can be used. | ||
- | == Command | + | == Network |
- | For communication between the command interface | + | For communication between the network |
- | //Receiving data from command interface// | + | //Receiving data from network// |
- | Each time the command interface | + | Each time the network |
- | //Sending data to command interface// | + | //Sending data to network// |
- | Writing to one of the integers sends data to the command interface. Afterwards the mailbox flag is set automatically. After the command | + | Writing to one of the integers sends data to the network. Afterwards the mailbox flag is set automatically. After the network |
Line 86: | Line 86: | ||
| 0x0B | RW | SPI_MI latch pin | | 0x8B | RO | SPI_MI port pin | | | 0x0B | RW | SPI_MI latch pin | | 0x8B | RO | SPI_MI port pin | | ||
| 0x0C | RW | SPI_MO latch pin | | 0x8C | RO | SPI_MO port pin | | | 0x0C | RW | SPI_MO latch pin | | 0x8C | RO | SPI_MO port pin | | ||
- | | | | | | 0x8D | RO | Serial TX FiFo ready | | + | | 0x0D | RW | Serial TX FiFo ready / flush | | 0x8D | RO | RTC time is synchronized | |
- | | | | | | 0x8E | RO | Serial | + | | 0x0E | RW | Serial |
- | | | | | | 0x8F | RO | Reserved | + | | 0x0F | RW | Netsocket |
- | | | | | | 0x90-0x97 | RO | Indicators | + | | 0x10 | RW | Netsocket |
+ | | | | | | 0x90-0x97 | ||
+ | | | | | | 0x98-0x9F | RO | Mailbox state for outgoing network | ||
+ | | | | | | 0xA0 | RO | Start flag, TRUE for the first process cycle after start. | ||
== Integer variables == | == Integer variables == | ||
Line 102: | Line 105: | ||
| 0x06 | RW | Top of serial FiFo (Reading: RX, Writing: TX) | | | 0x06 | RW | Top of serial FiFo (Reading: RX, Writing: TX) | | ||
| 0x07 | RW | Accessing top of net socket FiFo (Reading: RX, Writing: TX) | | | 0x07 | RW | Accessing top of net socket FiFo (Reading: RX, Writing: TX) | | ||
- | | 0x10-0x17 | RW | Command interface | + | | 0x08 | RW | Reading delivers the current [[en: |
- | | 0x80 | RO | Ports - All IO port pins in one integer (IO0 is at bit 0 and so on) | | + | | 0x10-0x17 | RW | Network |
- | | 0x81 | RO | [[io#ADC (from Version 1.4 pro)|ADC]] (IO4) - Measured value as 10 Bit value | | + | | 0x18 | RW | Read access: Delivers net socket state, write access: Executes commands on net socket. |
- | | 0x82 | RO | [[io#ADC (from Version 1.4 pro)|ADC]] (IO5) - Measured value as 10 Bit value | | + | | 0x80 | RO | Process scratch register. After a division here the modulo result can be found. | |
+ | | 0x81 | RO | Ports - All IO port pins in one integer (IO0 is at bit 0 and so on) | | ||
+ | | 0x82 | RO | [[io#ADC (from Version 1.4 pro)|ADC]] (IO4) - Measured value as 10 Bit value | | ||
+ | | 0x83 | RO | [[io#ADC (from Version 1.4 pro)|ADC]] (IO5) - Measured value as 10 Bit value | | ||
+ | | 0x84 | RO | RTC Seconds | | ||
+ | | 0x85 | RO | RTC Minutes | | ||
+ | | 0x86 | RO | RTC Hours | | ||
+ | | 0x87 | RO | RTC Day of the Week | | ||
+ | | 0x88 | RO | RTC Day | | ||
+ | | 0x89 | RO | RTC Month | | ||
+ | | 0x8A | RO | RTC Year | | ||
+ | | 0x8B | RO | Returns a random value. | | ||
+ | | 0x8C | RO | [[io#Edge counter (from version 1.4 pro)|Edge counter]] (measured at IO0) - After reading the counter is cleared. | | ||
+ | | 0x8D | RO | [[io#Edge counter (from version 1.4 pro)|Edge counter]] (measured at IO1) - After reading the counter is cleared. | | ||
+ | | 0x8E | RO | [[io#Edge counter (from version 1.4 pro)|Edge counter]] (measured at IO2) - After reading the counter is cleared. | | ||
+ | | 0x90 | RO | The most significant IP address byte of connected peer. Only valid if net socket state is connected. | | ||
+ | | 0x91 | RO | The second most significant IP address byte of connected peer. Only valid if net socket state is connected. | | ||
+ | | 0x92 | RO | The second least significant IP address byte of connected peer. Only valid if net socket state is connected. | | ||
+ | | 0x93 | RO | The least significant IP address byte of connected peer. Only valid if net socket state is connected. | | ||
===== IDE ===== | ===== IDE ===== | ||
+ | |||
+ | The original ldmicro IDE is located [[http:// | ||
+ | Furthermore we have extended the project with a CMake toolchain, where building is also possible for different compilers and IDEs. | ||
+ | Also building on Linux is possible now. | ||
+ | |||
+ | A patch is posted at the ldmicro forums due the lack of version control - hopefully the patch is integrated in future versions. | ||
+ | In the mean time we have started a ldmicro project at [[http:// | ||
+ | |||
+ | Executables (run with Windows and Linux Wine) can be downloaded from here: | ||
<WRAP center round download 60%> | <WRAP center round download 60%> | ||
- | [[http:// | + | {{:bins: |
</ | </ | ||
- | |||
- | |||
Actually all the features of the IDE which can be compiled into interpretable code can be used. | Actually all the features of the IDE which can be compiled into interpretable code can be used. | ||
- | The ADC PWM and UART stuff is not supported by ldmicro for interpreter targets - but that is no problem because the Netzer solves this via its IO register set. | + | The ADC, PWM and UART stuff is not supported by ldmicro for interpreter targets - but that is no problem because the Netzer solves this via its IO register set. |
- | + | ||
For that reason a simple naming convention must be considered. | For that reason a simple naming convention must be considered. | ||
- | |||
- | |||
- | |||
- | |||
==== IO PAB Mapping ==== | ==== IO PAB Mapping ==== |