Bricxcc?

Discussion specific to NXT-G, NXC, NBC, RobotC, Lejos, and more.
fuzzball27
Posts: 103
Joined: 29 Sep 2010, 17:14
Location: US

Re: Bricxcc?

Post by fuzzball27 »

Unfortunately, 32 bit mode did not do the trick... :/ Must be the fantom drivers.
fuzzball27 >>-->
afanofosc
Site Admin
Posts: 1256
Joined: 26 Sep 2010, 19:36
Location: Nashville, TN
Contact:

Re: Bricxcc?

Post by afanofosc »

Can you elaborate on what you did to try 32-bit mode? I think you have to boot the OS using the 32-bit kernel. Read this page: http://support.apple.com/kb/HT3773

It says hold 3 and 2 down while rebooting.

I would set this permanently to boot in 32-bit mode for the time being.
To select the 32-bit kernel for the current startup disk, use the following command in Terminal:

sudo systemsetup -setkernelbootarchitecture i386
The NI VISA layer used by the Fantom drivers is not compatible with the 64-bit kernel. The nipalu framework mentioned in your crash report is part of the NI VISA framework as far as I can tell via Google.

See also

http://digital.ni.com/public.nsf/websea ... enDocument

and

http://digital.ni.com/public.nsf/websea ... enDocument

John Hansen
Multi-platform LEGO MINDSTORMS programming
http://bricxcc.sourceforge.net/
fuzzball27
Posts: 103
Joined: 29 Sep 2010, 17:14
Location: US

Re: Bricxcc?

Post by fuzzball27 »

Initially, I used the "hold down 3 and 2" method for 32 bit mode, but it didn't work. I'll try the command line method now.
fuzzball27 >>-->
fuzzball27
Posts: 103
Joined: 29 Sep 2010, 17:14
Location: US

Re: Bricxcc?

Post by fuzzball27 »

In both method 1 (hold down 3 and 2) and method 2 (the command line method) I verified with the system profiler that I was in 32 bit mode. With both methods, none of the applications worked, and the nbc compiler still considered

Code: Select all

 task main () { 
an invalid command.
The question then is, are the failures/crashes happening because Lion does not have Rosetta? Do the Fantom drivers use Rosetta? Do any of the NXT Tools or the nbc compiler use Rosetta?
fuzzball27 >>-->
afanofosc
Site Admin
Posts: 1256
Joined: 26 Sep 2010, 19:36
Location: Nashville, TN
Contact:

Re: Bricxcc?

Post by afanofosc »

You will have to post the command line you use to launch nbc and the filename of your source code and whether it is a plain text file or not and preferably the full source code file. NBC does not require rosetta. It is a universal binary. So is nxtcc. Can you also post the version of your compiler also (type nbc -help from the Terminal window). I assume your source files have a .nxc file extension. Is that right?

The installer for the Fantom drivers requires rosetta, I believe. But I don't think that the NIVISA layer or the Fantom framework built on top of the NIVISA layer requires rosetta. But the links I provided you with suggest that the NIVISA framework is not compatible with Lion and they state on that page that 3Q 2011 is the expected availability for a version of NIVISA that is compatible with Lion. My guess is that the Fantom drivers will be fixed sometime after National Instruments releases a version of NIVISA that is certified to work with Lion.

John Hansen
Multi-platform LEGO MINDSTORMS programming
http://bricxcc.sourceforge.net/
fuzzball27
Posts: 103
Joined: 29 Sep 2010, 17:14
Location: US

Re: Bricxcc?

Post by fuzzball27 »

I have gotten NXT Tools working in both 32 bit mode and 64 bit mode by changing from a USB connection to a BT connection.
I did forget the .nxc file extension for the compiler, but after fixing the file extension, I have a new error. The error appears in both 32 bit mode and 64 bit mode. I am using a file in plain text format. Here is my code:

Code: Select all

task main () {
    PlayTone(400,400);
    wait(500);
} 
Here is my command line and the compiler message (compiler messages are the same in both 32 bit mode and 64 bit mode):

Code: Select all

HQ:~ MainUser$ /Users/MainUser/Desktop/nbc-1.2.1.r4.osx/NXT/nbc -EF -ER=3  -v=105 /Users/MainUser/Desktop/Test.nxc -O=Test.rxe -d
# Status: Current file = "/Users/MainUser/Test.nxc"
# Status: NXC compilation begins
# Status: Compiling for firmware version 105, NBC/NXC enhanced = TRUE
# Status: Running NXC preprocessor
# Status: Include path = /Users/MainUser/;/Users/MainUser/Desktop/nbc-1.2.1.r4.osx/NXT/;/usr/local/include/nbc/
# Status: Processing include: NBCCommon.h
# Status: NXC init program
# Status: Current file = "NXCDefs.h"
# Status: NXC parse program code
# Status: NXC processing global declarations
# Status: NXC processing procedure block: SetSensorType
# Status: NXC processing global declarations
# Status: NXC processing procedure block: SetSensorMode
# Status: NXC processing global declarations
# Status: NXC processing procedure block: ClearSensor
# Status: NXC processing global declarations
# Status: NXC processing procedure block: ResetSensor
# Status: NXC processing global declarations
# Status: NXC processing procedure block: SetSensor
# Status: NXC processing global declarations
# Status: NXC processing procedure block: SetSensorTouch
# Status: NXC processing global declarations
# Status: NXC processing procedure block: SetSensorLight
# Status: NXC processing global declarations
# Status: NXC processing procedure block: SetSensorSound
# Status: NXC processing global declarations
# Status: NXC processing procedure block: SetSensorLowspeed
# Status: NXC processing global declarations
# Status: NXC processing procedure block: SetSensorUltrasonic
# Status: NXC processing global declarations
# Status: NXC processing procedure block: SetSensorEMeter
# Status: NXC processing global declarations
# Status: NXC processing procedure block: SetSensorTemperature
# Status: NXC processing global declarations
# Status: NXC processing procedure block: ClearScreen
# Status: NXC processing global declarations
# Status: NXC processing procedure block: ClearLine
# Status: NXC processing global declarations
# Status: NXC processing procedure block: SetDisplayFont
# Status: NXC processing global declarations
# Status: NXC processing procedure block: SetDisplayDisplay
# Status: NXC processing global declarations
# Status: NXC processing procedure block: SetDisplayEraseMask
# Status: NXC processing global declarations
# Status: NXC processing procedure block: SetDisplayFlags
# Status: NXC processing global declarations
# Status: NXC processing procedure block: SetDisplayTextLinesCenterFlags
# Status: NXC processing global declarations
# Status: NXC processing procedure block: SetDisplayUpdateMask
# Status: NXC processing global declarations
# Status: NXC processing procedure block: PlaySound
# Status: NXC processing global declarations
# Status: NXC processing procedure block: PlayTones
# Status: NXC processing global declarations
# Status: NXC processing procedure block: Wait
# Status: NXC processing global declarations
# Status: NXC processing procedure block: Yield
# Status: NXC processing global declarations
# Status: NXC processing procedure block: StopAllTasks
# Status: NXC processing global declarations
# Status: NXC processing procedure block: PowerDown
# Status: NXC processing global declarations
# Status: NXC processing procedure block: SleepNow
# Status: NXC processing global declarations
# Status: NXC processing procedure block: RebootInFirmwareMode
# Status: NXC processing global declarations
# Status: NXC processing function block: SensorHTGyro
# Status: NXC processing function block: SensorHTMagnet
# Status: NXC processing function block: SensorHTEOPD
# Status: NXC processing procedure block: SetSensorHTEOPD
# Status: NXC processing global declarations
# Status: NXC processing procedure block: SetSensorHTGyro
# Status: NXC processing global declarations
# Status: NXC processing procedure block: SetSensorHTMagnet
# Status: NXC processing global declarations
# Status: NXC processing procedure block: SetSensorMSPressure
# Status: NXC processing global declarations
# Status: NXC processing procedure block: SetSensorMSDROD
# Status: NXC processing global declarations
# Status: NXC processing procedure block: SetSensorNXTSumoEyes
# Status: NXC processing global declarations
# Status: NXC processing function block: SensorMSPressure
# Status: NXC processing function block: SensorNXTSumoEyes
# Status: NXC processing function block: bcd2dec
# Status: NXC processing function block: fclose
# Status: NXC processing function block: remove
# Status: NXC processing function block: rename
# Status: NXC processing function block: fgetc
# Status: NXC processing function block: fgets
# Status: NXC processing function block: feof
# Status: NXC processing procedure block: set_fopen_size
# Status: NXC processing global declarations
# Status: NXC processing function block: fopen
# Status: NXC processing function block: fflush
# Status: NXC processing function block: fputc
# Status: NXC processing function block: fputs
# Status: NXC processing function block: atoi
# Status: NXC processing function block: atol
# Status: NXC processing function block: labs
# Status: NXC processing function block: strtol
# Status: NXC processing function block: strtoul
# Status: NXC processing function block: div
# Status: NXC processing function block: ldiv
# Status: NXC processing function block: Pos
# Status: NXC processing function block: ByteArrayToStr
# Status: NXC processing procedure block: ByteArrayToStrEx
# Status: NXC processing global declarations
# Status: NXC processing procedure block: StrToByteArray
# Status: NXC processing global declarations
# Status: NXC processing function block: Copy
# Status: NXC processing function block: MidStr
# Status: NXC processing function block: RightStr
# Status: NXC processing function block: LeftStr
# Status: NXC processing function block: strlen
# Status: NXC processing function block: strcat
# Status: NXC processing function block: strncat
# Status: NXC processing function block: strcpy
# Status: NXC processing function block: strncpy
# Status: NXC processing function block: strcmp
# Status: NXC processing function block: strncmp
# Status: NXC processing function block: isupper
# Status: NXC processing function block: islower
# Status: NXC processing function block: isalpha
# Status: NXC processing function block: isdigit
# Status: NXC processing function block: isalnum
# Status: NXC processing function block: isspace
# Status: NXC processing function block: iscntrl
# Status: NXC processing function block: isprint
# Status: NXC processing function block: isgraph
# Status: NXC processing function block: ispunct
# Status: NXC processing function block: isxdigit
# Status: NXC processing function block: toupper
# Status: NXC processing function block: tolower
# Status: NXC processing procedure block: glInit
# Status: NXC processing global declarations
# Status: NXC processing procedure block: glSet
# Status: NXC processing global declarations
# Status: NXC processing function block: glBeginObject
# Status: NXC processing procedure block: glEndObject
# Status: NXC processing global declarations
# Status: NXC processing procedure block: glObjectAction
# Status: NXC processing global declarations
# Status: NXC processing procedure block: glAddVertex
# Status: NXC processing global declarations
# Status: NXC processing procedure block: glBegin
# Status: NXC processing global declarations
# Status: NXC processing procedure block: glEnd
# Status: NXC processing global declarations
# Status: NXC processing procedure block: glBeginRender
# Status: NXC processing global declarations
# Status: NXC processing procedure block: glCallObject
# Status: NXC processing global declarations
# Status: NXC processing procedure block: glFinishRender
# Status: NXC processing global declarations
# Status: NXC processing procedure block: glSetAngleX
# Status: NXC processing global declarations
# Status: NXC processing procedure block: glAddToAngleX
# Status: NXC processing global declarations
# Status: NXC processing procedure block: glSetAngleY
# Status: NXC processing global declarations
# Status: NXC processing procedure block: glAddToAngleY
# Status: NXC processing global declarations
# Status: NXC processing procedure block: glSetAngleZ
# Status: NXC processing global declarations
# Status: NXC processing procedure block: glAddToAngleZ
# Status: NXC processing global declarations
# Status: NXC processing function block: glSin32768
# Status: NXC processing function block: glCos32768
# Status: NXC processing function block: glBox
# Status: NXC processing function block: glCube
# Status: NXC processing function block: glPyramid
# Status: Current file = "/Users/MainUser/Test.nxc"
# Status: NXC processing procedure block: main
# Status: NXC processing global declarations
# Status: NXC generate trailer
# Status: NXC code generation finished
# Status: NBC compilation begins
# Status: Compiling for firmware version 105, NBC/NXC enhanced = TRUE
# Status: Loading NBC system files
# Status: Running NBC Preprocessor
# Status: Include path = /Users/MainUser/;/Users/MainUser/Desktop/nbc-1.2.1.r4.osx/NXT/;/usr/local/include/nbc/
# Status: Processing include: NBCCommon.h
# Status: Compiling NBC source code
# Status: Finished compiling NBC source code
# Status: Finished
# Status: NBC compilation failed.
# Error: Unknown or invalid statement
File "NXTDefs.h" ; line 8455
#   __GetLastResponseInfo(0, __WFRRAvail, __WFRRCmd, __WFRRBuffer, __WFRRStatus)
#----------------------------------------------------------
# Error: Unknown or invalid statement
File "NXTDefs.h" ; line 8462
#   __GetLastResponseInfo(1, __WFRRAvail, __WFRRCmd, __WFRRBuffer, __WFRRStatus)
#----------------------------------------------------------
2 errors during compilation
fuzzball27 >>-->
afanofosc
Site Admin
Posts: 1256
Joined: 26 Sep 2010, 19:36
Location: Nashville, TN
Contact:

Re: Bricxcc?

Post by afanofosc »

Please tell me that you are not running the enhanced NBC/NXC firmware version 1.05 on your NXT? Apparently I need to correct an ifdef problem in NXTDefs.h but really you should not still be using any 1.0x version of the enhanced NBC/NXC firmware. I would not consider running anything less than 1.28 but you would be best off using the very latest build of the enhanced NBC/NXC firmware which you can get from the most recent test release zip in http://bricxcc.sourceforge.net/test_releases/. The lastest build is of version 1.31.

Also, Wait has a capital W rather than a lower case w.

John Hansen
Multi-platform LEGO MINDSTORMS programming
http://bricxcc.sourceforge.net/
fuzzball27
Posts: 103
Joined: 29 Sep 2010, 17:14
Location: US

Re: Bricxcc?

Post by fuzzball27 »

I am not running firmware version 1.05. I have version 1.28 with enhanced firmware. I apologize for the mistakes as I understand they don't make helping me any easier. :oops: Thanks for the help btw :D
Unfortunately I am unable to download the latest firmware, because the NXT Tools utility crashes while trying to download.

I got the compiler working, but unfortunately it is unable to download as well:

Code: Select all

# Status: Finished
Abort trap: 6
I am going to sum up/organize our conversation because I'm a little too confused :s
-NXTCC crashes on opening in both 32 bit mode and 64 bit mode. There is no apparent fix for the time being.
-NXTTools crashes in both 32 bit mode and 64 bit mode, but only when communicating via USB or trying to download firmware. Getting readings via BT works fine in both 32 bit mode and 64 bit mode, and downloading files in NXT Explorer works fine as well (32 and 64 bit).
-The nbc compiler works fine in both 32 and 64 bit mode, but is unable to download programs.

So I see that if there is a way to tell the compiler to put the .rxe file on my computer then I can use NXTTools to download my programs! :)
How might I tell the compiler to output the .rxe file to the computer? Command "-L" ?
fuzzball27 >>-->
Post Reply

Who is online

Users browsing this forum: Semrush [Bot] and 8 guests