Search found 874 matches

by mnfisher
Wed Mar 13, 2024 4:24 pm
Forum: General
Topic: Protocol j1587
Replies: 80
Views: 6454

Re: Protocol j1587

I think the issue is - your code continually searches for 128 - and as soon as it is found - attempts to read 4 bytes from 'after' the 128.
These may not have been received yet...
So - one solution is wait for 128 to be found then wait until caunt_rx >= 4 and then display the values.

Martin
by mnfisher
Wed Mar 13, 2024 9:44 am
Forum: General
Topic: Protocol j1587
Replies: 80
Views: 6454

Re: Protocol j1587

Just done a quick test I did PutArray(.test, 10) LookForValue(.seek, 1, true, true) Where test = {x,x,x,128,129...) where x is any value and seek[0] = 128 LookForValue just returns 1 if the search value is found. (would the index (or -1) be better?) Then GetByte returns the 'following' data So in th...
by mnfisher
Wed Mar 13, 2024 9:32 am
Forum: General
Topic: Protocol j1587
Replies: 80
Views: 6454

Re: Protocol j1587

You can set a character in a string to 128.as above. Each character is a byte. You can set values using a number as shown or a character (in single quotes) or set the whole string.
by mnfisher
Wed Mar 13, 2024 7:48 am
Forum: General
Topic: Protocol j1587
Replies: 80
Views: 6454

Re: Protocol j1587

You can use LookForValue with a byte array or a string.

byte or string .val[1] // Looking for 1 value
.val[0] = 128

Then use LookForValue(.val, 1, ...)

Martin
by mnfisher
Sun Mar 10, 2024 11:47 am
Forum: General
Topic: Macro from external program memory
Replies: 6
Views: 294

Re: Macro from external program memory

There is a programming axiom "any program can be optimised by at least one instruction" - though taken to its logical conclusion it implies that the best programs have no instructions at all. I would suspect splitting some code to a second MCU will be quite tricky - why not just use one with more me...
by mnfisher
Sun Mar 10, 2024 7:26 am
Forum: General
Topic: Any Pin Interrupt
Replies: 6
Views: 230

Re: Any Pin Interrupt

Which MCU are you using. Some, such as the Atmega 328p in the Arduino only have hardware interrupts on specific pins. Other MCUs allow more pins to be used - look up custom interrupt in the Wiki. There is an Arduino library that mimics interrupts on any pin - but this just checks the pin state regul...
by mnfisher
Fri Mar 08, 2024 11:50 am
Forum: General
Topic: Macro from external program memory
Replies: 6
Views: 294

Re: Macro from external program memory

As Steve says - it's well worth looking if you can refactor your code. There are some fairly simple techniques that can be used to save memory - A couple of simple examples: replace switch statements with an array lookup table if you repeatedly print a string followed by a number then create a macro...
by mnfisher
Thu Mar 07, 2024 1:15 pm
Forum: Tips & Tricks
Topic: ESP32 Bluetooth SPP with IDF v5
Replies: 4
Views: 278

Re: ESP32 Bluetooth SPP with IDF v5

As another aside - there is also an option to use AT commands.
This requires the download of a component from espressif. I'll see if I can get it to compile. It's probably better to use the 'native' component - but it might be useful for some legacy programs.

Martin
by mnfisher
Mon Mar 04, 2024 9:49 pm
Forum: General
Topic: ESP32 power Power Management and sleep
Replies: 7
Views: 331

Re: ESP32 power Power Management and sleep

Hmm - something is awry with the BT - even using espressif examples. I upgraded to v5.2 (brave maybe - not sure I recommend this at the moment) - and get the message/error: I (569) coexist: coex firmware version: 77cd7f8 I (575) main_task: Started on CPU0 I (585) main_task: Calling app_main() I (615...
by mnfisher
Mon Mar 04, 2024 3:01 pm
Forum: General
Topic: ESP32 power Power Management and sleep
Replies: 7
Views: 331

Re: ESP32 power Power Management and sleep

I think most of the variants turn off BT when in sleep too. Not sure if there is an easy solution - unless the BT can get a fix for v5? As a cheat (and a test)- connect BT using C (use the example programs - can add to supplementary code - and rename app_main()) and see if it works with sleep. I can...