Re: nuttx user question

2024-04-30 Thread Alan C. Assis
Hi David,

I think we can start creating the missing functions, like
eMBMasterASCIIStart(), I think we could use eMBMasterRTUStart() as
reference.

Probably we will need to modify some timing values, since ASCII delays more
time to transmit data.

Best Regards,

Alan


On Tue, Apr 30, 2024 at 12:36 PM David Welshon 
wrote:

> Ok,
> I have the device setup. I can help test whenever needed.
> David
>
> On Wed, Apr 24, 2024 at 7:17 AM Alan C. Assis  wrote:
>
> > Hi David,
> >
> > I'm glad to help!
> >
> > More people could want this feature, so it is important to fix.
> >
> > Best Regards,
> >
> > Alan
> >
> > On Tuesday, April 23, 2024, David Welshon 
> wrote:
> >
> > > Thank you btw!
> > >
> > > On Tue, Apr 23, 2024 at 9:22 PM David Welshon  >
> > > wrote:
> > >
> > > > I can help test.  I'll have to get a device tomorrow from work first.
> > > I'll
> > > > let you know when I have it setup.
> > > >
> > > > On Tue, Apr 23, 2024 at 8:09 PM Alan C. Assis 
> > wrote:
> > > >
> > > >> David,
> > > >>
> > > >> I fixed the header, but it seems someone did a partial port of
> > > FreeModbus,
> > > >> it is missing many functions for modbus ASCII:
> > > >>
> > > >> mb_m.c: In function 'eMBMasterInit':
> > > >> mb_m.c:176:33: error: 'eMBMasterASCIIStart' undeclared (first use in
> > > this
> > > >> function); did you mean 'eMBMasterTCPInit'?
> > > >>   176 |   pvMBMasterFrameStartCur = eMBMasterASCIIStart;
> > > >>   | ^~~
> > > >>   | eMBMasterTCPInit
> > > >> mb_m.c:176:33: note: each undeclared identifier is reported only
> once
> > > for
> > > >> each function it appears in
> > > >> IN: libs/libc/libc.a -> staging/libc.a mb_m.c:177:32: error:
> > > >> 'eMBMasterASCIIStop' undeclared (first use in this function)
> > > >>   177 |   pvMBMasterFrameStopCur = eMBMasterASCIIStop;
> > > >>   |^~
> > > >> mb_m.c:178:32: error: 'eMBMasterASCIISend' undeclared (first use in
> > this
> > > >> function); did you mean 'eMBMasterClose'?
> > > >>   178 |   peMBMasterFrameSendCur = eMBMasterASCIISend;
> > > >>   |^~
> > > >>   |eMBMasterClose
> > > >> mb_m.c:179:35: error: 'eMBMasterASCIIReceive' undeclared (first use
> in
> > > >> this
> > > >> function); did you mean 'peMBMasterFrameReceiveCur'?
> > > >>   179 |   peMBMasterFrameReceiveCur = eMBMasterASCIIReceive;
> > > >>   |   ^
> > > >>   |   peMBMasterFrameReceiveCur
> > > >> mb_m.c:181:39: error: 'xMBMasterASCIIReceiveFSM' undeclared (first
> use
> > > in
> > > >> this function)
> > > >>   181 |   pxMBMasterFrameCBByteReceived =
> > xMBMasterASCIIReceiveFSM;
> > > >>   |
>  ^~~~
> > > >> mb_m.c:182:43: error: 'xMBMasterASCIITransmitFSM' undeclared (first
> > use
> > > in
> > > >> this function); did you mean 'pxMBMasterFrameCBTransmitFSMCur'?
> > > >>   182 |   pxMBMasterFrameCBTransmitterEmpty =
> > > >> xMBMasterASCIITransmitFSM;
> > > >>   |
> > > >>  ^
> > > >>   |
> > > >> pxMBMasterFrameCBTransmitFSMCur
> > > >> mb_m.c:183:38: error: 'xMBMasterASCIITimerT1SExpired' undeclared
> > (first
> > > >> use
> > > >> in this function)
> > > >>   183 |   pxMBMasterPortCBTimerExpired =
> > > >> xMBMasterASCIITimerT1SExpired;
> > > >>   |
> > > ^
> > > >> mb_m.c:185:17: warning: implicit declaration of function
> > > >> 'eMBMasterASCIIInit'; did you mean 'eMBMasterTCPInit'?
> > > >> [-Wimplicit-function-declaration]
> > > >>   185 |   eStatus = eMBMasterASCIIInit(ucPort, ulBaudRate,
> > eParity);
> > > >>   | ^~
> > > >>   | eMBMasterTCPInit
> > > >> IN: mm/libmm.a -> staging/libmm.a make[2]: ***
> > > >> [/home/alan/nuttxspace/apps/Application.mk:200:
> > > >> mb_m.c.home.alan.nuttxspace.apps.modbus.o] Error 1
> > > >> make[2]: *** Waiting for unfinished jobs
> > > >> make[1]: *** [Makefile:51: /home/alan/nuttxspace/apps/modbus_all]
> > > Error 2
> > > >> make: *** [tools/LibTargets.mk:232: /home/alan/nuttxspace/apps/
> > > libapps.a]
> > > >> Error 2
> > > >>
> > > >> I think those functions should be copied from the original project
> and
> > > >> added.
> > > >>
> > > >> I don't have a device with Modbus ASCII to test, but if you want to
> > help
> > > >> testing I can implement it.
> > > >>
> > > >> Best Regards,
> > > >>
> > > >> Alan
> > > >>
> > > >> On Tue, Apr 23, 2024 at 8:19 PM David Welshon <
> > david.wels...@gmail.com>
> > > >> wrote:
> > > >>
> > > >> > now it can't find the header file it seems
> > > >> >
> > > >> > make[2]: Entering directory '/home/david/nuttxspace/apps/modbus'
> > > >> >
> > > >> > CC: mb_m.c
> > > >> >
> > > >> > arm-none-eabi-gcc -c 

Re: nuttx user question

2024-04-30 Thread David Welshon
Ok,
I have the device setup. I can help test whenever needed.
David

On Wed, Apr 24, 2024 at 7:17 AM Alan C. Assis  wrote:

> Hi David,
>
> I'm glad to help!
>
> More people could want this feature, so it is important to fix.
>
> Best Regards,
>
> Alan
>
> On Tuesday, April 23, 2024, David Welshon  wrote:
>
> > Thank you btw!
> >
> > On Tue, Apr 23, 2024 at 9:22 PM David Welshon 
> > wrote:
> >
> > > I can help test.  I'll have to get a device tomorrow from work first.
> > I'll
> > > let you know when I have it setup.
> > >
> > > On Tue, Apr 23, 2024 at 8:09 PM Alan C. Assis 
> wrote:
> > >
> > >> David,
> > >>
> > >> I fixed the header, but it seems someone did a partial port of
> > FreeModbus,
> > >> it is missing many functions for modbus ASCII:
> > >>
> > >> mb_m.c: In function 'eMBMasterInit':
> > >> mb_m.c:176:33: error: 'eMBMasterASCIIStart' undeclared (first use in
> > this
> > >> function); did you mean 'eMBMasterTCPInit'?
> > >>   176 |   pvMBMasterFrameStartCur = eMBMasterASCIIStart;
> > >>   | ^~~
> > >>   | eMBMasterTCPInit
> > >> mb_m.c:176:33: note: each undeclared identifier is reported only once
> > for
> > >> each function it appears in
> > >> IN: libs/libc/libc.a -> staging/libc.a mb_m.c:177:32: error:
> > >> 'eMBMasterASCIIStop' undeclared (first use in this function)
> > >>   177 |   pvMBMasterFrameStopCur = eMBMasterASCIIStop;
> > >>   |^~
> > >> mb_m.c:178:32: error: 'eMBMasterASCIISend' undeclared (first use in
> this
> > >> function); did you mean 'eMBMasterClose'?
> > >>   178 |   peMBMasterFrameSendCur = eMBMasterASCIISend;
> > >>   |^~
> > >>   |eMBMasterClose
> > >> mb_m.c:179:35: error: 'eMBMasterASCIIReceive' undeclared (first use in
> > >> this
> > >> function); did you mean 'peMBMasterFrameReceiveCur'?
> > >>   179 |   peMBMasterFrameReceiveCur = eMBMasterASCIIReceive;
> > >>   |   ^
> > >>   |   peMBMasterFrameReceiveCur
> > >> mb_m.c:181:39: error: 'xMBMasterASCIIReceiveFSM' undeclared (first use
> > in
> > >> this function)
> > >>   181 |   pxMBMasterFrameCBByteReceived =
> xMBMasterASCIIReceiveFSM;
> > >>   |   ^~~~
> > >> mb_m.c:182:43: error: 'xMBMasterASCIITransmitFSM' undeclared (first
> use
> > in
> > >> this function); did you mean 'pxMBMasterFrameCBTransmitFSMCur'?
> > >>   182 |   pxMBMasterFrameCBTransmitterEmpty =
> > >> xMBMasterASCIITransmitFSM;
> > >>   |
> > >>  ^
> > >>   |
> > >> pxMBMasterFrameCBTransmitFSMCur
> > >> mb_m.c:183:38: error: 'xMBMasterASCIITimerT1SExpired' undeclared
> (first
> > >> use
> > >> in this function)
> > >>   183 |   pxMBMasterPortCBTimerExpired =
> > >> xMBMasterASCIITimerT1SExpired;
> > >>   |
> > ^
> > >> mb_m.c:185:17: warning: implicit declaration of function
> > >> 'eMBMasterASCIIInit'; did you mean 'eMBMasterTCPInit'?
> > >> [-Wimplicit-function-declaration]
> > >>   185 |   eStatus = eMBMasterASCIIInit(ucPort, ulBaudRate,
> eParity);
> > >>   | ^~
> > >>   | eMBMasterTCPInit
> > >> IN: mm/libmm.a -> staging/libmm.a make[2]: ***
> > >> [/home/alan/nuttxspace/apps/Application.mk:200:
> > >> mb_m.c.home.alan.nuttxspace.apps.modbus.o] Error 1
> > >> make[2]: *** Waiting for unfinished jobs
> > >> make[1]: *** [Makefile:51: /home/alan/nuttxspace/apps/modbus_all]
> > Error 2
> > >> make: *** [tools/LibTargets.mk:232: /home/alan/nuttxspace/apps/
> > libapps.a]
> > >> Error 2
> > >>
> > >> I think those functions should be copied from the original project and
> > >> added.
> > >>
> > >> I don't have a device with Modbus ASCII to test, but if you want to
> help
> > >> testing I can implement it.
> > >>
> > >> Best Regards,
> > >>
> > >> Alan
> > >>
> > >> On Tue, Apr 23, 2024 at 8:19 PM David Welshon <
> david.wels...@gmail.com>
> > >> wrote:
> > >>
> > >> > now it can't find the header file it seems
> > >> >
> > >> > make[2]: Entering directory '/home/david/nuttxspace/apps/modbus'
> > >> >
> > >> > CC: mb_m.c
> > >> >
> > >> > arm-none-eabi-gcc -c -Wstrict-prototypes -Wno-attributes
> > >> > -Wno-unknown-pragmas -Wno-psabi -Os -fno-strict-aliasing
> > >> > -fomit-frame-pointer -fno-common -Wall -Wshadow -Wundef
> > >> -ffunction-sections
> > >> > -fdata-sections -mlittle-endian -march=armv7e-m -mtune=cortex-m4
> > >> > -mfloat-abi=soft -mthumb -Wa,-mthumb -Wa,-mimplicit-it=always
> -isystem
> > >> > /home/david/nuttxspace/nuttx/include -D__NuttX__ -DNDEBUG -pipe -I
> > >> > "/home/david/nuttxspace/apps/include" -I
> > >> > /home/david/nuttxspace/apps/modbus/functions -I
> > >> > 

Re: nuttx user question

2024-04-24 Thread Alan C. Assis
Hi David,

I'm glad to help!

More people could want this feature, so it is important to fix.

Best Regards,

Alan

On Tuesday, April 23, 2024, David Welshon  wrote:

> Thank you btw!
>
> On Tue, Apr 23, 2024 at 9:22 PM David Welshon 
> wrote:
>
> > I can help test.  I'll have to get a device tomorrow from work first.
> I'll
> > let you know when I have it setup.
> >
> > On Tue, Apr 23, 2024 at 8:09 PM Alan C. Assis  wrote:
> >
> >> David,
> >>
> >> I fixed the header, but it seems someone did a partial port of
> FreeModbus,
> >> it is missing many functions for modbus ASCII:
> >>
> >> mb_m.c: In function 'eMBMasterInit':
> >> mb_m.c:176:33: error: 'eMBMasterASCIIStart' undeclared (first use in
> this
> >> function); did you mean 'eMBMasterTCPInit'?
> >>   176 |   pvMBMasterFrameStartCur = eMBMasterASCIIStart;
> >>   | ^~~
> >>   | eMBMasterTCPInit
> >> mb_m.c:176:33: note: each undeclared identifier is reported only once
> for
> >> each function it appears in
> >> IN: libs/libc/libc.a -> staging/libc.a mb_m.c:177:32: error:
> >> 'eMBMasterASCIIStop' undeclared (first use in this function)
> >>   177 |   pvMBMasterFrameStopCur = eMBMasterASCIIStop;
> >>   |^~
> >> mb_m.c:178:32: error: 'eMBMasterASCIISend' undeclared (first use in this
> >> function); did you mean 'eMBMasterClose'?
> >>   178 |   peMBMasterFrameSendCur = eMBMasterASCIISend;
> >>   |^~
> >>   |eMBMasterClose
> >> mb_m.c:179:35: error: 'eMBMasterASCIIReceive' undeclared (first use in
> >> this
> >> function); did you mean 'peMBMasterFrameReceiveCur'?
> >>   179 |   peMBMasterFrameReceiveCur = eMBMasterASCIIReceive;
> >>   |   ^
> >>   |   peMBMasterFrameReceiveCur
> >> mb_m.c:181:39: error: 'xMBMasterASCIIReceiveFSM' undeclared (first use
> in
> >> this function)
> >>   181 |   pxMBMasterFrameCBByteReceived = xMBMasterASCIIReceiveFSM;
> >>   |   ^~~~
> >> mb_m.c:182:43: error: 'xMBMasterASCIITransmitFSM' undeclared (first use
> in
> >> this function); did you mean 'pxMBMasterFrameCBTransmitFSMCur'?
> >>   182 |   pxMBMasterFrameCBTransmitterEmpty =
> >> xMBMasterASCIITransmitFSM;
> >>   |
> >>  ^
> >>   |
> >> pxMBMasterFrameCBTransmitFSMCur
> >> mb_m.c:183:38: error: 'xMBMasterASCIITimerT1SExpired' undeclared (first
> >> use
> >> in this function)
> >>   183 |   pxMBMasterPortCBTimerExpired =
> >> xMBMasterASCIITimerT1SExpired;
> >>   |
> ^
> >> mb_m.c:185:17: warning: implicit declaration of function
> >> 'eMBMasterASCIIInit'; did you mean 'eMBMasterTCPInit'?
> >> [-Wimplicit-function-declaration]
> >>   185 |   eStatus = eMBMasterASCIIInit(ucPort, ulBaudRate, eParity);
> >>   | ^~
> >>   | eMBMasterTCPInit
> >> IN: mm/libmm.a -> staging/libmm.a make[2]: ***
> >> [/home/alan/nuttxspace/apps/Application.mk:200:
> >> mb_m.c.home.alan.nuttxspace.apps.modbus.o] Error 1
> >> make[2]: *** Waiting for unfinished jobs
> >> make[1]: *** [Makefile:51: /home/alan/nuttxspace/apps/modbus_all]
> Error 2
> >> make: *** [tools/LibTargets.mk:232: /home/alan/nuttxspace/apps/
> libapps.a]
> >> Error 2
> >>
> >> I think those functions should be copied from the original project and
> >> added.
> >>
> >> I don't have a device with Modbus ASCII to test, but if you want to help
> >> testing I can implement it.
> >>
> >> Best Regards,
> >>
> >> Alan
> >>
> >> On Tue, Apr 23, 2024 at 8:19 PM David Welshon 
> >> wrote:
> >>
> >> > now it can't find the header file it seems
> >> >
> >> > make[2]: Entering directory '/home/david/nuttxspace/apps/modbus'
> >> >
> >> > CC: mb_m.c
> >> >
> >> > arm-none-eabi-gcc -c -Wstrict-prototypes -Wno-attributes
> >> > -Wno-unknown-pragmas -Wno-psabi -Os -fno-strict-aliasing
> >> > -fomit-frame-pointer -fno-common -Wall -Wshadow -Wundef
> >> -ffunction-sections
> >> > -fdata-sections -mlittle-endian -march=armv7e-m -mtune=cortex-m4
> >> > -mfloat-abi=soft -mthumb -Wa,-mthumb -Wa,-mimplicit-it=always -isystem
> >> > /home/david/nuttxspace/nuttx/include -D__NuttX__ -DNDEBUG -pipe -I
> >> > "/home/david/nuttxspace/apps/include" -I
> >> > /home/david/nuttxspace/apps/modbus/functions -I
> >> > /home/david/nuttxspace/apps/modbus/nuttx mb_m.c -o
> >> > mb_m.c.home.david.nuttxspace.apps.modbus.o
> >> >
> >> > mb_m.c:54:12: fatal error: mbascii.h: No such file or directory
> >> >
> >> > 54 | # include "mbascii.h"
> >> >
> >> > | ^~~
> >> >
> >> > compilation terminated.
> >> >
> >> > make[2]: *** [/home/david/nuttxspace/apps/Application.mk:200:
> >> > mb_m.c.home.david.nuttxspace.apps.modbus.o] Error 1
> >> 

Re: nuttx user question

2024-04-23 Thread David Welshon
Thank you btw!

On Tue, Apr 23, 2024 at 9:22 PM David Welshon 
wrote:

> I can help test.  I'll have to get a device tomorrow from work first. I'll
> let you know when I have it setup.
>
> On Tue, Apr 23, 2024 at 8:09 PM Alan C. Assis  wrote:
>
>> David,
>>
>> I fixed the header, but it seems someone did a partial port of FreeModbus,
>> it is missing many functions for modbus ASCII:
>>
>> mb_m.c: In function 'eMBMasterInit':
>> mb_m.c:176:33: error: 'eMBMasterASCIIStart' undeclared (first use in this
>> function); did you mean 'eMBMasterTCPInit'?
>>   176 |   pvMBMasterFrameStartCur = eMBMasterASCIIStart;
>>   | ^~~
>>   | eMBMasterTCPInit
>> mb_m.c:176:33: note: each undeclared identifier is reported only once for
>> each function it appears in
>> IN: libs/libc/libc.a -> staging/libc.a mb_m.c:177:32: error:
>> 'eMBMasterASCIIStop' undeclared (first use in this function)
>>   177 |   pvMBMasterFrameStopCur = eMBMasterASCIIStop;
>>   |^~
>> mb_m.c:178:32: error: 'eMBMasterASCIISend' undeclared (first use in this
>> function); did you mean 'eMBMasterClose'?
>>   178 |   peMBMasterFrameSendCur = eMBMasterASCIISend;
>>   |^~
>>   |eMBMasterClose
>> mb_m.c:179:35: error: 'eMBMasterASCIIReceive' undeclared (first use in
>> this
>> function); did you mean 'peMBMasterFrameReceiveCur'?
>>   179 |   peMBMasterFrameReceiveCur = eMBMasterASCIIReceive;
>>   |   ^
>>   |   peMBMasterFrameReceiveCur
>> mb_m.c:181:39: error: 'xMBMasterASCIIReceiveFSM' undeclared (first use in
>> this function)
>>   181 |   pxMBMasterFrameCBByteReceived = xMBMasterASCIIReceiveFSM;
>>   |   ^~~~
>> mb_m.c:182:43: error: 'xMBMasterASCIITransmitFSM' undeclared (first use in
>> this function); did you mean 'pxMBMasterFrameCBTransmitFSMCur'?
>>   182 |   pxMBMasterFrameCBTransmitterEmpty =
>> xMBMasterASCIITransmitFSM;
>>   |
>>  ^
>>   |
>> pxMBMasterFrameCBTransmitFSMCur
>> mb_m.c:183:38: error: 'xMBMasterASCIITimerT1SExpired' undeclared (first
>> use
>> in this function)
>>   183 |   pxMBMasterPortCBTimerExpired =
>> xMBMasterASCIITimerT1SExpired;
>>   |  ^
>> mb_m.c:185:17: warning: implicit declaration of function
>> 'eMBMasterASCIIInit'; did you mean 'eMBMasterTCPInit'?
>> [-Wimplicit-function-declaration]
>>   185 |   eStatus = eMBMasterASCIIInit(ucPort, ulBaudRate, eParity);
>>   | ^~
>>   | eMBMasterTCPInit
>> IN: mm/libmm.a -> staging/libmm.a make[2]: ***
>> [/home/alan/nuttxspace/apps/Application.mk:200:
>> mb_m.c.home.alan.nuttxspace.apps.modbus.o] Error 1
>> make[2]: *** Waiting for unfinished jobs
>> make[1]: *** [Makefile:51: /home/alan/nuttxspace/apps/modbus_all] Error 2
>> make: *** [tools/LibTargets.mk:232: /home/alan/nuttxspace/apps/libapps.a]
>> Error 2
>>
>> I think those functions should be copied from the original project and
>> added.
>>
>> I don't have a device with Modbus ASCII to test, but if you want to help
>> testing I can implement it.
>>
>> Best Regards,
>>
>> Alan
>>
>> On Tue, Apr 23, 2024 at 8:19 PM David Welshon 
>> wrote:
>>
>> > now it can't find the header file it seems
>> >
>> > make[2]: Entering directory '/home/david/nuttxspace/apps/modbus'
>> >
>> > CC: mb_m.c
>> >
>> > arm-none-eabi-gcc -c -Wstrict-prototypes -Wno-attributes
>> > -Wno-unknown-pragmas -Wno-psabi -Os -fno-strict-aliasing
>> > -fomit-frame-pointer -fno-common -Wall -Wshadow -Wundef
>> -ffunction-sections
>> > -fdata-sections -mlittle-endian -march=armv7e-m -mtune=cortex-m4
>> > -mfloat-abi=soft -mthumb -Wa,-mthumb -Wa,-mimplicit-it=always -isystem
>> > /home/david/nuttxspace/nuttx/include -D__NuttX__ -DNDEBUG -pipe -I
>> > "/home/david/nuttxspace/apps/include" -I
>> > /home/david/nuttxspace/apps/modbus/functions -I
>> > /home/david/nuttxspace/apps/modbus/nuttx mb_m.c -o
>> > mb_m.c.home.david.nuttxspace.apps.modbus.o
>> >
>> > mb_m.c:54:12: fatal error: mbascii.h: No such file or directory
>> >
>> > 54 | # include "mbascii.h"
>> >
>> > | ^~~
>> >
>> > compilation terminated.
>> >
>> > make[2]: *** [/home/david/nuttxspace/apps/Application.mk:200:
>> > mb_m.c.home.david.nuttxspace.apps.modbus.o] Error 1
>> >
>> > make[2]: Leaving directory '/home/david/nuttxspace/apps/modbus'
>> >
>> > make[1]: *** [Makefile:51: /home/david/nuttxspace/apps/modbus_all]
>> Error 2
>> >
>> > make: *** [tools/LibTargets.mk:232:
>> /home/david/nuttxspace/apps/libapps.a]
>> > Error 2
>> >
>> > make[1]: Leaving directory '/home/david/nuttxspace/apps'
>> >
>> > "make all" terminated with exit 

Re: nuttx user question

2024-04-23 Thread David Welshon
I can help test.  I'll have to get a device tomorrow from work first. I'll
let you know when I have it setup.

On Tue, Apr 23, 2024 at 8:09 PM Alan C. Assis  wrote:

> David,
>
> I fixed the header, but it seems someone did a partial port of FreeModbus,
> it is missing many functions for modbus ASCII:
>
> mb_m.c: In function 'eMBMasterInit':
> mb_m.c:176:33: error: 'eMBMasterASCIIStart' undeclared (first use in this
> function); did you mean 'eMBMasterTCPInit'?
>   176 |   pvMBMasterFrameStartCur = eMBMasterASCIIStart;
>   | ^~~
>   | eMBMasterTCPInit
> mb_m.c:176:33: note: each undeclared identifier is reported only once for
> each function it appears in
> IN: libs/libc/libc.a -> staging/libc.a mb_m.c:177:32: error:
> 'eMBMasterASCIIStop' undeclared (first use in this function)
>   177 |   pvMBMasterFrameStopCur = eMBMasterASCIIStop;
>   |^~
> mb_m.c:178:32: error: 'eMBMasterASCIISend' undeclared (first use in this
> function); did you mean 'eMBMasterClose'?
>   178 |   peMBMasterFrameSendCur = eMBMasterASCIISend;
>   |^~
>   |eMBMasterClose
> mb_m.c:179:35: error: 'eMBMasterASCIIReceive' undeclared (first use in this
> function); did you mean 'peMBMasterFrameReceiveCur'?
>   179 |   peMBMasterFrameReceiveCur = eMBMasterASCIIReceive;
>   |   ^
>   |   peMBMasterFrameReceiveCur
> mb_m.c:181:39: error: 'xMBMasterASCIIReceiveFSM' undeclared (first use in
> this function)
>   181 |   pxMBMasterFrameCBByteReceived = xMBMasterASCIIReceiveFSM;
>   |   ^~~~
> mb_m.c:182:43: error: 'xMBMasterASCIITransmitFSM' undeclared (first use in
> this function); did you mean 'pxMBMasterFrameCBTransmitFSMCur'?
>   182 |   pxMBMasterFrameCBTransmitterEmpty =
> xMBMasterASCIITransmitFSM;
>   |   ^
>   |
> pxMBMasterFrameCBTransmitFSMCur
> mb_m.c:183:38: error: 'xMBMasterASCIITimerT1SExpired' undeclared (first use
> in this function)
>   183 |   pxMBMasterPortCBTimerExpired = xMBMasterASCIITimerT1SExpired;
>   |  ^
> mb_m.c:185:17: warning: implicit declaration of function
> 'eMBMasterASCIIInit'; did you mean 'eMBMasterTCPInit'?
> [-Wimplicit-function-declaration]
>   185 |   eStatus = eMBMasterASCIIInit(ucPort, ulBaudRate, eParity);
>   | ^~
>   | eMBMasterTCPInit
> IN: mm/libmm.a -> staging/libmm.a make[2]: ***
> [/home/alan/nuttxspace/apps/Application.mk:200:
> mb_m.c.home.alan.nuttxspace.apps.modbus.o] Error 1
> make[2]: *** Waiting for unfinished jobs
> make[1]: *** [Makefile:51: /home/alan/nuttxspace/apps/modbus_all] Error 2
> make: *** [tools/LibTargets.mk:232: /home/alan/nuttxspace/apps/libapps.a]
> Error 2
>
> I think those functions should be copied from the original project and
> added.
>
> I don't have a device with Modbus ASCII to test, but if you want to help
> testing I can implement it.
>
> Best Regards,
>
> Alan
>
> On Tue, Apr 23, 2024 at 8:19 PM David Welshon 
> wrote:
>
> > now it can't find the header file it seems
> >
> > make[2]: Entering directory '/home/david/nuttxspace/apps/modbus'
> >
> > CC: mb_m.c
> >
> > arm-none-eabi-gcc -c -Wstrict-prototypes -Wno-attributes
> > -Wno-unknown-pragmas -Wno-psabi -Os -fno-strict-aliasing
> > -fomit-frame-pointer -fno-common -Wall -Wshadow -Wundef
> -ffunction-sections
> > -fdata-sections -mlittle-endian -march=armv7e-m -mtune=cortex-m4
> > -mfloat-abi=soft -mthumb -Wa,-mthumb -Wa,-mimplicit-it=always -isystem
> > /home/david/nuttxspace/nuttx/include -D__NuttX__ -DNDEBUG -pipe -I
> > "/home/david/nuttxspace/apps/include" -I
> > /home/david/nuttxspace/apps/modbus/functions -I
> > /home/david/nuttxspace/apps/modbus/nuttx mb_m.c -o
> > mb_m.c.home.david.nuttxspace.apps.modbus.o
> >
> > mb_m.c:54:12: fatal error: mbascii.h: No such file or directory
> >
> > 54 | # include "mbascii.h"
> >
> > | ^~~
> >
> > compilation terminated.
> >
> > make[2]: *** [/home/david/nuttxspace/apps/Application.mk:200:
> > mb_m.c.home.david.nuttxspace.apps.modbus.o] Error 1
> >
> > make[2]: Leaving directory '/home/david/nuttxspace/apps/modbus'
> >
> > make[1]: *** [Makefile:51: /home/david/nuttxspace/apps/modbus_all] Error
> 2
> >
> > make: *** [tools/LibTargets.mk:232:
> /home/david/nuttxspace/apps/libapps.a]
> > Error 2
> >
> > make[1]: Leaving directory '/home/david/nuttxspace/apps'
> >
> > "make all" terminated with exit code 2. Build might be incomplete.
> >
> > On Tue, Apr 23, 2024 at 6:21 PM Alan C. Assis  wrote:
> >
> > > Whoa, you are totally right!
> > >
> > > Currently it 

Re: nuttx user question

2024-04-23 Thread Alan C. Assis
David,

I fixed the header, but it seems someone did a partial port of FreeModbus,
it is missing many functions for modbus ASCII:

mb_m.c: In function 'eMBMasterInit':
mb_m.c:176:33: error: 'eMBMasterASCIIStart' undeclared (first use in this
function); did you mean 'eMBMasterTCPInit'?
  176 |   pvMBMasterFrameStartCur = eMBMasterASCIIStart;
  | ^~~
  | eMBMasterTCPInit
mb_m.c:176:33: note: each undeclared identifier is reported only once for
each function it appears in
IN: libs/libc/libc.a -> staging/libc.a mb_m.c:177:32: error:
'eMBMasterASCIIStop' undeclared (first use in this function)
  177 |   pvMBMasterFrameStopCur = eMBMasterASCIIStop;
  |^~
mb_m.c:178:32: error: 'eMBMasterASCIISend' undeclared (first use in this
function); did you mean 'eMBMasterClose'?
  178 |   peMBMasterFrameSendCur = eMBMasterASCIISend;
  |^~
  |eMBMasterClose
mb_m.c:179:35: error: 'eMBMasterASCIIReceive' undeclared (first use in this
function); did you mean 'peMBMasterFrameReceiveCur'?
  179 |   peMBMasterFrameReceiveCur = eMBMasterASCIIReceive;
  |   ^
  |   peMBMasterFrameReceiveCur
mb_m.c:181:39: error: 'xMBMasterASCIIReceiveFSM' undeclared (first use in
this function)
  181 |   pxMBMasterFrameCBByteReceived = xMBMasterASCIIReceiveFSM;
  |   ^~~~
mb_m.c:182:43: error: 'xMBMasterASCIITransmitFSM' undeclared (first use in
this function); did you mean 'pxMBMasterFrameCBTransmitFSMCur'?
  182 |   pxMBMasterFrameCBTransmitterEmpty = xMBMasterASCIITransmitFSM;
  |   ^
  |
pxMBMasterFrameCBTransmitFSMCur
mb_m.c:183:38: error: 'xMBMasterASCIITimerT1SExpired' undeclared (first use
in this function)
  183 |   pxMBMasterPortCBTimerExpired = xMBMasterASCIITimerT1SExpired;
  |  ^
mb_m.c:185:17: warning: implicit declaration of function
'eMBMasterASCIIInit'; did you mean 'eMBMasterTCPInit'?
[-Wimplicit-function-declaration]
  185 |   eStatus = eMBMasterASCIIInit(ucPort, ulBaudRate, eParity);
  | ^~
  | eMBMasterTCPInit
IN: mm/libmm.a -> staging/libmm.a make[2]: ***
[/home/alan/nuttxspace/apps/Application.mk:200:
mb_m.c.home.alan.nuttxspace.apps.modbus.o] Error 1
make[2]: *** Waiting for unfinished jobs
make[1]: *** [Makefile:51: /home/alan/nuttxspace/apps/modbus_all] Error 2
make: *** [tools/LibTargets.mk:232: /home/alan/nuttxspace/apps/libapps.a]
Error 2

I think those functions should be copied from the original project and
added.

I don't have a device with Modbus ASCII to test, but if you want to help
testing I can implement it.

Best Regards,

Alan

On Tue, Apr 23, 2024 at 8:19 PM David Welshon 
wrote:

> now it can't find the header file it seems
>
> make[2]: Entering directory '/home/david/nuttxspace/apps/modbus'
>
> CC: mb_m.c
>
> arm-none-eabi-gcc -c -Wstrict-prototypes -Wno-attributes
> -Wno-unknown-pragmas -Wno-psabi -Os -fno-strict-aliasing
> -fomit-frame-pointer -fno-common -Wall -Wshadow -Wundef -ffunction-sections
> -fdata-sections -mlittle-endian -march=armv7e-m -mtune=cortex-m4
> -mfloat-abi=soft -mthumb -Wa,-mthumb -Wa,-mimplicit-it=always -isystem
> /home/david/nuttxspace/nuttx/include -D__NuttX__ -DNDEBUG -pipe -I
> "/home/david/nuttxspace/apps/include" -I
> /home/david/nuttxspace/apps/modbus/functions -I
> /home/david/nuttxspace/apps/modbus/nuttx mb_m.c -o
> mb_m.c.home.david.nuttxspace.apps.modbus.o
>
> mb_m.c:54:12: fatal error: mbascii.h: No such file or directory
>
> 54 | # include "mbascii.h"
>
> | ^~~
>
> compilation terminated.
>
> make[2]: *** [/home/david/nuttxspace/apps/Application.mk:200:
> mb_m.c.home.david.nuttxspace.apps.modbus.o] Error 1
>
> make[2]: Leaving directory '/home/david/nuttxspace/apps/modbus'
>
> make[1]: *** [Makefile:51: /home/david/nuttxspace/apps/modbus_all] Error 2
>
> make: *** [tools/LibTargets.mk:232: /home/david/nuttxspace/apps/libapps.a]
> Error 2
>
> make[1]: Leaving directory '/home/david/nuttxspace/apps'
>
> "make all" terminated with exit code 2. Build might be incomplete.
>
> On Tue, Apr 23, 2024 at 6:21 PM Alan C. Assis  wrote:
>
> > Whoa, you are totally right!
> >
> > Currently it is this way:
> >
> >   ifeq ($(CONFIG_MODBUS_SLAVE),y)
> > CSRCS += mb.c
> >   endif
> >
> >   ifeq ($(CONFIG_MB_RTU_MASTER),y)
> > CSRCS += mb_m.c
> >   endif
> >
> > But I think it should be:
> >
> > ifeq ($(CONFIG_MODBUS),y)
> >
> >   ifeq ($(CONFIG_MODBUS_SLAVE),y)
> > CSRCS += mb.c
> >   endif
> >
> >   ifeq ($(CONFIG_MODBUS_MASTER),y)
> > CSRCS += mb_m.c
> >   endif

Re: nuttx user question

2024-04-23 Thread David Welshon
now it can't find the header file it seems

make[2]: Entering directory '/home/david/nuttxspace/apps/modbus'

CC: mb_m.c

arm-none-eabi-gcc -c -Wstrict-prototypes -Wno-attributes
-Wno-unknown-pragmas -Wno-psabi -Os -fno-strict-aliasing
-fomit-frame-pointer -fno-common -Wall -Wshadow -Wundef -ffunction-sections
-fdata-sections -mlittle-endian -march=armv7e-m -mtune=cortex-m4
-mfloat-abi=soft -mthumb -Wa,-mthumb -Wa,-mimplicit-it=always -isystem
/home/david/nuttxspace/nuttx/include -D__NuttX__ -DNDEBUG -pipe -I
"/home/david/nuttxspace/apps/include" -I
/home/david/nuttxspace/apps/modbus/functions -I
/home/david/nuttxspace/apps/modbus/nuttx mb_m.c -o
mb_m.c.home.david.nuttxspace.apps.modbus.o

mb_m.c:54:12: fatal error: mbascii.h: No such file or directory

54 | # include "mbascii.h"

| ^~~

compilation terminated.

make[2]: *** [/home/david/nuttxspace/apps/Application.mk:200:
mb_m.c.home.david.nuttxspace.apps.modbus.o] Error 1

make[2]: Leaving directory '/home/david/nuttxspace/apps/modbus'

make[1]: *** [Makefile:51: /home/david/nuttxspace/apps/modbus_all] Error 2

make: *** [tools/LibTargets.mk:232: /home/david/nuttxspace/apps/libapps.a]
Error 2

make[1]: Leaving directory '/home/david/nuttxspace/apps'

"make all" terminated with exit code 2. Build might be incomplete.

On Tue, Apr 23, 2024 at 6:21 PM Alan C. Assis  wrote:

> Whoa, you are totally right!
>
> Currently it is this way:
>
>   ifeq ($(CONFIG_MODBUS_SLAVE),y)
> CSRCS += mb.c
>   endif
>
>   ifeq ($(CONFIG_MB_RTU_MASTER),y)
> CSRCS += mb_m.c
>   endif
>
> But I think it should be:
>
> ifeq ($(CONFIG_MODBUS),y)
>
>   ifeq ($(CONFIG_MODBUS_SLAVE),y)
> CSRCS += mb.c
>   endif
>
>   ifeq ($(CONFIG_MODBUS_MASTER),y)
> CSRCS += mb_m.c
>   endif
>
> Please test with this modification and let us know.
>
> BR,
>
> Alan
>
> On Tue, Apr 23, 2024 at 6:24 PM David Welshon 
> wrote:
>
> > HI Alan.
> >
> > The problem is my hardware is using the ASCII protocol.  When I disabled
> > ASCII and enabled RTU it compiled.  What I would like is ASCII protocol.
> > It seems like mb_m.c is for modbus master and something like the
> following
> > should be in the makefile in the modbus folder but I could be wrong. I
> will
> > try to follow the trail later
> >
> > ifeq ($(CONFIG_MB_ASCII_MASTER),y)
> >
> > CSRCS += mb_m.c
> >
> > endif
> >
> >
> >
> >
> > On Tue, Apr 23, 2024 at 4:58 PM Alan C. Assis  wrote:
> >
> > > Hi David,
> > >
> > > Actually ASCII and RTU enable equivalent/symetric functions.
> > >
> > > If you search for CONFIG_MB_ASCII_MASTER inside apps/modbus/ you will
> see
> > > it just calls the ASCII related functions.
> > > The config for RTU will call the binary (RTU) related functions.
> > >
> > > Try to disable ASCII master and enable RTU master to confirm.
> > >
> > > BR,
> > >
> > > Alan
> > >
> > > On Tue, Apr 23, 2024 at 4:46 PM David Welshon  >
> > > wrote:
> > >
> > > > When I changed from Modbus ASCII master selected to MOdbus RTU master
> > it
> > > > compiled.
> > > > Is there extra configuration required for ASCII?
> > > >
> > > > On Tue, Apr 23, 2024 at 1:38 PM Alan C. Assis 
> > wrote:
> > > >
> > > > > I just verified the apps/modbus/Makefile and noticed that mb.c is
> > only
> > > > > compiled when CONFIG_MODBUS_SLAVE is selected.
> > > > >
> > > > > It means you are enabling the modbus slave or the modbus example
> > (that
> > > > > assume to be slave).
> > > > >
> > > > > So, don't enable CONFIG_EXAMPLES_MODBUS, only EXAMPLES_MODBUSMASTER
> > > > >
> > > > > Maybe we need to rename CONFIG_EXAMPLES_MODBUS to
> > > > > CONFIG_EXAMPLES_MODBUSSLAVE.
> > > > >
> > > > > Best Regards,
> > > > >
> > > > > Alan
> > > > >
> > > > > On Tue, Apr 23, 2024 at 2:23 PM David Welshon <
> > david.wels...@gmail.com
> > > >
> > > > > wrote:
> > > > >
> > > > > > Thanks for the help and great videos and articles Alan!
> > > > > > I just went through the video tutorial again. Unfortunately,
> > > modifying
> > > > my
> > > > > > own config as well as  the nucleo-f4x1re:f401-nsh configurations
> > per
> > > > the
> > > > > > video still can't find the functions
> > > > > >
> > > > > > On Tue, Apr 23, 2024 at 12:45 PM Alan C. Assis <
> acas...@gmail.com>
> > > > > wrote:
> > > > > >
> > > > > > > Hi David,
> > > > > > >
> > > > > > > These functions are there (see apps/modbus/mb.c for instance).
> > > > > > >
> > > > > > > Did you follow this video tutorial:
> > > > > > > https://www.youtube.com/watch?v=FmJLrG4Ldow
> > > > > > >
> > > > > > > Best Regards,
> > > > > > >
> > > > > > > Alan
> > > > > > >
> > > > > > > On Tue, Apr 23, 2024 at 12:41 PM David Welshon <
> > > > > david.wels...@gmail.com>
> > > > > > > wrote:
> > > > > > >
> > > > > > > > I am trying to get modbus mastermode rs485 example working on
> > > > > > > > nucleo-f4x1re following the example on the youtube channel.
> I
> > am
> > > > > > getting
> > > > > > > > undefined reference errors during linking and am not sure if
> I
> > > need
> > > > > to
> > > > > > > > 

Re: nuttx user question

2024-04-23 Thread Alan C. Assis
Whoa, you are totally right!

Currently it is this way:

  ifeq ($(CONFIG_MODBUS_SLAVE),y)
CSRCS += mb.c
  endif

  ifeq ($(CONFIG_MB_RTU_MASTER),y)
CSRCS += mb_m.c
  endif

But I think it should be:

ifeq ($(CONFIG_MODBUS),y)

  ifeq ($(CONFIG_MODBUS_SLAVE),y)
CSRCS += mb.c
  endif

  ifeq ($(CONFIG_MODBUS_MASTER),y)
CSRCS += mb_m.c
  endif

Please test with this modification and let us know.

BR,

Alan

On Tue, Apr 23, 2024 at 6:24 PM David Welshon 
wrote:

> HI Alan.
>
> The problem is my hardware is using the ASCII protocol.  When I disabled
> ASCII and enabled RTU it compiled.  What I would like is ASCII protocol.
> It seems like mb_m.c is for modbus master and something like the following
> should be in the makefile in the modbus folder but I could be wrong. I will
> try to follow the trail later
>
> ifeq ($(CONFIG_MB_ASCII_MASTER),y)
>
> CSRCS += mb_m.c
>
> endif
>
>
>
>
> On Tue, Apr 23, 2024 at 4:58 PM Alan C. Assis  wrote:
>
> > Hi David,
> >
> > Actually ASCII and RTU enable equivalent/symetric functions.
> >
> > If you search for CONFIG_MB_ASCII_MASTER inside apps/modbus/ you will see
> > it just calls the ASCII related functions.
> > The config for RTU will call the binary (RTU) related functions.
> >
> > Try to disable ASCII master and enable RTU master to confirm.
> >
> > BR,
> >
> > Alan
> >
> > On Tue, Apr 23, 2024 at 4:46 PM David Welshon 
> > wrote:
> >
> > > When I changed from Modbus ASCII master selected to MOdbus RTU master
> it
> > > compiled.
> > > Is there extra configuration required for ASCII?
> > >
> > > On Tue, Apr 23, 2024 at 1:38 PM Alan C. Assis 
> wrote:
> > >
> > > > I just verified the apps/modbus/Makefile and noticed that mb.c is
> only
> > > > compiled when CONFIG_MODBUS_SLAVE is selected.
> > > >
> > > > It means you are enabling the modbus slave or the modbus example
> (that
> > > > assume to be slave).
> > > >
> > > > So, don't enable CONFIG_EXAMPLES_MODBUS, only EXAMPLES_MODBUSMASTER
> > > >
> > > > Maybe we need to rename CONFIG_EXAMPLES_MODBUS to
> > > > CONFIG_EXAMPLES_MODBUSSLAVE.
> > > >
> > > > Best Regards,
> > > >
> > > > Alan
> > > >
> > > > On Tue, Apr 23, 2024 at 2:23 PM David Welshon <
> david.wels...@gmail.com
> > >
> > > > wrote:
> > > >
> > > > > Thanks for the help and great videos and articles Alan!
> > > > > I just went through the video tutorial again. Unfortunately,
> > modifying
> > > my
> > > > > own config as well as  the nucleo-f4x1re:f401-nsh configurations
> per
> > > the
> > > > > video still can't find the functions
> > > > >
> > > > > On Tue, Apr 23, 2024 at 12:45 PM Alan C. Assis 
> > > > wrote:
> > > > >
> > > > > > Hi David,
> > > > > >
> > > > > > These functions are there (see apps/modbus/mb.c for instance).
> > > > > >
> > > > > > Did you follow this video tutorial:
> > > > > > https://www.youtube.com/watch?v=FmJLrG4Ldow
> > > > > >
> > > > > > Best Regards,
> > > > > >
> > > > > > Alan
> > > > > >
> > > > > > On Tue, Apr 23, 2024 at 12:41 PM David Welshon <
> > > > david.wels...@gmail.com>
> > > > > > wrote:
> > > > > >
> > > > > > > I am trying to get modbus mastermode rs485 example working on
> > > > > > > nucleo-f4x1re following the example on the youtube channel.  I
> am
> > > > > getting
> > > > > > > undefined reference errors during linking and am not sure if I
> > need
> > > > to
> > > > > > > modify source or am missing a configuration option.  The
> device I
> > > am
> > > > > > > interacting with is set at a baudrate of 9600 with no parity
> > > instead
> > > > of
> > > > > > the
> > > > > > > baudrate in the video. But other than that I believe I followed
> > the
> > > > > video
> > > > > > > closely.
> > > > > > >
> > > > > > > I started modifying the nsh config up to this point and have
> > > > zerocross
> > > > > > and
> > > > > > > gpio working, but I am stuck at the moment on this rs485 bit.
> > > > > Appreciate
> > > > > > > any help.
> > > > > > > Also, I have not participated in many mailing lists, so if I am
> > in
> > > > the
> > > > > > > wrong place or I am breakin any etiquette rules I apologize in
> > > > advance
> > > > > > and
> > > > > > > appreciate your help finding any etiquette rules or posts to
> > > > straighten
> > > > > > me
> > > > > > > out.
> > > > > > >
> > > > > > > Attached is my build output and config file and below is a
> small
> > > > build
> > > > > > > output snippet.
> > > > > > >
> > > > > > > include -D__NuttX__ -DNDEBUG -D__KERNEL__ -I
> > > > > > > /home/david/nuttxspace/nuttx/arch/arm/src/chip -I
> > > > > > > /home/david/nuttxspace/nuttx/arch/arm/src/common -I
> > > > > > > /home/david/nuttxspace/nuttx/arch/arm/src/armv7-m -I
> > > > > > > /home/david/nuttxspace/nuttx/sched
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> /home/david/nuttxspace/nuttx/boards/arm/stm32/nucleo-f4x1re/scripts/f401re.ld
> > > > > > > -o
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> /home/david/nuttxspace/nuttx/boards/arm/stm32/nucleo-f4x1re/scripts/f401re.ld.tmp

Re: nuttx user question

2024-04-23 Thread David Welshon
HI Alan.

The problem is my hardware is using the ASCII protocol.  When I disabled
ASCII and enabled RTU it compiled.  What I would like is ASCII protocol.
It seems like mb_m.c is for modbus master and something like the following
should be in the makefile in the modbus folder but I could be wrong. I will
try to follow the trail later

ifeq ($(CONFIG_MB_ASCII_MASTER),y)

CSRCS += mb_m.c

endif




On Tue, Apr 23, 2024 at 4:58 PM Alan C. Assis  wrote:

> Hi David,
>
> Actually ASCII and RTU enable equivalent/symetric functions.
>
> If you search for CONFIG_MB_ASCII_MASTER inside apps/modbus/ you will see
> it just calls the ASCII related functions.
> The config for RTU will call the binary (RTU) related functions.
>
> Try to disable ASCII master and enable RTU master to confirm.
>
> BR,
>
> Alan
>
> On Tue, Apr 23, 2024 at 4:46 PM David Welshon 
> wrote:
>
> > When I changed from Modbus ASCII master selected to MOdbus RTU master it
> > compiled.
> > Is there extra configuration required for ASCII?
> >
> > On Tue, Apr 23, 2024 at 1:38 PM Alan C. Assis  wrote:
> >
> > > I just verified the apps/modbus/Makefile and noticed that mb.c is only
> > > compiled when CONFIG_MODBUS_SLAVE is selected.
> > >
> > > It means you are enabling the modbus slave or the modbus example (that
> > > assume to be slave).
> > >
> > > So, don't enable CONFIG_EXAMPLES_MODBUS, only EXAMPLES_MODBUSMASTER
> > >
> > > Maybe we need to rename CONFIG_EXAMPLES_MODBUS to
> > > CONFIG_EXAMPLES_MODBUSSLAVE.
> > >
> > > Best Regards,
> > >
> > > Alan
> > >
> > > On Tue, Apr 23, 2024 at 2:23 PM David Welshon  >
> > > wrote:
> > >
> > > > Thanks for the help and great videos and articles Alan!
> > > > I just went through the video tutorial again. Unfortunately,
> modifying
> > my
> > > > own config as well as  the nucleo-f4x1re:f401-nsh configurations per
> > the
> > > > video still can't find the functions
> > > >
> > > > On Tue, Apr 23, 2024 at 12:45 PM Alan C. Assis 
> > > wrote:
> > > >
> > > > > Hi David,
> > > > >
> > > > > These functions are there (see apps/modbus/mb.c for instance).
> > > > >
> > > > > Did you follow this video tutorial:
> > > > > https://www.youtube.com/watch?v=FmJLrG4Ldow
> > > > >
> > > > > Best Regards,
> > > > >
> > > > > Alan
> > > > >
> > > > > On Tue, Apr 23, 2024 at 12:41 PM David Welshon <
> > > david.wels...@gmail.com>
> > > > > wrote:
> > > > >
> > > > > > I am trying to get modbus mastermode rs485 example working on
> > > > > > nucleo-f4x1re following the example on the youtube channel.  I am
> > > > getting
> > > > > > undefined reference errors during linking and am not sure if I
> need
> > > to
> > > > > > modify source or am missing a configuration option.  The device I
> > am
> > > > > > interacting with is set at a baudrate of 9600 with no parity
> > instead
> > > of
> > > > > the
> > > > > > baudrate in the video. But other than that I believe I followed
> the
> > > > video
> > > > > > closely.
> > > > > >
> > > > > > I started modifying the nsh config up to this point and have
> > > zerocross
> > > > > and
> > > > > > gpio working, but I am stuck at the moment on this rs485 bit.
> > > > Appreciate
> > > > > > any help.
> > > > > > Also, I have not participated in many mailing lists, so if I am
> in
> > > the
> > > > > > wrong place or I am breakin any etiquette rules I apologize in
> > > advance
> > > > > and
> > > > > > appreciate your help finding any etiquette rules or posts to
> > > straighten
> > > > > me
> > > > > > out.
> > > > > >
> > > > > > Attached is my build output and config file and below is a small
> > > build
> > > > > > output snippet.
> > > > > >
> > > > > > include -D__NuttX__ -DNDEBUG -D__KERNEL__ -I
> > > > > > /home/david/nuttxspace/nuttx/arch/arm/src/chip -I
> > > > > > /home/david/nuttxspace/nuttx/arch/arm/src/common -I
> > > > > > /home/david/nuttxspace/nuttx/arch/arm/src/armv7-m -I
> > > > > > /home/david/nuttxspace/nuttx/sched
> > > > > >
> > > > >
> > > >
> > >
> >
> /home/david/nuttxspace/nuttx/boards/arm/stm32/nucleo-f4x1re/scripts/f401re.ld
> > > > > > -o
> > > > > >
> > > > >
> > > >
> > >
> >
> /home/david/nuttxspace/nuttx/boards/arm/stm32/nucleo-f4x1re/scripts/f401re.ld.tmp
> > > > > >
> > > > > > echo "LD: nuttx"
> > > > > >
> > > > > > LD: nuttx
> > > > > >
> > > > > > arm-none-eabi-ld --entry=__start -nostdlib --gc-sections --cref
> > > > > > -Map=/home/david/nuttxspace/nuttx/nuttx.map
> > > > > >
> > > > >
> > > >
> > >
> >
> -T/home/david/nuttxspace/nuttx/boards/arm/stm32/nucleo-f4x1re/scripts/f401re.ld.tmp
> > > > > > -L /home/david/nuttxspace/nuttx/staging -L
> > > > > > /home/david/nuttxspace/nuttx/arch/arm/src/board \
> > > > > >
> > > > > > -o /home/david/nuttxspace/nuttx/nuttx \
> > > > > >
> > > > > > --start-group -lsched -ldrivers -lboards -lc -lmm -larch -lxx
> > -lapps
> > > > -lfs
> > > > > > -lbinfmt -lboard -lboard
> > > > > > /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m/nofp/libgcc.a
> > > > > >
> > > > >
> > > >
> > >
> >
> 

Re: nuttx user question

2024-04-23 Thread Alan C. Assis
Hi David,

Actually ASCII and RTU enable equivalent/symetric functions.

If you search for CONFIG_MB_ASCII_MASTER inside apps/modbus/ you will see
it just calls the ASCII related functions.
The config for RTU will call the binary (RTU) related functions.

Try to disable ASCII master and enable RTU master to confirm.

BR,

Alan

On Tue, Apr 23, 2024 at 4:46 PM David Welshon 
wrote:

> When I changed from Modbus ASCII master selected to MOdbus RTU master it
> compiled.
> Is there extra configuration required for ASCII?
>
> On Tue, Apr 23, 2024 at 1:38 PM Alan C. Assis  wrote:
>
> > I just verified the apps/modbus/Makefile and noticed that mb.c is only
> > compiled when CONFIG_MODBUS_SLAVE is selected.
> >
> > It means you are enabling the modbus slave or the modbus example (that
> > assume to be slave).
> >
> > So, don't enable CONFIG_EXAMPLES_MODBUS, only EXAMPLES_MODBUSMASTER
> >
> > Maybe we need to rename CONFIG_EXAMPLES_MODBUS to
> > CONFIG_EXAMPLES_MODBUSSLAVE.
> >
> > Best Regards,
> >
> > Alan
> >
> > On Tue, Apr 23, 2024 at 2:23 PM David Welshon 
> > wrote:
> >
> > > Thanks for the help and great videos and articles Alan!
> > > I just went through the video tutorial again. Unfortunately, modifying
> my
> > > own config as well as  the nucleo-f4x1re:f401-nsh configurations per
> the
> > > video still can't find the functions
> > >
> > > On Tue, Apr 23, 2024 at 12:45 PM Alan C. Assis 
> > wrote:
> > >
> > > > Hi David,
> > > >
> > > > These functions are there (see apps/modbus/mb.c for instance).
> > > >
> > > > Did you follow this video tutorial:
> > > > https://www.youtube.com/watch?v=FmJLrG4Ldow
> > > >
> > > > Best Regards,
> > > >
> > > > Alan
> > > >
> > > > On Tue, Apr 23, 2024 at 12:41 PM David Welshon <
> > david.wels...@gmail.com>
> > > > wrote:
> > > >
> > > > > I am trying to get modbus mastermode rs485 example working on
> > > > > nucleo-f4x1re following the example on the youtube channel.  I am
> > > getting
> > > > > undefined reference errors during linking and am not sure if I need
> > to
> > > > > modify source or am missing a configuration option.  The device I
> am
> > > > > interacting with is set at a baudrate of 9600 with no parity
> instead
> > of
> > > > the
> > > > > baudrate in the video. But other than that I believe I followed the
> > > video
> > > > > closely.
> > > > >
> > > > > I started modifying the nsh config up to this point and have
> > zerocross
> > > > and
> > > > > gpio working, but I am stuck at the moment on this rs485 bit.
> > > Appreciate
> > > > > any help.
> > > > > Also, I have not participated in many mailing lists, so if I am in
> > the
> > > > > wrong place or I am breakin any etiquette rules I apologize in
> > advance
> > > > and
> > > > > appreciate your help finding any etiquette rules or posts to
> > straighten
> > > > me
> > > > > out.
> > > > >
> > > > > Attached is my build output and config file and below is a small
> > build
> > > > > output snippet.
> > > > >
> > > > > include -D__NuttX__ -DNDEBUG -D__KERNEL__ -I
> > > > > /home/david/nuttxspace/nuttx/arch/arm/src/chip -I
> > > > > /home/david/nuttxspace/nuttx/arch/arm/src/common -I
> > > > > /home/david/nuttxspace/nuttx/arch/arm/src/armv7-m -I
> > > > > /home/david/nuttxspace/nuttx/sched
> > > > >
> > > >
> > >
> >
> /home/david/nuttxspace/nuttx/boards/arm/stm32/nucleo-f4x1re/scripts/f401re.ld
> > > > > -o
> > > > >
> > > >
> > >
> >
> /home/david/nuttxspace/nuttx/boards/arm/stm32/nucleo-f4x1re/scripts/f401re.ld.tmp
> > > > >
> > > > > echo "LD: nuttx"
> > > > >
> > > > > LD: nuttx
> > > > >
> > > > > arm-none-eabi-ld --entry=__start -nostdlib --gc-sections --cref
> > > > > -Map=/home/david/nuttxspace/nuttx/nuttx.map
> > > > >
> > > >
> > >
> >
> -T/home/david/nuttxspace/nuttx/boards/arm/stm32/nucleo-f4x1re/scripts/f401re.ld.tmp
> > > > > -L /home/david/nuttxspace/nuttx/staging -L
> > > > > /home/david/nuttxspace/nuttx/arch/arm/src/board \
> > > > >
> > > > > -o /home/david/nuttxspace/nuttx/nuttx \
> > > > >
> > > > > --start-group -lsched -ldrivers -lboards -lc -lmm -larch -lxx
> -lapps
> > > -lfs
> > > > > -lbinfmt -lboard -lboard
> > > > > /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m/nofp/libgcc.a
> > > > >
> > > >
> > >
> >
> /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m/nofp/libm.a
> > > > > --end-group
> > > > >
> > > > > arm-none-eabi-ld:
> > > > >
> > > >
> > >
> >
> /home/david/nuttxspace/nuttx/staging/libapps.a(modbus_main.c.home.david.nuttxspace.apps.examples.modbus_1.o):
> > > > > in function `modbus_pollthread':
> > > > >
> > > > > modbus_main.c:(.text.modbus_pollthread+0x56): undefined reference
> to
> > > > > `eMBInit'
> > > > >
> > > > > arm-none-eabi-ld: modbus_main.c:(.text.modbus_pollthread+0x82):
> > > undefined
> > > > > reference to `eMBSetSlaveID'
> > > > >
> > > > > arm-none-eabi-ld: modbus_main.c:(.text.modbus_pollthread+0x98):
> > > undefined
> > > > > reference to `eMBClose'
> > > > >
> > > > > arm-none-eabi-ld: 

Re: nuttx user question

2024-04-23 Thread David Welshon
When I changed from Modbus ASCII master selected to MOdbus RTU master it
compiled.
Is there extra configuration required for ASCII?

On Tue, Apr 23, 2024 at 1:38 PM Alan C. Assis  wrote:

> I just verified the apps/modbus/Makefile and noticed that mb.c is only
> compiled when CONFIG_MODBUS_SLAVE is selected.
>
> It means you are enabling the modbus slave or the modbus example (that
> assume to be slave).
>
> So, don't enable CONFIG_EXAMPLES_MODBUS, only EXAMPLES_MODBUSMASTER
>
> Maybe we need to rename CONFIG_EXAMPLES_MODBUS to
> CONFIG_EXAMPLES_MODBUSSLAVE.
>
> Best Regards,
>
> Alan
>
> On Tue, Apr 23, 2024 at 2:23 PM David Welshon 
> wrote:
>
> > Thanks for the help and great videos and articles Alan!
> > I just went through the video tutorial again. Unfortunately, modifying my
> > own config as well as  the nucleo-f4x1re:f401-nsh configurations per the
> > video still can't find the functions
> >
> > On Tue, Apr 23, 2024 at 12:45 PM Alan C. Assis 
> wrote:
> >
> > > Hi David,
> > >
> > > These functions are there (see apps/modbus/mb.c for instance).
> > >
> > > Did you follow this video tutorial:
> > > https://www.youtube.com/watch?v=FmJLrG4Ldow
> > >
> > > Best Regards,
> > >
> > > Alan
> > >
> > > On Tue, Apr 23, 2024 at 12:41 PM David Welshon <
> david.wels...@gmail.com>
> > > wrote:
> > >
> > > > I am trying to get modbus mastermode rs485 example working on
> > > > nucleo-f4x1re following the example on the youtube channel.  I am
> > getting
> > > > undefined reference errors during linking and am not sure if I need
> to
> > > > modify source or am missing a configuration option.  The device I am
> > > > interacting with is set at a baudrate of 9600 with no parity instead
> of
> > > the
> > > > baudrate in the video. But other than that I believe I followed the
> > video
> > > > closely.
> > > >
> > > > I started modifying the nsh config up to this point and have
> zerocross
> > > and
> > > > gpio working, but I am stuck at the moment on this rs485 bit.
> > Appreciate
> > > > any help.
> > > > Also, I have not participated in many mailing lists, so if I am in
> the
> > > > wrong place or I am breakin any etiquette rules I apologize in
> advance
> > > and
> > > > appreciate your help finding any etiquette rules or posts to
> straighten
> > > me
> > > > out.
> > > >
> > > > Attached is my build output and config file and below is a small
> build
> > > > output snippet.
> > > >
> > > > include -D__NuttX__ -DNDEBUG -D__KERNEL__ -I
> > > > /home/david/nuttxspace/nuttx/arch/arm/src/chip -I
> > > > /home/david/nuttxspace/nuttx/arch/arm/src/common -I
> > > > /home/david/nuttxspace/nuttx/arch/arm/src/armv7-m -I
> > > > /home/david/nuttxspace/nuttx/sched
> > > >
> > >
> >
> /home/david/nuttxspace/nuttx/boards/arm/stm32/nucleo-f4x1re/scripts/f401re.ld
> > > > -o
> > > >
> > >
> >
> /home/david/nuttxspace/nuttx/boards/arm/stm32/nucleo-f4x1re/scripts/f401re.ld.tmp
> > > >
> > > > echo "LD: nuttx"
> > > >
> > > > LD: nuttx
> > > >
> > > > arm-none-eabi-ld --entry=__start -nostdlib --gc-sections --cref
> > > > -Map=/home/david/nuttxspace/nuttx/nuttx.map
> > > >
> > >
> >
> -T/home/david/nuttxspace/nuttx/boards/arm/stm32/nucleo-f4x1re/scripts/f401re.ld.tmp
> > > > -L /home/david/nuttxspace/nuttx/staging -L
> > > > /home/david/nuttxspace/nuttx/arch/arm/src/board \
> > > >
> > > > -o /home/david/nuttxspace/nuttx/nuttx \
> > > >
> > > > --start-group -lsched -ldrivers -lboards -lc -lmm -larch -lxx -lapps
> > -lfs
> > > > -lbinfmt -lboard -lboard
> > > > /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m/nofp/libgcc.a
> > > >
> > >
> >
> /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m/nofp/libm.a
> > > > --end-group
> > > >
> > > > arm-none-eabi-ld:
> > > >
> > >
> >
> /home/david/nuttxspace/nuttx/staging/libapps.a(modbus_main.c.home.david.nuttxspace.apps.examples.modbus_1.o):
> > > > in function `modbus_pollthread':
> > > >
> > > > modbus_main.c:(.text.modbus_pollthread+0x56): undefined reference to
> > > > `eMBInit'
> > > >
> > > > arm-none-eabi-ld: modbus_main.c:(.text.modbus_pollthread+0x82):
> > undefined
> > > > reference to `eMBSetSlaveID'
> > > >
> > > > arm-none-eabi-ld: modbus_main.c:(.text.modbus_pollthread+0x98):
> > undefined
> > > > reference to `eMBClose'
> > > >
> > > > arm-none-eabi-ld: modbus_main.c:(.text.modbus_pollthread+0x9e):
> > undefined
> > > > reference to `eMBEnable'
> > > >
> > > > arm-none-eabi-ld: modbus_main.c:(.text.modbus_pollthread+0xbe):
> > undefined
> > > > reference to `eMBPoll'
> > > >
> > > > arm-none-eabi-ld: modbus_main.c:(.text.modbus_pollthread+0xc4):
> > undefined
> > > > reference to `eMBDisable'
> > > >
> > > > arm-none-eabi-ld: modbus_main.c:(.text.modbus_pollthread+0xc8):
> > undefined
> > > > reference to `eMBClose'
> > > >
> > > > make[1]: *** [Makefile:211: nuttx] Error 1
> > > >
> > > > make[1]: Leaving directory
> '/home/david/nuttxspace/nuttx/arch/arm/src'
> > > >
> > > > make: *** [tools/Unix.mk:546: nuttx] Error 2
> > > >
> > > > "make all" 

Re: nuttx user question

2024-04-23 Thread Alan C. Assis
I just verified the apps/modbus/Makefile and noticed that mb.c is only
compiled when CONFIG_MODBUS_SLAVE is selected.

It means you are enabling the modbus slave or the modbus example (that
assume to be slave).

So, don't enable CONFIG_EXAMPLES_MODBUS, only EXAMPLES_MODBUSMASTER

Maybe we need to rename CONFIG_EXAMPLES_MODBUS to
CONFIG_EXAMPLES_MODBUSSLAVE.

Best Regards,

Alan

On Tue, Apr 23, 2024 at 2:23 PM David Welshon 
wrote:

> Thanks for the help and great videos and articles Alan!
> I just went through the video tutorial again. Unfortunately, modifying my
> own config as well as  the nucleo-f4x1re:f401-nsh configurations per the
> video still can't find the functions
>
> On Tue, Apr 23, 2024 at 12:45 PM Alan C. Assis  wrote:
>
> > Hi David,
> >
> > These functions are there (see apps/modbus/mb.c for instance).
> >
> > Did you follow this video tutorial:
> > https://www.youtube.com/watch?v=FmJLrG4Ldow
> >
> > Best Regards,
> >
> > Alan
> >
> > On Tue, Apr 23, 2024 at 12:41 PM David Welshon 
> > wrote:
> >
> > > I am trying to get modbus mastermode rs485 example working on
> > > nucleo-f4x1re following the example on the youtube channel.  I am
> getting
> > > undefined reference errors during linking and am not sure if I need to
> > > modify source or am missing a configuration option.  The device I am
> > > interacting with is set at a baudrate of 9600 with no parity instead of
> > the
> > > baudrate in the video. But other than that I believe I followed the
> video
> > > closely.
> > >
> > > I started modifying the nsh config up to this point and have zerocross
> > and
> > > gpio working, but I am stuck at the moment on this rs485 bit.
> Appreciate
> > > any help.
> > > Also, I have not participated in many mailing lists, so if I am in the
> > > wrong place or I am breakin any etiquette rules I apologize in advance
> > and
> > > appreciate your help finding any etiquette rules or posts to straighten
> > me
> > > out.
> > >
> > > Attached is my build output and config file and below is a small build
> > > output snippet.
> > >
> > > include -D__NuttX__ -DNDEBUG -D__KERNEL__ -I
> > > /home/david/nuttxspace/nuttx/arch/arm/src/chip -I
> > > /home/david/nuttxspace/nuttx/arch/arm/src/common -I
> > > /home/david/nuttxspace/nuttx/arch/arm/src/armv7-m -I
> > > /home/david/nuttxspace/nuttx/sched
> > >
> >
> /home/david/nuttxspace/nuttx/boards/arm/stm32/nucleo-f4x1re/scripts/f401re.ld
> > > -o
> > >
> >
> /home/david/nuttxspace/nuttx/boards/arm/stm32/nucleo-f4x1re/scripts/f401re.ld.tmp
> > >
> > > echo "LD: nuttx"
> > >
> > > LD: nuttx
> > >
> > > arm-none-eabi-ld --entry=__start -nostdlib --gc-sections --cref
> > > -Map=/home/david/nuttxspace/nuttx/nuttx.map
> > >
> >
> -T/home/david/nuttxspace/nuttx/boards/arm/stm32/nucleo-f4x1re/scripts/f401re.ld.tmp
> > > -L /home/david/nuttxspace/nuttx/staging -L
> > > /home/david/nuttxspace/nuttx/arch/arm/src/board \
> > >
> > > -o /home/david/nuttxspace/nuttx/nuttx \
> > >
> > > --start-group -lsched -ldrivers -lboards -lc -lmm -larch -lxx -lapps
> -lfs
> > > -lbinfmt -lboard -lboard
> > > /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m/nofp/libgcc.a
> > >
> >
> /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m/nofp/libm.a
> > > --end-group
> > >
> > > arm-none-eabi-ld:
> > >
> >
> /home/david/nuttxspace/nuttx/staging/libapps.a(modbus_main.c.home.david.nuttxspace.apps.examples.modbus_1.o):
> > > in function `modbus_pollthread':
> > >
> > > modbus_main.c:(.text.modbus_pollthread+0x56): undefined reference to
> > > `eMBInit'
> > >
> > > arm-none-eabi-ld: modbus_main.c:(.text.modbus_pollthread+0x82):
> undefined
> > > reference to `eMBSetSlaveID'
> > >
> > > arm-none-eabi-ld: modbus_main.c:(.text.modbus_pollthread+0x98):
> undefined
> > > reference to `eMBClose'
> > >
> > > arm-none-eabi-ld: modbus_main.c:(.text.modbus_pollthread+0x9e):
> undefined
> > > reference to `eMBEnable'
> > >
> > > arm-none-eabi-ld: modbus_main.c:(.text.modbus_pollthread+0xbe):
> undefined
> > > reference to `eMBPoll'
> > >
> > > arm-none-eabi-ld: modbus_main.c:(.text.modbus_pollthread+0xc4):
> undefined
> > > reference to `eMBDisable'
> > >
> > > arm-none-eabi-ld: modbus_main.c:(.text.modbus_pollthread+0xc8):
> undefined
> > > reference to `eMBClose'
> > >
> > > make[1]: *** [Makefile:211: nuttx] Error 1
> > >
> > > make[1]: Leaving directory '/home/david/nuttxspace/nuttx/arch/arm/src'
> > >
> > > make: *** [tools/Unix.mk:546: nuttx] Error 2
> > >
> > > "make all" terminated with exit code 2. Build might be incomplete.
> > >
> >
>


Re: nuttx user question

2024-04-23 Thread David Welshon
Thanks for the help and great videos and articles Alan!
I just went through the video tutorial again. Unfortunately, modifying my
own config as well as  the nucleo-f4x1re:f401-nsh configurations per the
video still can't find the functions

On Tue, Apr 23, 2024 at 12:45 PM Alan C. Assis  wrote:

> Hi David,
>
> These functions are there (see apps/modbus/mb.c for instance).
>
> Did you follow this video tutorial:
> https://www.youtube.com/watch?v=FmJLrG4Ldow
>
> Best Regards,
>
> Alan
>
> On Tue, Apr 23, 2024 at 12:41 PM David Welshon 
> wrote:
>
> > I am trying to get modbus mastermode rs485 example working on
> > nucleo-f4x1re following the example on the youtube channel.  I am getting
> > undefined reference errors during linking and am not sure if I need to
> > modify source or am missing a configuration option.  The device I am
> > interacting with is set at a baudrate of 9600 with no parity instead of
> the
> > baudrate in the video. But other than that I believe I followed the video
> > closely.
> >
> > I started modifying the nsh config up to this point and have zerocross
> and
> > gpio working, but I am stuck at the moment on this rs485 bit.  Appreciate
> > any help.
> > Also, I have not participated in many mailing lists, so if I am in the
> > wrong place or I am breakin any etiquette rules I apologize in advance
> and
> > appreciate your help finding any etiquette rules or posts to straighten
> me
> > out.
> >
> > Attached is my build output and config file and below is a small build
> > output snippet.
> >
> > include -D__NuttX__ -DNDEBUG -D__KERNEL__ -I
> > /home/david/nuttxspace/nuttx/arch/arm/src/chip -I
> > /home/david/nuttxspace/nuttx/arch/arm/src/common -I
> > /home/david/nuttxspace/nuttx/arch/arm/src/armv7-m -I
> > /home/david/nuttxspace/nuttx/sched
> >
> /home/david/nuttxspace/nuttx/boards/arm/stm32/nucleo-f4x1re/scripts/f401re.ld
> > -o
> >
> /home/david/nuttxspace/nuttx/boards/arm/stm32/nucleo-f4x1re/scripts/f401re.ld.tmp
> >
> > echo "LD: nuttx"
> >
> > LD: nuttx
> >
> > arm-none-eabi-ld --entry=__start -nostdlib --gc-sections --cref
> > -Map=/home/david/nuttxspace/nuttx/nuttx.map
> >
> -T/home/david/nuttxspace/nuttx/boards/arm/stm32/nucleo-f4x1re/scripts/f401re.ld.tmp
> > -L /home/david/nuttxspace/nuttx/staging -L
> > /home/david/nuttxspace/nuttx/arch/arm/src/board \
> >
> > -o /home/david/nuttxspace/nuttx/nuttx \
> >
> > --start-group -lsched -ldrivers -lboards -lc -lmm -larch -lxx -lapps -lfs
> > -lbinfmt -lboard -lboard
> > /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m/nofp/libgcc.a
> >
> /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m/nofp/libm.a
> > --end-group
> >
> > arm-none-eabi-ld:
> >
> /home/david/nuttxspace/nuttx/staging/libapps.a(modbus_main.c.home.david.nuttxspace.apps.examples.modbus_1.o):
> > in function `modbus_pollthread':
> >
> > modbus_main.c:(.text.modbus_pollthread+0x56): undefined reference to
> > `eMBInit'
> >
> > arm-none-eabi-ld: modbus_main.c:(.text.modbus_pollthread+0x82): undefined
> > reference to `eMBSetSlaveID'
> >
> > arm-none-eabi-ld: modbus_main.c:(.text.modbus_pollthread+0x98): undefined
> > reference to `eMBClose'
> >
> > arm-none-eabi-ld: modbus_main.c:(.text.modbus_pollthread+0x9e): undefined
> > reference to `eMBEnable'
> >
> > arm-none-eabi-ld: modbus_main.c:(.text.modbus_pollthread+0xbe): undefined
> > reference to `eMBPoll'
> >
> > arm-none-eabi-ld: modbus_main.c:(.text.modbus_pollthread+0xc4): undefined
> > reference to `eMBDisable'
> >
> > arm-none-eabi-ld: modbus_main.c:(.text.modbus_pollthread+0xc8): undefined
> > reference to `eMBClose'
> >
> > make[1]: *** [Makefile:211: nuttx] Error 1
> >
> > make[1]: Leaving directory '/home/david/nuttxspace/nuttx/arch/arm/src'
> >
> > make: *** [tools/Unix.mk:546: nuttx] Error 2
> >
> > "make all" terminated with exit code 2. Build might be incomplete.
> >
>


Re: nuttx user question

2024-04-23 Thread Alan C. Assis
Hi David,

These functions are there (see apps/modbus/mb.c for instance).

Did you follow this video tutorial:
https://www.youtube.com/watch?v=FmJLrG4Ldow

Best Regards,

Alan

On Tue, Apr 23, 2024 at 12:41 PM David Welshon 
wrote:

> I am trying to get modbus mastermode rs485 example working on
> nucleo-f4x1re following the example on the youtube channel.  I am getting
> undefined reference errors during linking and am not sure if I need to
> modify source or am missing a configuration option.  The device I am
> interacting with is set at a baudrate of 9600 with no parity instead of the
> baudrate in the video. But other than that I believe I followed the video
> closely.
>
> I started modifying the nsh config up to this point and have zerocross and
> gpio working, but I am stuck at the moment on this rs485 bit.  Appreciate
> any help.
> Also, I have not participated in many mailing lists, so if I am in the
> wrong place or I am breakin any etiquette rules I apologize in advance and
> appreciate your help finding any etiquette rules or posts to straighten me
> out.
>
> Attached is my build output and config file and below is a small build
> output snippet.
>
> include -D__NuttX__ -DNDEBUG -D__KERNEL__ -I
> /home/david/nuttxspace/nuttx/arch/arm/src/chip -I
> /home/david/nuttxspace/nuttx/arch/arm/src/common -I
> /home/david/nuttxspace/nuttx/arch/arm/src/armv7-m -I
> /home/david/nuttxspace/nuttx/sched
> /home/david/nuttxspace/nuttx/boards/arm/stm32/nucleo-f4x1re/scripts/f401re.ld
> -o
> /home/david/nuttxspace/nuttx/boards/arm/stm32/nucleo-f4x1re/scripts/f401re.ld.tmp
>
> echo "LD: nuttx"
>
> LD: nuttx
>
> arm-none-eabi-ld --entry=__start -nostdlib --gc-sections --cref
> -Map=/home/david/nuttxspace/nuttx/nuttx.map
> -T/home/david/nuttxspace/nuttx/boards/arm/stm32/nucleo-f4x1re/scripts/f401re.ld.tmp
> -L /home/david/nuttxspace/nuttx/staging -L
> /home/david/nuttxspace/nuttx/arch/arm/src/board \
>
> -o /home/david/nuttxspace/nuttx/nuttx \
>
> --start-group -lsched -ldrivers -lboards -lc -lmm -larch -lxx -lapps -lfs
> -lbinfmt -lboard -lboard
> /usr/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m/nofp/libgcc.a
> /usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/lib/thumb/v7e-m/nofp/libm.a
> --end-group
>
> arm-none-eabi-ld:
> /home/david/nuttxspace/nuttx/staging/libapps.a(modbus_main.c.home.david.nuttxspace.apps.examples.modbus_1.o):
> in function `modbus_pollthread':
>
> modbus_main.c:(.text.modbus_pollthread+0x56): undefined reference to
> `eMBInit'
>
> arm-none-eabi-ld: modbus_main.c:(.text.modbus_pollthread+0x82): undefined
> reference to `eMBSetSlaveID'
>
> arm-none-eabi-ld: modbus_main.c:(.text.modbus_pollthread+0x98): undefined
> reference to `eMBClose'
>
> arm-none-eabi-ld: modbus_main.c:(.text.modbus_pollthread+0x9e): undefined
> reference to `eMBEnable'
>
> arm-none-eabi-ld: modbus_main.c:(.text.modbus_pollthread+0xbe): undefined
> reference to `eMBPoll'
>
> arm-none-eabi-ld: modbus_main.c:(.text.modbus_pollthread+0xc4): undefined
> reference to `eMBDisable'
>
> arm-none-eabi-ld: modbus_main.c:(.text.modbus_pollthread+0xc8): undefined
> reference to `eMBClose'
>
> make[1]: *** [Makefile:211: nuttx] Error 1
>
> make[1]: Leaving directory '/home/david/nuttxspace/nuttx/arch/arm/src'
>
> make: *** [tools/Unix.mk:546: nuttx] Error 2
>
> "make all" terminated with exit code 2. Build might be incomplete.
>